Function at 0x44eae0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x15c]
cmp eax, dword [ecx + 8]
jbe 0x450146
sub esp, 0x1dc
mov eax, dword [esp + 0x1f0]
test eax, eax
jle 0x44ff2a
mov ecx, dword [esp + 0x1fc]
test ecx, ecx
jne 0x45012f
mov edx, dword fs:[0x14]
mov edx, dword [edx]
mov ebx, dword [esp + 0x1ec]
cmp ebx, edx
jne 0x44eb45
mov ebp, dword [edx + 0x18]
cmp dword [ebp + 0x4c], edx
je 0x450119
call fcn.0043ff60
mov eax, dword [esp]
cmp eax, 2
mov ecx, dword [esp + 0x1e0]
cmp ecx, 0xffffffff
jne 0x44ff21
mov edx, dword [esp + 0x1e4]
cmp edx, 0xffffffff
jne 0x44ff0c
mov ecx, dword [esp + 0x1ec]
mov edx, dword [ecx + 0x38]
test edx, edx
je 0x44fefe
mov ebx, dword [ecx + 0x3c]
xor ebp, ebp
mov dword [esp + 0x78], eax
lea edi, [esp + 0x1b0]
mov esi, eax
xor eax, eax
call fcn.0045c6b5
mov dword [esp + 0x1b8], ebx
mov dword [esp + 0x1c4], edx
mov ecx, dword [esp + 0x1ec]
mov edi, esi
mov esi, dword [ecx + 0xb8]
mov ecx, dword [ecx + 0xbc]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x1f4]
test ecx, ecx
je 0x44fedb
xor eax, eax
mov byte [esp + 0x1f], al
xor eax, eax
mov dword [esp + 0x194], esi
mov dword [esp + 0x190], ebp
test ebx, ebx
jne 0x44ec00
mov ebx, edx
mov edx, dword [edx]
mov dword [esp + 0x1b8], edx
lea edx, [ebx + 4]
mov dword [esp + 0x1c4], edx
mov eax, dword [esp + 0x1b8]
mov dword [esp], eax
call fcn.004497f0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
test eax, eax
je 0x44fe2b
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x1b4], ecx
lea edi, [esp + 0xa4]
xor eax, eax
call fcn.0045c690
mov ecx, dword [esp + 0x1f8]
mov ebx, dword [esp + 0x1ec]
mov edx, dword [esp + 0x1f0]
mov esi, dword [esp + 0x194]
mov ebp, dword [esp + 0x5c]
mov edi, dword [esp + 0x190]
xor eax, eax
mov dword [esp + 0x3c], eax
xor eax, eax
mov byte [esp + 0x1c], al
xor eax, eax
mov byte [esp + 0x1d], al
xor eax, eax
mov dword [esp + 0x2c], eax
xor eax, eax
jmp 0x44ecf7
mov dword [esp + 0x1b0], ebx
mov ebx, dword [esp + 0x170]
mov dword [esp + 0x1b4], ebx
mov ebx, dword [esp + 0x1c0]
mov dword [esp + 0x1b8], ebx
mov dword [esp + 0x1c0], 0
mov ebx, dword [esp + 0x1c8]
mov dword [esp + 0x1c4], ebx
mov dword [esp + 0x1c8], 0
mov dword [esp + 0x1d8], 0
xchg esi, eax
cmp al, 9
xchg esi, eax
sete bl
mov esi, dword [esp + 0x1ec]
mov byte [esp + 0x1c], bl
mov esi, dword [esp + 0x194]
mov dword [esp + 0x2c], edi
mov ebx, dword [esp + 0x1ec]
xor edi, edi
mov ebx, dword [esp + 0x3c]
cmp ecx, ebx
jle 0x44fe20
mov dword [esp + 0x5c], ebp
mov ebx, dword [esp + 0x1b0]
mov dword [esp + 0x1ac], ebx
mov ebp, dword [esp + 0x1b4]
mov ebx, dword [ebx + 0x10]
test ebx, ebx
je 0x44fe13
mov dword [esp + 0x1f0], edx
mov dword [esp + 0x190], edi
mov ebx, dword [esp + 0x1c8]
test ebx, ebx
je 0x44fca3
mov ebx, dword [esp + 0x1ac]
mov dword [esp + 0x194], esi
mov dword [esp + 0x180], ebp
mov ebp, dword [esp + 0x1ec]
mov esi, dword [ebp + 0x18]
test esi, esi
je 0x44fc9c
cmp dword [esi], ebp
xchg esi, ebx
sete bl
xchg esi, ebx
mov dword [esp + 0x18c], ebx
movzx ebp, byte [ebx + 0x24]
xchg ebp, eax
cmp al, 2
xchg ebp, eax
jne 0x44fa6a
mov dword [esp + 0x1c0], 0
xor ebp, ebp
xor esi, esi
mov dword [esp + 0x170], esi
mov dword [esp + 0x188], ebp
mov esi, dword [esp + 0x1c8]
mov dword [esp + 0x1cc], esi
add esi, 0xfffffffc
mov dword [esp + 0x1cc], esi
mov esi, dword [esp + 0x1fc]
test esi, esi
je 0x44fa4d
mov ebp, dword [esp + 0x1c8]
mov dword [esp + 0x1d0], ebp
je 0x44fa46
cmp dword [ebx + 8], 0x80000000
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov ebx, dword [ebx + 8]
mov dword [esp + 0x1d4], ebx
mov dword [esp + 0x1d8], 0
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x44f9e2
mov ebx, dword [esp + 0x1b8]
mov dword [esp + 0x1bc], ebx
movzx ebx, byte [esp + 0x1c]
test bl, bl
je 0x44f9d9
mov ebp, dword [esp + 0x1b0]
mov edi, ebx
mov ebx, dword [ebp + 0xc]
test ebx, ebx
je 0x44f9c7
mov ebp, dword [ebp]
lea ebx, [ebx + ebp + 1]
mov dword [esp + 0x1bc], ebx
test esi, esi
jne 0x44f964
mov ebx, dword [esp + 0x1f4]
test ebx, ebx
je 0x44f94f
mov ebp, dword [esp + 0x1b8]
mov esi, dword [esp + 0x3c]
test esi, esi
jne 0x44f942
mov ebx, dword [esp + 0x204]
test ebx, 2
je 0x44f913
lea ebx, [ebp + 1]
mov dword [esp + 0x24], ebp
mov ebp, dword [esp + 0x18c]
cmp byte [ebp + 0x27], 3
ja 0x44f8f4
xor eax, eax
mov dword [esp + 0x1a8], eax
xor eax, eax
mov ebp, dword [esp + 0x1a8]
test ebp, ebp
jne 0x44f7b1
movzx ebp, byte [esp + 0x1d]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x18c]
cmp byte [ebx + 0x24], 0x16
jne 0x44eedc
xchg ebp, eax
cmp al, 0x12
xchg ebp, eax
jne 0x44f796
test edx, edx
jle 0x44f762
dec edx
movzx ebp, byte [ebx + 0x24]
dec esi
mov dword [esp + 0x1f0], edx
mov dword [esp + 0x3c], esi
movzx ebx, byte [esp + 0x1f]
test bl, bl
je 0x44f74b
mov ebx, dword [esp + 0x1b8]
test esi, esi
jle 0x44f727
mov esi, dword [esp + 0x18c]
cmp dword [esi], ebx
jae 0x44ef26
xchg edi, eax
test al, al
xchg edi, eax
je 0x44f721
cmp byte [esi + 0x27], 3
ja 0x44f709
xor edi, edi
test edi, edi
jne 0x44f4a7
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x204]
test ebx, 1
je 0x44f446
mov ebp, 1
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x44f087
movzx ebp, byte [esi + 0x24]
xchg ebp, eax
mov byte [esp + 0x1d], al
xchg ebp, eax
mov ebx, dword [esp + 0x3c]
inc ebx
cmp byte [esi + 0x24], 0xe
jne 0x44f081
mov ebp, dword [esp + 0x5c]
test ebp, ebp
jle 0x44f075
mov esi, dword [esp + 0x194]
mov esi, dword [esi + ebp*4 - 4]
test edx, edx
jne 0x44f069
mov dword [esp + 0x58], esi
mov esi, dword [esp + 0x1fc]
test esi, esi
je 0x44f015
dec ebp
mov dword [esp + 0x3c], ebx
mov esi, dword [esp + 0x18c]
movzx esi, byte [esi + 0x24]
mov ebx, dword [esp + 0x188]
test ebx, ebx
jne 0x44ec7e
mov eax, dword [esp + 0x3c]
movzx edx, byte [esp + 0x1f]
test dl, dl
je 0x44f011
mov eax, dword [esp + 0x1fc]
test eax, eax
je 0x44f003
cmp ecx, edi
jle 0x44f003
mov eax, dword [esp + 0x1c4]
mov edx, dword [esp + 0x1ec]
mov ebx, dword [edx + 0x40]
cmp eax, ebx
jne 0x44ff36
mov dword [esp + 0x208], edi
add esp, 0x1dc
ret
mov edi, eax
jmp 0x44efdb
mov dword [esp + 0x74], edi
mov eax, dword [esp + 0x1f4]
mov dword [esp], eax
movzx edx, byte [esp + 0x1f]
mov byte [esp + 4], dl
mov ebp, dword [esp + 0x58]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.004502d0
mov ebx, dword [esp + 0x14]
xor eax, eax
mov ecx, dword [esp + 0x1f8]
mov edx, dword [esp + 0x1f0]
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x1fc]
mov edi, dword [esp + 0x74]
jmp 0x44efaf
mov esi, dword [esp + 0x1fc]
jmp 0x44efaf
mov esi, dword [esp + 0x1fc]
jmp 0x44efb0
mov ebp, dword [esp + 0x5c]
jmp 0x44f075
mov dword [esp], esi
mov eax, dword [esp + 0x180]
mov dword [esp + 4], eax
call fcn.00449e50
mov eax, dword [esp + 0xc]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x16c], ecx
mov edx, dword [esp + 0x18c]
mov dword [esp], edx
mov ebx, dword [esp + 0x180]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 8], ebx
call fcn.0044a1f0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x178], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x54], edx
mov ebx, dword [esp + 0x38]
cmp ebx, 0xf
je 0x44f400
mov ebp, dword [esp + 0x16c]
mov dword [esp + 0x168], ebp
mov dword [esp + 0x34], ebx
call fcn.00432d50
mov eax, dword [esp + 0x168]
mov dword [esp], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
call fcn.00433650
lea eax, [0x572378]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00433650
call fcn.00432dc0
mov eax, dword [esp + 0x1d0]
mov dword [esp + 0x1a8], eax
xor ecx, ecx
jmp 0x44f187
test byte [eax], al
mov edx, dword [eax + ecx*4]
mov dword [esp + 0x70], edx
call fcn.00432d50
mov dword [esp + 4], 0
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.004334e0
call fcn.00432dc0
mov eax, dword [esp + 0x4c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x1a8]
mov edx, dword [esp + 0x1d4]
shr edx, 2
cmp ecx, edx
jae 0x44f1ef
cmp ecx, 0xa
jae 0x44f1cf
mov dword [esp + 0x4c], ecx
test ecx, ecx
je 0x44f152
call fcn.00432d50
lea eax, [0x5723ab]
mov dword [esp], eax
mov dword [esp + 4], 2
call fcn.00433650
call fcn.00432dc0
mov eax, dword [esp + 0x1a8]
mov ecx, dword [esp + 0x4c]
jmp 0x44f152
call fcn.00432d50
lea eax, [0x5727ef]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.00433650
call fcn.00432dc0
call fcn.00432d50
lea eax, [0x5723a9]
mov dword [esp], eax
mov dword [esp + 4], 2
call fcn.00433650
call fcn.00432dc0
call fcn.00432d50
lea eax, [0x582760]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00433650
mov eax, dword [esp + 0x178]
mov dword [esp], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
call fcn.00433650
lea eax, [0x572381]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00433650
mov eax, dword [esp + 0x48]
mov ecx, eax
sar eax, 0x1f
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00433460
call fcn.00432dc0
mov eax, dword [esp + 0x1b8]
mov ecx, dword [esp + 0x18c]
mov edx, dword [ecx]
cmp eax, edx
ja 0x44f3b2
mov eax, dword [esp + 0x1ec]
mov edx, dword [eax + 0x18]
test edx, edx
je 0x44f3a9
mov ebx, dword [edx + 0x6c]
test ebx, ebx
jle 0x44f3a0
cmp dword [edx + 0x4c], eax
jne 0x44f391
mov eax, dword [esp + 0x1c8]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x1c4]
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0x1b8]
mov dword [esp + 0x68], edx
call fcn.00432d50
lea eax, [0x5725ba]
mov dword [esp], eax
mov dword [esp + 4], 4
call fcn.00433650
mov dword [esp + 4], 0
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.004334e0
lea eax, [0x5725d6]
mov dword [esp], eax
mov dword [esp + 4], 4
call fcn.00433650
mov dword [esp + 4], 0
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
call fcn.004334e0
lea eax, [0x5725ce]
mov dword [esp], eax
mov dword [esp + 4], 4
call fcn.00433650
mov dword [esp + 4], 0
mov eax, dword [esp + 0x68]
mov dword [esp], eax
call fcn.004334e0
call fcn.00432dc0
call fcn.00432d50
call fcn.00432f70
call fcn.00432dc0
mov eax, dword [esp + 0x2c]
lea edi, [eax + 1]
xor eax, eax
mov ecx, dword [esp + 0x1f8]
mov edx, dword [esp + 0x1f0]
mov ebx, dword [esp + 0x204]
mov esi, dword [esp + 0x18c]
jmp 0x44ef68
mov edx, dword [esp + 0x78]
cmp edx, 2
jge 0x44f2af
jmp 0x44f358
mov edx, dword [esp + 0x78]
cmp edx, 2
jmp 0x44f398
mov edx, dword [esp + 0x78]
cmp edx, 2
jmp 0x44f398
mov dword [esp + 0x70], eax
mov dword [esp + 0x6c], edx
call fcn.00432d50
lea eax, [0x572397]
mov dword [esp], eax
mov dword [esp + 4], 2
call fcn.00433650
mov dword [esp + 4], 0
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
sub eax, ecx
mov dword [esp], eax
call fcn.004334e0
call fcn.00432dc0
mov ecx, dword [esp + 0x18c]
jmp 0x44f289
mov eax, dword [esp + 0x16c]
mov dword [esp], eax
lea ecx, [0x575863]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.00402890
movzx eax, byte [esp + 0xc]
test al, al
je 0x44f436
mov ebx, 5
lea ebp, [0x572957]
jmp 0x44f0fe
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x16c]
jmp 0x44f0fe
movzx eax, byte [esi + 0x24]
mov dword [esp], esi
mov ecx, dword [esp + 0x180]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x1ec]
mov dword [esp + 8], edx
test edi, edi
sete bl
mov byte [esp + 0xc], bl
mov byte [esp + 0xd], al
xchg ebp, eax
mov byte [esp + 0xe], al
xchg ebp, eax
call fcn.00451050
movzx ebp, byte [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x1f8]
mov edx, dword [esp + 0x1f0]
mov ebx, dword [esp + 0x204]
mov esi, dword [esp + 0x18c]
mov edi, dword [esp + 0x2c]
jmp 0x44ef5e
mov dword [esp + 0x1a8], edi
lea edi, [esp + 0x7c]
call fcn.0045c6b6
mov ecx, dword [esp + 0x2c]
jmp 0x44f4e7
mov eax, dword [esp + 0x1b0]
mov edx, dword [esp + 0x1a4]
movzx ebp, byte [edx + 2]
mov edx, dword [esp + 0x64]
mov edi, dword [esp + 0x1a8]
mov ebx, dword [edi + edx*4 + 0x10]
add ebx, dword [eax]
mov esi, dword [esp + 0x18c]
mov dword [esp + 0x2c], ecx
xchg ebp, eax
mov byte [esp + 0x1d], al
xchg ebp, eax
mov dword [esp + 0x20], ebx
mov dword [esp], esi
mov eax, dword [esp + 0x180]
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 0
call fcn.0044a480
mov eax, dword [esp + 0x14]
test eax, eax
jl 0x44f6e0
cmp eax, 0x100000
jae 0x4500c3
lea eax, [eax + eax*4]
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x1a8]
mov edx, dword [ecx + eax*4 + 0xc]
mov dword [esp + 0x80], edx
lea edx, [ecx + eax*4 + 2]
movzx edx, byte [edx]
mov byte [esp + 0xa0], dl
lea ebx, [ecx + eax*4]
mov dword [esp + 0x1a4], ebx
mov ebp, dword [esp + 0x204]
test ebp, 1
je 0x44f688
lea eax, [esp + 0x7c]
mov dword [esp], eax
mov ecx, dword [esp + 0x180]
mov dword [esp + 4], ecx
call fcn.00449e50
mov eax, dword [esp + 8]
mov dword [esp + 0x164], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0x18c]
mov dword [esp], edx
mov ebx, dword [esp + 0x180]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x20]
mov dword [esp + 8], ebp
call fcn.0044a1f0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x174], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x50], edx
call fcn.00432d50
mov eax, dword [esp + 0x164]
mov dword [esp], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
call fcn.00433650
lea eax, [0x572a0d]
mov dword [esp], eax
mov dword [esp + 4], 6
call fcn.00433650
call fcn.00432dc0
call fcn.00432d50
lea eax, [0x582760]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00433650
mov eax, dword [esp + 0x174]
mov dword [esp], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
call fcn.00433650
lea eax, [0x572381]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00433650
mov eax, dword [esp + 0x44]
mov ecx, eax
sar eax, 0x1f
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00433460
call fcn.00432f70
call fcn.00432dc0
mov eax, dword [esp + 0x2c]
lea ecx, [eax + 1]
jmp 0x44f4bd
lea eax, [esp + 0x7c]
mov dword [esp], eax
mov ecx, dword [esp + 0x180]
mov dword [esp + 4], ecx
mov ebx, dword [esp + 0x1ec]
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0x2c]
test ebp, ebp
xchg esi, ebx
sete bl
xchg esi, ebx
xchg esi, eax
mov byte [esp + 0xc], al
xchg esi, eax
mov byte [esp + 0xd], dl
movzx edx, byte [esp + 0x1d]
mov byte [esp + 0xe], dl
call fcn.00451050
movzx eax, byte [esp + 0x10]
test al, al
jne 0x44f577
mov ecx, dword [esp + 0x2c]
jmp 0x44f4bd
xor eax, eax
mov ecx, dword [esp + 0x1f8]
mov edx, dword [esp + 0x1f0]
mov esi, dword [esp + 0x18c]
movzx ebp, byte [esp + 0x1d]
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x2c]
jmp 0x44ef3e
lea edi, [esi + 0x27]
mov ecx, dword [esi + 0x1c]
lea ecx, [edi + ecx*4 + 0xd]
mov edi, dword [ecx]
mov ecx, dword [esp + 0x1f8]
jmp 0x44ef32
dec ebx
jmp 0x44ef26
mov esi, dword [esp + 0x204]
test esi, 2
jne 0x44f73f
mov esi, dword [esp + 0x3c]
jmp 0x44ef11
mov esi, dword [esp + 0x18c]
jmp 0x44ef26
mov ebx, dword [esp + 0x204]
mov esi, dword [esp + 0x18c]
mov edi, dword [esp + 0x2c]
jmp 0x44ef6c
cmp ecx, esi
jle 0x44f78d
cmp esi, 0x100000
jae 0x4500cd
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x1f4]
mov dword [ebx + esi*4], ebp
inc esi
mov ebx, dword [esp + 0x18c]
jmp 0x44eee5
mov ebx, dword [esp + 0x1f4]
jmp 0x44f781
xchg ebp, eax
cmp al, 9
xchg ebp, eax
je 0x44eedc
xchg ebp, eax
cmp al, 0x13
xchg ebp, eax
je 0x44eedc
jmp 0x44eee5
movzx eax, byte [esp + 0x1d]
mov byte [esp + 0x1e], al
jmp 0x44f7e0
mov edi, dword [esp + 0x1b0]
mov esi, eax
movzx eax, byte [ebp + 2]
mov ebp, dword [ebx + edx*4 + 0x10]
add ebp, dword [edi]
lea edi, [ebp + 1]
mov dword [esp + 0x24], ebp
mov byte [esp + 0x1e], al
mov ebx, edi
mov edx, esi
mov esi, ecx
mov dword [esp + 0x1f0], edx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x3c], esi
mov eax, dword [esp + 0x18c]
mov dword [esp], eax
mov ecx, dword [esp + 0x180]
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
mov ebp, dword [esp + 0x24]
mov dword [esp + 0xc], ebp
lea ebp, [esp + 0xa4]
mov dword [esp + 0x10], ebp
call fcn.0044a480
mov eax, dword [esp + 0x14]
test eax, eax
jl 0x44f8cd
cmp eax, 0x100000
jae 0x4500e3
lea edx, [eax + eax*4]
mov ebx, dword [esp + 0x1a8]
lea ebp, [ebx + edx*4]
lea esi, [ebx + edx*4 + 2]
cmp byte [esi], 0x16
jne 0x44f85d
movzx esi, byte [esp + 0x1e]
xchg esi, eax
cmp al, 0x12
xchg esi, eax
jne 0x44f8af
mov esi, dword [esp + 0x1f0]
test esi, esi
jle 0x44f874
lea eax, [esi - 1]
mov ecx, dword [esp + 0x3c]
jmp 0x44f7bc
mov edi, dword [esp + 0x1f8]
mov eax, dword [esp + 0x3c]
cmp edi, eax
jle 0x44f8a6
cmp eax, 0x100000
jae 0x4500d9
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x1f4]
mov dword [edi + eax*4], ecx
inc eax
mov ecx, eax
mov eax, esi
jmp 0x44f7bc
mov edi, dword [esp + 0x1f4]
jmp 0x44f89d
xchg esi, eax
cmp al, 9
xchg esi, eax
je 0x44f85d
xchg esi, eax
cmp al, 0x13
xchg esi, eax
je 0x44f85d
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x1f0]
jmp 0x44f7bc
xor eax, eax
mov ecx, dword [esp + 0x1f8]
movzx edi, byte [esp + 0x1c]
movzx ebp, byte [esp + 0x1e]
mov esi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 0x1f0]
jmp 0x44eec0
lea eax, [ebp + 0x27]
mov edi, dword [ebp + 0x1c]
lea eax, [eax + edi*4 + 0xd]
mov eax, dword [eax]
movzx edi, byte [esp + 0x1c]
mov dword [esp + 0x1a8], eax
xor eax, eax
jmp 0x44eeac
xchg edi, eax
test al, al
xchg edi, eax
jne 0x44ee89
mov ebx, dword [esp + 0x18c]
cmp dword [ebx], ebp
jne 0x44f934
mov ebx, dword [esp + 0x204]
jmp 0x44ee89
lea eax, [ebp - 1]
mov ebx, ebp
mov ebp, eax
xor eax, eax
jmp 0x44ee8c
xchg edi, eax
test al, al
xchg edi, eax
mov ebx, dword [esp + 0x204]
jmp 0x44f917
mov ebx, dword [esp + 0x18c]
mov esi, dword [esp + 0x3c]
movzx ebp, byte [esp + 0x1d]
jmp 0x44eeea
mov eax, dword [esi]
lea ecx, [esp + 0x1b0]
mov dword [esp], ecx
mov ebx, dword [esp + 0x200]
mov dword [esp + 4], ebx
mov edx, esi
call eax
movzx eax, byte [esp + 8]
test al, al
je 0x44f9b5
mov ebx, dword [esp + 0x1f4]
test ebx, ebx
mov eax, 0
mov ecx, dword [esp + 0x1f8]
mov edx, dword [esp + 0x1f0]
mov esi, dword [esp + 0x1fc]
movzx edi, byte [esp + 0x1c]
jmp 0x44ee5d
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x208], eax
add esp, 0x1dc
ret
mov dword [esp + 0x1bc], 0
test esi, esi
jmp 0x44ee4e
test esi, esi
mov edi, ebx
jmp 0x44ee4e
lea eax, [esp + 0x1b0]
mov dword [esp], eax
mov ecx, dword [esp + 0x18c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x180]
mov dword [esp + 8], edx
test esi, esi
setne bl
mov byte [esp + 0xc], bl
mov dword [esp + 0x10], edi
call fcn.00450150
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x1d8], ecx
xor eax, eax
mov ecx, dword [esp + 0x1f8]
mov edx, dword [esp + 0x1f0]
mov esi, dword [esp + 0x1fc]
jmp 0x44ee0f
xor ebp, ebp
jmp 0x44edf0
movzx ebp, byte [esp + 0x1f]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x44ee0f
test esi, esi
mov ebp, dword [esp + 0x188]
jmp 0x44edce
xchg ebp, eax
cmp al, 6
xchg ebp, eax
je 0x44ed8a
xchg ebp, eax
cmp al, 4
xchg ebp, eax
je 0x44ed8a
xchg ebp, eax
cmp al, 5
xchg ebp, eax
je 0x44ed8a
xchg ebp, eax
cmp al, 7
xchg ebp, eax
je 0x44ed8a
xchg ebp, eax
cmp al, 0x10
xchg ebp, eax
je 0x44ed8a
xchg esi, eax
test al, al
xchg esi, eax
je 0x44fab2
xchg ebp, eax
cmp al, 8
xchg ebp, eax
je 0x44ed8a
mov ebp, dword [esp + 0x1c0]
test ebp, ebp
jne 0x44fc95
mov ebp, dword [esp + 0x1c8]
add ebp, 0xfffffffc
mov esi, ebp
mov ebp, dword [ebp]
mov dword [esp + 0x1c0], ebp
mov dword [esp + 0x40], esi
mov eax, dword [esp + 0x1c0]
mov dword [esp], eax
call fcn.004497f0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
test ecx, ecx
je 0x44fb1d
mov edx, dword [esp + 0x1f0]
mov ebx, dword [esp + 0x18c]
mov edi, dword [esp + 0x190]
mov ebp, ecx
mov esi, eax
xor eax, eax
mov ecx, dword [esp + 0x1f8]
jmp 0x44ed99
movzx ebx, byte [esp + 0x1f]
test bl, bl
je 0x44fc85
mov ebp, dword [esp + 0x1ec]
mov esi, dword [ebp + 0x18]
movzx esi, byte [esi + 0x88]
xchg esi, eax
test al, al
xchg esi, eax
je 0x44fc7c
mov esi, dword [esp + 0x18c]
cmp byte [esi + 0x24], 9
jne 0x44fc75
xor edx, edx
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x19c], eax
mov edi, ebp
mov ebp, dword [esp + 0x1fc]
test ebp, ebp
jne 0x44fb84
test dl, dl
jne 0x44fb84
test ebp, ebp
je 0x44faf6
jmp 0x4500ed
mov dword [esp], esi
mov eax, dword [esp + 0x180]
mov dword [esp + 4], eax
call fcn.00449e50
mov eax, dword [esp + 8]
mov dword [esp + 0x198], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x64], ecx
mov edx, dword [esp + 0x1c0]
mov dword [esp + 0x70], edx
call fcn.00432d50
lea eax, [0x57d0ca]
mov dword [esp], eax
mov dword [esp + 4], 0x22
call fcn.00433650
mov eax, dword [esp + 0x198]
mov dword [esp], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 4], eax
call fcn.00433650
lea eax, [0x5747b1]
mov dword [esp], eax
mov dword [esp + 4], 0xd
call fcn.00433650
mov dword [esp + 4], 0
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.004334e0
call fcn.00432f70
call fcn.00432dc0
mov eax, dword [esp + 0x1ec]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov dword [esp], edx
mov dword [esp + 4], ecx
lea ecx, [esp + 0x1b0]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x40]
mov dword [esp + 0xc], edx
call fcn.004517a0
mov ebp, dword [esp + 0x1fc]
test ebp, ebp
mov eax, dword [esp + 0x19c]
mov ecx, dword [esp + 0x1a0]
movzx ebx, byte [esp + 0x1f]
mov esi, dword [esp + 0x18c]
mov edi, dword [esp + 0x1ec]
jmp 0x44fb79
mov edx, ebx
jmp 0x44fb58
mov esi, dword [esp + 0x18c]
jmp 0x44fc75
mov ebp, dword [esp + 0x1ec]
mov esi, dword [esp + 0x18c]
jmp 0x44fc75
xor esi, esi
jmp 0x44fad7
xor esi, esi
jmp 0x44ed74
mov ebx, dword [esp + 0x204]
test ebx, 4
je 0x44fe0a
mov eax, dword [esp + 0x1ec]
mov ecx, dword [eax + 0x18]
cmp dword [ecx], eax
jne 0x44fdfa
mov ecx, dword [ecx + 0x4c]
test ecx, ecx
je 0x44fdfa
mov edi, dword [esp + 0x1ac]
movzx ebx, byte [edi + 0x24]
cmp bl, 5
je 0x44fd9d
cmp bl, 0xd
jne 0x44fd94
mov ecx, dword [ecx + 0x1c]
mov dword [esp + 0x1c4], ecx
mov ecx, dword [eax + 0x18]
mov ecx, dword [ecx + 0x4c]
mov esi, dword [ecx + 0xb8]
mov ecx, dword [ecx + 0xbc]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x194], esi
mov dword [esp + 0x17c], ebp
mov dword [esp + 0x184], edi
mov eax, dword [esp + 0x1b8]
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
lea eax, [esp + 0xa4]
mov dword [esp + 0xc], eax
call fcn.0044a250
mov eax, dword [esp + 0x1c4]
add eax, dword [esp + 0x10]
mov dword [esp + 0x1c8], eax
add eax, 4
mov dword [esp + 0x1c8], eax
xor eax, eax
mov ecx, dword [esp + 0x1f8]
mov edx, dword [esp + 0x1f0]
mov edi, dword [esp + 0x190]
mov ebx, dword [esp + 0x184]
mov ebp, dword [esp + 0x17c]
mov esi, dword [esp + 0x194]
jmp 0x44ed4b
mov ecx, dword [esp + 0x5c]
jmp 0x44fd0c
mov eax, dword [ecx + 0x20]
mov dword [esp + 0x1b8], eax
mov dword [esp], eax
call fcn.004497f0
mov edi, dword [esp + 4]
mov ebp, dword [esp + 8]
mov dword [esp + 0x1b0], edi
mov dword [esp + 0x1b4], ebp
mov eax, dword [esp + 0x1ec]
mov ecx, dword [eax + 0x18]
mov ecx, dword [ecx + 0x4c]
mov ecx, dword [ecx + 0x1c]
mov dword [esp + 0x1c4], ecx
mov ecx, dword [eax + 0x18]
mov ecx, dword [ecx + 0x4c]
mov esi, dword [ecx + 0xb8]
mov ecx, dword [ecx + 0xbc]
mov edx, dword [esp + 0x1f0]
jmp 0x44fd0c
mov edi, dword [esp + 0x1ac]
mov ecx, dword [esp + 0x5c]
jmp 0x44fd0c
mov eax, dword [esp + 0x1ec]
jmp 0x44fdfa
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
jmp 0x44efd2
mov edi, dword [esp + 0x2c]
mov eax, ebx
jmp 0x44efd2
mov eax, dword [esp + 0x1fc]
test eax, eax
je 0x44feca
mov eax, dword [esp + 0x1b8]
mov dword [esp + 0x70], eax
call fcn.00432d50
lea eax, [0x577ce3]
mov dword [esp], eax
mov dword [esp + 4], 0x14
call fcn.00433650
mov dword [esp + 4], 0
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.004334e0
call fcn.00432f70
call fcn.00432dc0
mov eax, dword [esp + 0x1ec]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [esp + 0x1b0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.004517a0
mov eax, dword [esp + 0x1fc]
test eax, eax
jne 0x450103
mov dword [esp + 0x208], 0
add esp, 0x1dc
ret
movzx ecx, byte [esp + 0x1f]
test cl, cl
jne 0x44fe3a
test eax, eax
jmp 0x44feb2
mov edi, dword [esp + 0x1fc]
test edi, edi
setne cl
xor ecx, 1
mov edi, dword [esp + 0x78]
mov byte [esp + 0x1f], cl
mov ecx, dword [esp + 0x1f4]
jmp 0x44ebd9
mov ebx, dword [ecx + 0x20]
mov edx, dword [ecx + 0x1c]
mov ebp, dword [ecx + 0x28]
jmp 0x44eb87
mov ecx, dword [esp + 0x1ec]
mov ebx, dword [esp + 0x1e0]
xor ebp, ebp
jmp 0x44eb87
mov edx, dword [esp + 0x1e4]
jmp 0x44ff0c
mov ecx, dword [esp + 0x1fc]
jmp 0x44eb21
mov dword [esp + 0x70], eax
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x3c], edi
mov eax, dword [edx + 0x50]
mov dword [esp + 0x78], eax
mov ecx, dword [edx + 0x54]
mov dword [esp + 0x60], ecx
call fcn.00432d50
lea eax, [0x573af5]
mov dword [esp], eax
mov dword [esp + 4], 0xa
call fcn.00433650
mov eax, dword [esp + 0x60]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp], eax
call fcn.00433460
lea eax, [0x573c73]
mov dword [esp], eax
mov dword [esp + 4], 0xb
call fcn.00433650
mov dword [esp + 4], 0
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.004334e0
lea eax, [0x5727a9]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.00433650
mov dword [esp + 4], 0
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
call fcn.004334e0
call fcn.00432f70
call fcn.00432dc0
mov eax, dword [esp + 0x1ec]
mov ecx, dword [eax]
mov dword [esp + 0x70], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x6c], eax
call fcn.00432d50
lea eax, [0x5731bd]
mov dword [esp], eax
mov dword [esp + 4], 8
call fcn.00433650
mov dword [esp + 4], 0
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.004334e0
lea eax, [0x57237c]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00433650
mov dword [esp + 4], 0
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
call fcn.004334e0
lea eax, [0x57267e]
mov dword [esp], eax
mov dword [esp + 4], 4
call fcn.00433650
mov eax, dword [esp + 0x3c]
mov ecx, eax
sar eax, 0x1f
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00433460
lea eax, [0x572790]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.00433650
mov eax, dword [esp + 0x1f8]
mov ecx, eax
sar eax, 0x1f
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00433460
call fcn.00432f70
call fcn.00432dc0
lea eax, [0x57d4dd]
mov dword [esp], eax
mov dword [esp + 4], 0x23
call fcn.00431580
mov ecx, 0x100000
call fcn.0045c4c0
mov eax, esi
mov ecx, 0x100000
call fcn.0045c4c0
mov ecx, 0x100000
call fcn.0045c4c0
mov ecx, 0x100000
call fcn.0045c4c0
lea eax, [0x576670]
mov dword [esp], eax
mov dword [esp + 4], 0x11
call fcn.00431580
lea eax, [0x573b63]
mov dword [esp], eax
mov dword [esp + 4], 0xa
call fcn.00431580
lea eax, [0x580eda]
mov dword [esp], eax
mov dword [esp + 4], 0x39
call fcn.00431580
lea eax, [0x580bcf]
mov dword [esp], eax
mov dword [esp + 4], 0x37
call fcn.00431580
nop
call fcn.0045aee0
jmp fcn.0044eae0