00a09c10 83ec0c sub esp, 0xc
00a09c13 53 push ebx
00a09c14 55 push ebp
00a09c15 bb20000000 mov ebx, 0x20
00a09c1a 56 push esi
00a09c1b 8bd3 mov edx, ebx
00a09c1d 8bf1 mov esi, ecx
00a09c1f e88c92a0ff call 0x412eb0
00a09c24 8be8 mov ebp, eax
00a09c26 896c240c mov dword ptr [esp + 0xc], ebp
00a09c2a 396e28 cmp dword ptr [esi + 0x28], ebp
00a09c2d 0f83c6000000 jae 0xa09cf9
00a09c33 57 push edi
00a09c34 395e38 cmp dword ptr [esi + 0x38], ebx
00a09c37 7d77 jge 0xa09cb0
00a09c39 8da42400000000 lea esp, [esp]
00a09c40 8b5604 mov edx, dword ptr [esi + 4]
00a09c43 395628 cmp dword ptr [esi + 0x28], edx
00a09c46 7c36 jl 0xa09c7e
00a09c48 8b463c mov eax, dword ptr [esi + 0x3c]
00a09c4b 85c0 test eax, eax
00a09c4d 7504 jne 0xa09c53
00a09c4f 33ff xor edi, edi
00a09c51 eb23 jmp 0xa09c76
00a09c53 8b4e40 mov ecx, dword ptr [esi + 0x40]
00a09c56 51 push ecx
00a09c57 8b0e mov ecx, dword ptr [esi]
00a09c59 ffd0 call eax
00a09c5b 8bf8 mov edi, eax
00a09c5d 85ff test edi, edi
00a09c5f 7e15 jle 0xa09c76
00a09c61 8b4604 mov eax, dword ptr [esi + 4]
00a09c64 3bf8 cmp edi, eax
00a09c66 7d0e jge 0xa09c76
00a09c68 8b16 mov edx, dword ptr [esi]
00a09c6a 8bca mov ecx, edx
00a09c6c 2bcf sub ecx, edi
00a09c6e 57 push edi
00a09c6f 03c8 add ecx, eax
00a09c71 e84abd3800 call 0xd959c0
00a09c76 8b5604 mov edx, dword ptr [esi + 4]
00a09c79 2bd7 sub edx, edi
00a09c7b 895628 mov dword ptr [esi + 0x28], edx
00a09c7e 8b4e28 mov ecx, dword ptr [esi + 0x28]
00a09c81 8b7e30 mov edi, dword ptr [esi + 0x30]
00a09c84 8b6e34 mov ebp, dword ptr [esi + 0x34]
00a09c87 8b06 mov eax, dword ptr [esi]
00a09c89 0fb60401 movzx eax, byte ptr [ecx + eax]
00a09c8d 83463808 add dword ptr [esi + 0x38], 8
00a09c91 0fa4fd08 shld ebp, edi, 8
00a09c95 99 cdq 
00a09c96 c1e708 shl edi, 8
00a09c99 0bc7 or eax, edi
00a09c9b 0bd5 or edx, ebp
00a09c9d 41 inc ecx
00a09c9e 894630 mov dword ptr [esi + 0x30], eax
00a09ca1 895634 mov dword ptr [esi + 0x34], edx
00a09ca4 894e28 mov dword ptr [esi + 0x28], ecx
00a09ca7 395e38 cmp dword ptr [esi + 0x38], ebx
00a09caa 7c94 jl 0xa09c40
00a09cac 8b6c2410 mov ebp, dword ptr [esp + 0x10]
00a09cb0 8b7e38 mov edi, dword ptr [esi + 0x38]
00a09cb3 8b4630 mov eax, dword ptr [esi + 0x30]
00a09cb6 8b5634 mov edx, dword ptr [esi + 0x34]
00a09cb9 83c7e0 add edi, -0x20
00a09cbc 8bcf mov ecx, edi
00a09cbe e8ed944100 call 0xe231b0
00a09cc3 89542418 mov dword ptr [esp + 0x18], edx
00a09cc7 8b15a807f201 mov edx, dword ptr [0x1f207a8]
00a09ccd 8bc8 mov ecx, eax
00a09ccf 897e38 mov dword ptr [esi + 0x38], edi
00a09cd2 c1e918 shr ecx, 0x18
00a09cd5 83bab40c350000 cmp dword ptr [edx + 0x350cb4], 0
00a09cdc 7411 je 0xa09cef
00a09cde 8b8c8a9c0c3500 mov ecx, dword ptr [edx + ecx*4 + 0x350c9c]
00a09ce5 8b39 mov edi, dword ptr [ecx]
00a09ce7 8bd0 mov edx, eax
00a09ce9 8b471c mov eax, dword ptr [edi + 0x1c]
00a09cec 56 push esi
00a09ced ffd0 call eax
00a09cef 396e28 cmp dword ptr [esi + 0x28], ebp
00a09cf2 0f823cffffff jb 0xa09c34
00a09cf8 5f pop edi
00a09cf9 5e pop esi
00a09cfa 5d pop ebp
00a09cfb 5b pop ebx
00a09cfc 83c40c add esp, 0xc
00a09cff c3 ret 
00a09d00 a1a807f201 mov eax, dword ptr [0x1f207a8]
00a09d05 83b8b40c350000 cmp dword ptr [eax + 0x350cb4], 0
00a09d0c 7407 je 0xa09d15
00a09d0e 8b80b00c3500 mov eax, dword ptr [eax + 0x350cb0]
00a09d14 c3 ret 
00a09d15 33c0 xor eax, eax
00a09d17 c3 ret 
00a09d18 cc int3 
00a09d19 cc int3 
00a09d1a cc int3 
00a09d1b cc int3 
00a09d1c cc int3 
00a09d1d cc int3 
00a09d1e cc int3 
00a09d1f cc int3 
00a09d20 a1a807f201 mov eax, dword ptr [0x1f207a8]
00a09d25 56 push esi
00a09d26 8bf1 mov esi, ecx
00a09d28 8b88a00c3500 mov ecx, dword ptr [eax + 0x350ca0]
00a09d2e 57 push edi
00a09d2f 8bfa mov edi, edx
00a09d31 6810c82800 push 0x28c810
00a09d36 83c128 add ecx, 0x28
00a09d39 32d2 xor dl, dl
00a09d3b e8e0ba3800 call 0xd95820
00a09d40 a1a807f201 mov eax, dword ptr [0x1f207a8]
00a09d45 83b8b40c350000 cmp dword ptr [eax + 0x350cb4], 0
00a09d4c 744c je 0xa09d9a
00a09d4e 8b88b00c3500 mov ecx, dword ptr [eax + 0x350cb0]
00a09d54 85c9 test ecx, ecx
00a09d56 7442 je 0xa09d9a
00a09d58 81ff00c82800 cmp edi, 0x28c800
00a09d5e 773a ja 0xa09d9a
00a09d60 6800c82800 push 0x28c800
00a09d65 32d2 xor dl, dl
00a09d67 e8b4ba3800 call 0xd95820
00a09d6c a1a807f201 mov eax, dword ptr [0x1f207a8]
00a09d71 83b8b40c350000 cmp dword ptr [eax + 0x350cb4], 0
00a09d78 7408 je 0xa09d82
00a09d7a 8b88b00c3500 mov ecx, dword ptr [eax + 0x350cb0]
00a09d80 eb02 jmp 0xa09d84
00a09d82 33c9 xor ecx, ecx
00a09d84 57 push edi
00a09d85 8bd6 mov edx, esi
00a09d87 e824bb3800 call 0xd958b0
00a09d8c 5f pop edi
00a09d8d 8bce mov ecx, esi
00a09d8f ba00c82800 mov edx, 0x28c800
00a09d94 5e pop esi
00a09d95 e976bf3800 jmp 0xd95d10
00a09d9a 5f pop edi
00a09d9b 33c0 xor eax, eax
00a09d9d 5e pop esi
00a09d9e c3 ret 
00a09d9f cc int3 
00a09da0 a1a807f201 mov eax, dword ptr [0x1f207a8]
00a09da5 8b80a00c3500 mov eax, dword ptr [eax + 0x350ca0]
00a09dab 56 push esi
00a09dac 8b30 mov esi, dword ptr [eax]
00a09dae 8bd1 mov edx, ecx
00a09db0 8bc8 mov ecx, eax
00a09db2 8b4614 mov eax, dword ptr [esi + 0x14]
00a09db5 5e pop esi
00a09db6 ffe0 jmp eax
00a09db8 cc int3 
00a09db9 cc int3 
00a09dba cc int3 
00a09dbb cc int3 
00a09dbc cc int3 
00a09dbd cc int3 
00a09dbe cc int3 
00a09dbf cc int3 
004e8300 81ec9c000000 sub esp, 0x9c
004e8306 55 push ebp
004e8307 56 push esi
004e8308 33f6 xor esi, esi
004e830a 8954241c mov dword ptr [esp + 0x1c], edx
004e830e 894c2414 mov dword ptr [esp + 0x14], ecx
004e8312 89742418 mov dword ptr [esp + 0x18], esi
004e8316 c744240c14000000 mov dword ptr [esp + 0xc], 0x14
004e831e 89742408 mov dword ptr [esp + 8], esi
004e8322 89742410 mov dword ptr [esp + 0x10], esi
004e8326 8d6e01 lea ebp, [esi + 1]
004e8329 3b0d94ab5d01 cmp ecx, dword ptr [0x15dab94]
004e832f 7214 jb 0x4e8345
004e8331 8d4c2408 lea ecx, [esp + 8]
004e8335 e806be1a00 call 0x694140
004e833a 5e pop esi
004e833b 33c0 xor eax, eax
004e833d 5d pop ebp
004e833e 81c49c000000 add esp, 0x9c
004e8344 c3 ret 
004e8345 53 push ebx
004e8346 8d1c49 lea ebx, [ecx + ecx*2]
004e8349 03db add ebx, ebx
004e834b 03db add ebx, ebx
004e834d 8b8c1b34ac5d01 mov ecx, dword ptr [ebx + ebx + 0x15dac34]
004e8354 03db add ebx, ebx
004e8356 83f902 cmp ecx, 2
004e8359 752a jne 0x4e8385
004e835b 8b0d5cab5d01 mov ecx, dword ptr [0x15dab5c]
004e8361 6aff push -1
004e8363 6aff push -1
004e8365 56 push esi
004e8366 bab55cb35b mov edx, 0x5bb35cb5
004e836b e840280900 call 0x57abb0
004e8370 8d4c240c lea ecx, [esp + 0xc]
004e8374 e8c7bd1a00 call 0x694140
004e8379 5b pop ebx
004e837a 5e pop esi
004e837b 33c0 xor eax, eax
004e837d 5d pop ebp
004e837e 81c49c000000 add esp, 0x9c
004e8384 c3 ret 
004e8385 0fb6814c894e00 movzx eax, byte ptr [ecx + 0x4e894c]
004e838c ff248540894e00 jmp dword ptr [eax*4 + 0x4e8940]
004e8393 8b832cac5d01 mov eax, dword ptr [ebx + 0x15dac2c]
004e8399 e8b2aaffff call 0x4e2e50
004e839e 85c0 test eax, eax
004e83a0 7520 jne 0x4e83c2
004e83a2 8b8330ac5d01 mov eax, dword ptr [ebx + 0x15dac30]
004e83a8 e813f1ffff call 0x4e74c0
004e83ad 8d4c240c lea ecx, [esp + 0xc]
004e83b1 e88abd1a00 call 0x694140
004e83b6 5b pop ebx
004e83b7 5e pop esi
004e83b8 33c0 xor eax, eax
004e83ba 5d pop ebp
004e83bb 81c49c000000 add esp, 0x9c
004e83c1 c3 ret 
004e83c2 8b8b34ac5d01 mov ecx, dword ptr [ebx + 0x15dac34]
004e83c8 0fb69184894e00 movzx edx, byte ptr [ecx + 0x4e8984]
004e83cf 57 push edi
004e83d0 ff249568894e00 jmp dword ptr [edx*4 + 0x4e8968]
004e83d7 33ed xor ebp, ebp
004e83d9 e872c75c00 call 0xab4b50
004e83de e8cdf70600 call 0x557bb0
004e83e3 e888415c00 call 0xaac570
004e83e8 8b10 mov edx, dword ptr [eax]
004e83ea 8bc8 mov ecx, eax
004e83ec 8b4218 mov eax, dword ptr [edx + 0x18]
004e83ef ffd0 call eax
004e83f1 e8ca775b00 call 0xa9fbc0
004e83f6 8b8b2cac5d01 mov ecx, dword ptr [ebx + 0x15dac2c]
004e83fc 8bf8 mov edi, eax
004e83fe 8d7439ff lea esi, [ecx + edi - 1]
004e8402 e8b9775b00 call 0xa9fbc0
004e8407 686a120000 push 0x126a
004e840c 681e73055e push 0x5e05731e
004e8411 6a02 push 2
004e8413 50 push eax
004e8414 33d2 xor edx, edx
004e8416 8bc6 mov eax, esi
004e8418 f7f7 div edi
004e841a a198c85d01 mov eax, dword ptr [0x15dc898]
004e841f b998c85d01 mov ecx, 0x15dc898
004e8424 2bf2 sub esi, edx
004e8426 8bd6 mov edx, esi
004e8428 8b4004 mov eax, dword ptr [eax + 4]
004e842b ffd0 call eax
004e842d 8bf0 mov esi, eax
004e842f e8ccf60600 call 0x557b00
004e8434 b901000000 mov ecx, 1
004e8439 e842cb5c00 call 0xab4f80
004e843e b960765a01 mov ecx, 0x15a7660
004e8443 e82826ffff call 0x4daa70
004e8448 e9c1000000 jmp 0x4e850e
004e844d 33ed xor ebp, ebp
004e844f e8fcc65c00 call 0xab4b50
004e8454 e857f70600 call 0x557bb0
004e8459 e812415c00 call 0xaac570
004e845e 8b10 mov edx, dword ptr [eax]
004e8460 8bc8 mov ecx, eax
004e8462 8b4218 mov eax, dword ptr [edx + 0x18]
004e8465 ffd0 call eax
004e8467 e8b4165200 call 0xa09b20
004e846c 8bbb2cac5d01 mov edi, dword ptr [ebx + 0x15dac2c]
004e8472 8bf0 mov esi, eax
004e8474 e8e77affff call 0x4dff60
004e8479 6888120000 push 0x1288
004e847e 681e73055e push 0x5e05731e
004e8483 6a02 push 2
004e8485 8bc8 mov ecx, eax
004e8487 8b00 mov eax, dword ptr [eax]
004e8489 56 push esi
004e848a 8bd7 mov edx, edi
004e848c eb9a jmp 0x4e8428
004e848e 8b9330ac5d01 mov edx, dword ptr [ebx + 0x15dac30]
004e8494 8d7c2420 lea edi, [esp + 0x20]
004e8498 e8f3a7ffff call 0x4e2c90
004e849d 85c0 test eax, eax
004e849f 0f84a0000000 je 0x4e8545
004e84a5 8b932cac5d01 mov edx, dword ptr [ebx + 0x15dac2c]
004e84ab 83c21f add edx, 0x1f
004e84ae 6893120000 push 0x1293
004e84b3 8bca mov ecx, edx
004e84b5 681e73055e push 0x5e05731e
004e84ba 83e11f and ecx, 0x1f
004e84bd 56 push esi
004e84be 2bd1 sub edx, ecx
004e84c0 6a20 push 0x20
004e84c2 b998c85d01 mov ecx, 0x15dc898
004e84c7 e8a45f8b00 call 0xd9e470
004e84cc eb3e jmp 0x4e850c
004e84ce a148c65d01 mov eax, dword ptr [0x15dc648]
004e84d3 3bc6 cmp eax, esi
004e84d5 746e je 0x4e8545
004e84d7 896c2418 mov dword ptr [esp + 0x18], ebp
004e84db eb2f jmp 0x4e850c
004e84dd 33ed xor ebp, ebp
004e84df 8b932cac5d01 mov edx, dword ptr [ebx + 0x15dac2c]
004e84e5 83c21f add edx, 0x1f
004e84e8 68b8120000 push 0x12b8
004e84ed 8bc2 mov eax, edx
004e84ef 83e01f and eax, 0x1f
004e84f2 681e73055e push 0x5e05731e
004e84f7 2bd0 sub edx, eax
004e84f9 a198c85d01 mov eax, dword ptr [0x15dc898]
004e84fe 8b4004 mov eax, dword ptr [eax + 4]
004e8501 6a02 push 2
004e8503 6a20 push 0x20
004e8505 b998c85d01 mov ecx, 0x15dc898
004e850a ffd0 call eax
004e850c 8bf0 mov esi, eax
004e850e 85f6 test esi, esi
004e8510 7549 jne 0x4e855b
004e8512 8b9b34ac5d01 mov ebx, dword ptr [ebx + 0x15dac34]
004e8518 83fb03 cmp ebx, 3
004e851b 7405 je 0x4e8522
004e851d 83fb04 cmp ebx, 4
004e8520 7523 jne 0x4e8545
004e8522 e829c65c00 call 0xab4b50
004e8527 e884f60600 call 0x557bb0
004e852c e8cff50600 call 0x557b00
004e8531 b901000000 mov ecx, 1
004e8536 e845ca5c00 call 0xab4f80
004e853b b960765a01 mov ecx, 0x15a7660
004e8540 e82b25ffff call 0x4daa70
004e8545 8d4c2410 lea ecx, [esp + 0x10]
004e8549 e8f2bb1a00 call 0x694140
004e854e 5f pop edi
004e854f 5b pop ebx
004e8550 5e pop esi
004e8551 33c0 xor eax, eax
004e8553 5d pop ebp
004e8554 81c49c000000 add esp, 0x9c
004e855a c3 ret 
004e855b 8b4c2424 mov ecx, dword ptr [esp + 0x24]
004e855f 8b44241c mov eax, dword ptr [esp + 0x1c]
004e8563 51 push ecx
004e8564 6a00 push 0
004e8566 56 push esi
004e8567 8bcd mov ecx, ebp
004e8569 e8e2f7ffff call 0x4e7d50
004e856e 85c0 test eax, eax
004e8570 752d jne 0x4e859f
004e8572 39442418 cmp dword ptr [esp + 0x18], eax
004e8576 7516 jne 0x4e858e
004e8578 68ec120000 push 0x12ec
004e857d 681e73055e push 0x5e05731e
004e8582 8bd6 mov edx, esi
004e8584 b998c85d01 mov ecx, 0x15dc898
004e8589 e8c2688b00 call 0xd9ee50
004e858e 8b8334ac5d01 mov eax, dword ptr [ebx + 0x15dac34]
004e8594 e8e79cffff call 0x4e2280
004e8599 85c0 test eax, eax
004e859b 74a8 je 0x4e8545
004e859d eb83 jmp 0x4e8522
004e859f 8b .byte 0x8b
