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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x13c]
cmp eax, dword [ecx + 8]
jbe 0x44fe13
sub esp, 0x1bc
mov eax, dword [esp + 0x1d0]
test eax, eax
jle 0x44fbe7
mov ecx, dword [esp + 0x1dc]
test ecx, ecx
jne 0x44fdfc
mov edx, dword fs:[0x14]
mov edx, dword [edx]
mov ebx, dword [esp + 0x1cc]
cmp ebx, edx
jne 0x44e835
mov ebp, dword [edx + 0x18]
cmp dword [ebp + 0x4c], edx
je 0x44fde6
call fcn.0043fe30
mov eax, dword [esp]
cmp eax, 2
mov ecx, dword [esp + 0x1c0]
cmp ecx, 0xffffffff
jne 0x44fbde
mov edx, dword [esp + 0x1c4]
cmp edx, 0xffffffff
jne 0x44fbc9
mov ecx, dword [esp + 0x1cc]
mov edx, dword [ecx + 0x38]
test edx, edx
je 0x44fbbb
mov ebx, dword [ecx + 0x3c]
xor ebp, ebp
mov dword [esp + 0x74], eax
lea edi, [esp + 0x190]
mov esi, eax
xor eax, eax
call fcn.0045cbb5
mov dword [esp + 0x198], ebx
mov dword [esp + 0x1a4], edx
mov ecx, dword [esp + 0x1cc]
mov edi, esi
mov esi, dword [ecx + 0xb8]
mov ecx, dword [ecx + 0xbc]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x1d4]
test ecx, ecx
je 0x44fb98
xor eax, eax
mov byte [esp + 0x22], al
xor eax, eax
mov dword [esp + 0x17c], esi
mov dword [esp + 0x178], ebp
test ebx, ebx
jne 0x44e8f0
mov ebx, edx
mov edx, dword [edx]
mov dword [esp + 0x198], edx
lea edx, [ebx + 4]
mov dword [esp + 0x1a4], edx
mov eax, dword [esp + 0x198]
mov dword [esp], eax
call fcn.004497b0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
test eax, eax
je 0x44fae8
mov dword [esp + 0x190], eax
mov dword [esp + 0x194], ecx
lea edi, [esp + 0x90]
xor eax, eax
call fcn.0045cb90
mov ecx, dword [esp + 0x1d8]
mov ebx, dword [esp + 0x1cc]
mov ebp, dword [esp + 0x1d0]
mov esi, dword [esp + 0x17c]
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x178]
xor edi, edi
xor edi, edi
xchg edi, eax
mov byte [esp + 0x1f], al
xchg edi, eax
xor edi, edi
xchg edi, eax
mov byte [esp + 0x20], al
xchg edi, eax
xor edi, edi
mov dword [esp + 0x2c], edi
jmp 0x44e9ef
mov dword [esp + 0x190], ebp
mov ebp, dword [esp + 0x164]
mov dword [esp + 0x194], ebp
mov ebp, dword [esp + 0x1a0]
mov dword [esp + 0x198], ebp
mov dword [esp + 0x1a0], 0
mov ebp, dword [esp + 0x1a8]
mov dword [esp + 0x1a4], ebp
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1b8], 0
cmp bl, 9
sete bl
mov ebp, dword [esp + 0x1cc]
mov edi, esi
mov byte [esp + 0x1f], bl
mov byte [esp + 0x20], dl
mov esi, dword [esp + 0x17c]
mov ebp, dword [esp + 0x1d0]
mov ebx, dword [esp + 0x1cc]
xor edx, edx
cmp ecx, edi
jle 0x44fadd
mov dword [esp + 0x38], edi
mov dword [esp + 0x1d0], ebp
mov ebp, dword [esp + 0x190]
mov edi, dword [esp + 0x194]
mov ebx, dword [ebp + 0x10]
test ebx, ebx
je 0x44fad0
mov dword [esp + 0x178], edx
mov ebx, dword [esp + 0x1a8]
test ebx, ebx
je 0x44f97e
mov dword [esp + 0x160], edi
mov ebx, dword [esp + 0x1cc]
mov edi, dword [ebx + 0x18]
test edi, edi
je 0x44f977
cmp dword [edi], ebx
xchg edi, ebx
sete bl
xchg edi, ebx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x17c], esi
mov dword [esp + 0x170], ebp
movzx ebx, byte [ebp + 0x20]
cmp bl, 2
jne 0x44f752
mov dword [esp + 0x1a0], 0
xor ebx, ebx
xor edi, edi
mov dword [esp + 0x164], edi
mov dword [esp + 0x174], ebx
mov edi, dword [esp + 0x1a8]
mov dword [esp + 0x1ac], edi
add edi, 0xfffffffc
mov dword [esp + 0x1ac], edi
mov edi, dword [esp + 0x1dc]
test edi, edi
je 0x44f737
mov ebx, dword [esp + 0x1a8]
mov dword [esp + 0x1b0], ebx
je 0x44f730
cmp dword [ebp + 8], 0x80000000
sete bl
mov esi, dword [ebp + 8]
mov dword [esp + 0x1b4], esi
mov dword [esp + 0x1b8], 0
test bl, bl
jne 0x44f6d1
mov ebx, dword [esp + 0x198]
mov dword [esp + 0x19c], ebx
movzx ebx, byte [esp + 0x1f]
test bl, bl
je 0x44f6c8
mov esi, dword [esp + 0x190]
mov edx, ebp
mov ebp, dword [esi + 0xc]
test ebp, ebp
je 0x44f6b6
mov esi, dword [esi]
lea ebp, [ebp + esi + 1]
mov dword [esp + 0x19c], ebp
test edi, edi
jne 0x44f654
mov ebp, dword [esp + 0x1d4]
test ebp, ebp
je 0x44f63f
mov esi, dword [esp + 0x198]
mov edi, dword [esp + 0x38]
test edi, edi
jne 0x44f634
mov ebp, dword [esp + 0x1e4]
test ebp, 2
je 0x44f608
lea ebx, [esi + 1]
cmp byte [edx + 0x23], 4
ja 0x44f5e5
mov dword [esp + 0x80], eax
xor eax, eax
mov dword [esp + 0x18c], eax
mov eax, dword [esp + 0x80]
mov ebp, dword [esp + 0x18c]
test ebp, ebp
jne 0x44f4a0
movzx ebp, byte [esp + 0x20]
mov esi, dword [esp + 0x1d0]
cmp byte [edx + 0x20], 0x16
jne 0x44ebba
xchg ebp, eax
cmp al, 0x12
xchg ebp, eax
jne 0x44f483
test esi, esi
jle 0x44f451
lea ebx, [esi - 1]
movzx ebp, byte [edx + 0x20]
lea esi, [edi - 1]
mov dword [esp + 0x1d0], ebx
movzx edi, byte [esp + 0x22]
xchg edi, eax
test al, al
xchg edi, eax
je 0x44f441
mov edi, dword [esp + 0x198]
test esi, esi
jle 0x44f422
cmp dword [edx], edi
jae 0x44ec02
movzx ebx, byte [esp + 0x1f]
test bl, bl
je 0x44f41c
cmp byte [edx + 0x23], 4
ja 0x44f404
xor ebx, ebx
mov dword [esp + 0x70], esi
test ebx, ebx
jne 0x44f185
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x1e4]
test edi, 1
je 0x44f11f
mov ebp, 1
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x44ed63
movzx ebp, byte [edx + 0x20]
mov dword [esp + 0x2c], ebx
inc esi
cmp byte [edx + 0x20], 0xe
jne 0x44ed55
test eax, eax
jle 0x44ed55
mov edi, dword [esp + 0x17c]
mov ebx, dword [edi + eax*4 - 4]
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0x1d0]
test ebx, ebx
jne 0x44ed49
mov ebx, dword [esp + 0x1dc]
test ebx, ebx
je 0x44eced
lea ebx, [eax - 1]
mov eax, ebx
movzx ebx, byte [edx + 0x20]
mov edx, ebp
mov ebp, dword [esp + 0x174]
test ebp, ebp
jne 0x44e96f
mov eax, dword [esp + 0x2c]
movzx edx, byte [esp + 0x22]
test dl, dl
je 0x44ece9
mov edx, dword [esp + 0x1dc]
test edx, edx
je 0x44ecdb
cmp ecx, eax
jle 0x44ecdb
mov edx, dword [esp + 0x1a4]
mov ebx, dword [esp + 0x1cc]
mov ebp, dword [ebx + 0x40]
cmp edx, ebp
jne 0x44fbf3
mov dword [esp + 0x1e8], eax
add esp, 0x1bc
ret
mov eax, esi
jmp 0x44ecb3
xchg ebp, eax
mov byte [esp + 0x23], al
xchg ebp, eax
mov eax, dword [esp + 0x1d4]
mov dword [esp], eax
movzx edx, byte [esp + 0x22]
mov byte [esp + 4], dl
mov ebx, dword [esp + 0x58]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
call fcn.0044ffa0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x1d8]
mov edx, dword [esp + 0x170]
mov ebx, dword [esp + 0x1dc]
movzx ebp, byte [esp + 0x23]
mov edi, dword [esp + 0x17c]
jmp 0x44ec8c
mov ebx, dword [esp + 0x1dc]
jmp 0x44ec8c
mov edi, dword [esp + 0x17c]
mov ebx, eax
jmp 0x44ec8f
mov dword [esp], edx
mov eax, dword [esp + 0x160]
mov dword [esp + 4], eax
call fcn.00449df0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x150], ecx
mov edx, dword [esp + 0x170]
mov dword [esp], edx
mov ebx, dword [esp + 0x160]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 8], ebx
call fcn.0044a060
mov eax, dword [esp + 0x14]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x15c], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x54], edx
mov ebx, dword [esp + 0x30]
cmp ebx, 0xf
je 0x44f0d9
mov ebp, dword [esp + 0x150]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x150], ebp
call fcn.00433c00
mov eax, dword [esp + 0x150]
mov dword [esp], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
call fcn.004345e0
lea eax, [0x679918]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.004345e0
call fcn.00433c70
mov eax, dword [esp + 0x1b0]
mov dword [esp + 0x18c], eax
xor ecx, ecx
jmp 0x44ee63
test byte [eax], al
mov edx, dword [eax + ecx*4]
mov dword [esp + 0x6c], edx
call fcn.00433c00
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.004344a0
call fcn.00433c70
mov eax, dword [esp + 0x4c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x18c]
mov edx, dword [esp + 0x1b4]
shr edx, 2
cmp ecx, edx
jae 0x44eecb
cmp ecx, 0xa
jae 0x44eeab
mov dword [esp + 0x4c], ecx
test ecx, ecx
je 0x44ee2e
call fcn.00433c00
lea eax, [0x679957]
mov dword [esp], eax
mov dword [esp + 4], 2
call fcn.004345e0
call fcn.00433c70
mov eax, dword [esp + 0x18c]
mov ecx, dword [esp + 0x4c]
jmp 0x44ee2e
call fcn.00433c00
lea eax, [0x679e50]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.004345e0
call fcn.00433c70
call fcn.00433c00
lea eax, [0x679953]
mov dword [esp], eax
mov dword [esp + 4], 2
call fcn.004345e0
call fcn.00433c70
call fcn.00433c00
lea eax, [0x679939]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.004345e0
mov eax, dword [esp + 0x15c]
mov dword [esp], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
call fcn.004345e0
lea eax, [0x679924]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.004345e0
mov eax, dword [esp + 0x44]
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
call fcn.00434410
call fcn.00433c70
mov eax, dword [esp + 0x198]
mov ecx, dword [esp + 0x170]
mov edx, dword [ecx]
cmp eax, edx
ja 0x44f08b
mov eax, dword [esp + 0x1cc]
mov edx, dword [eax + 0x18]
test edx, edx
je 0x44f082
mov ebx, dword [edx + 0x6c]
test ebx, ebx
jle 0x44f079
cmp dword [edx + 0x4c], eax
jne 0x44f06a
mov eax, dword [esp + 0x1a8]
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0x1a4]
mov dword [esp + 0x68], ecx
mov edx, dword [esp + 0x198]
mov dword [esp + 0x64], edx
call fcn.00433c00
lea eax, [0x679bcc]
mov dword [esp], eax
mov dword [esp + 4], 4
call fcn.004345e0
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.004344a0
lea eax, [0x679be8]
mov dword [esp], eax
mov dword [esp + 4], 4
call fcn.004345e0
mov eax, dword [esp + 0x68]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.004344a0
lea eax, [0x679be0]
mov dword [esp], eax
mov dword [esp + 4], 4
call fcn.004345e0
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.004344a0
call fcn.00433c70
call fcn.00433c00
call fcn.00433e20
call fcn.00433c70
mov eax, dword [esp + 0x2c]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x1d8]
mov edx, dword [esp + 0x170]
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x1e4]
jmp 0x44ec48
mov edx, dword [esp + 0x74]
cmp edx, 2
jge 0x44ef89
jmp 0x44f032
mov edx, dword [esp + 0x74]
cmp edx, 2
jmp 0x44f071
mov edx, dword [esp + 0x74]
cmp edx, 2
jmp 0x44f071
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], edx
call fcn.00433c00
lea eax, [0x679941]
mov dword [esp], eax
mov dword [esp + 4], 2
call fcn.004345e0
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
sub eax, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.004344a0
call fcn.00433c70
mov ecx, dword [esp + 0x170]
jmp 0x44ef63
mov eax, dword [esp + 0x150]
mov dword [esp], eax
lea ecx, [0x67cf29]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.004031b0
movzx eax, byte [esp + 0xc]
test al, al
je 0x44f10f
mov ebx, 5
lea ebp, [0x679fa9]
jmp 0x44edda
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x150]
jmp 0x44edda
movzx eax, byte [edx + 0x20]
mov dword [esp], edx
mov ecx, dword [esp + 0x160]
mov dword [esp + 4], ecx
mov esi, dword [esp + 0x1cc]
mov dword [esp + 8], esi
test ebx, ebx
xchg edi, ebx
sete bl
xchg edi, ebx
xchg edi, eax
mov byte [esp + 0xc], al
xchg edi, eax
mov byte [esp + 0xd], al
xchg ebp, eax
mov byte [esp + 0xe], al
xchg ebp, eax
call fcn.00450d20
movzx ebp, byte [esp + 0x10]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x1d8]
mov edx, dword [esp + 0x170]
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x1e4]
jmp 0x44ec3e
mov dword [esp + 0x18c], ebx
jmp 0x44f1bb
mov ebx, dword [esp + 0x190]
lea eax, [eax + eax*4]
mov esi, dword [esp + 0x18c]
mov ebp, ecx
lea ecx, [esi + eax*4 + 2]
movzx ecx, byte [ecx]
mov edi, dword [esi + eax*4 + 0x10]
add edi, dword [ebx]
mov edx, dword [esp + 0x170]
mov dword [esp + 0x2c], ebp
mov ebp, ecx
xchg ebp, eax
mov byte [esp + 0x20], al
xchg ebp, eax
mov dword [esp + 0x24], edi
mov dword [esp], edx
mov eax, dword [esp + 0x160]
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], 0
call fcn.0044a2f0
mov eax, dword [esp + 0x14]
test eax, eax
jl 0x44f3dc
mov dword [esp + 0x48], eax
mov edx, dword [esp + 0x1e4]
test edx, 1
je 0x44f366
mov ecx, 1
test cl, cl
jne 0x44f22c
mov ecx, dword [esp + 0x2c]
cmp eax, 0x100000
jb 0x44f18e
jmp 0x44fd7c
cmp eax, 0x100000
jae 0x44fd86
lea ecx, [eax + eax*4]
mov edx, dword [esp + 0x18c]
mov ecx, dword [edx + ecx*4 + 0xc]
mov ebx, dword [esp + 0x170]
mov dword [esp], ebx
mov ebp, dword [esp + 0x160]
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
call fcn.00449e70
mov eax, dword [esp + 0xc]
mov dword [esp + 0x154], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0x170]
mov dword [esp], edx
mov ebx, dword [esp + 0x160]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x24]
mov dword [esp + 8], ebp
call fcn.0044a060
mov eax, dword [esp + 0x14]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x158], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x50], edx
call fcn.00433c00
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
call fcn.004345e0
lea eax, [0x67a082]
mov dword [esp], eax
mov dword [esp + 4], 6
call fcn.004345e0
call fcn.00433c70
call fcn.00433c00
lea eax, [0x679939]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.004345e0
mov eax, dword [esp + 0x158]
mov dword [esp], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
call fcn.004345e0
lea eax, [0x679924]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.004345e0
mov eax, dword [esp + 0x40]
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
call fcn.00434410
call fcn.00433e20
call fcn.00433c70
mov eax, dword [esp + 0x2c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x1e4]
jmp 0x44f21c
cmp eax, 0x100000
jae 0x44fd90
lea ecx, [eax + eax*4]
mov edx, dword [esp + 0x18c]
lea ecx, [edx + ecx*4 + 2]
movzx ecx, byte [ecx]
mov ebx, dword [esp + 0x170]
mov dword [esp], ebx
mov ebp, dword [esp + 0x160]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x1cc]
mov dword [esp + 8], esi
mov edi, dword [esp + 0x2c]
test edi, edi
xchg esi, ebx
sete bl
xchg esi, ebx
xchg esi, eax
mov byte [esp + 0xc], al
xchg esi, eax
mov byte [esp + 0xd], cl
movzx ecx, byte [esp + 0x20]
mov byte [esp + 0xe], cl
call fcn.00450d20
movzx ecx, byte [esp + 0x10]
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x1e4]
jmp 0x44f214
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x1d8]
mov edx, dword [esp + 0x170]
mov esi, dword [esp + 0x70]
movzx ebp, byte [esp + 0x20]
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x2c]
jmp 0x44ec1e
lea ebx, [edx + 0x23]
mov ecx, dword [edx + 0x1c]
lea ecx, [ebx + ecx*4 + 0x11]
mov ebx, dword [ecx]
mov ecx, dword [esp + 0x1d8]
jmp 0x44ec0e
dec edi
jmp 0x44ec02
mov ebx, dword [esp + 0x1e4]
test ebx, 2
jne 0x44ec02
mov ebx, dword [esp + 0x1d0]
jmp 0x44ebf1
mov edi, dword [esp + 0x1e4]
mov ebx, dword [esp + 0x2c]
jmp 0x44ec4c
cmp ecx, edi
jle 0x44f478
cmp edi, 0x100000
jae 0x44fd9a
mov ebp, dword [esp + 0x1d4]
mov dword [ebp + edi*4], ebx
lea ebx, [edi + 1]
mov edi, ebx
mov ebx, esi
jmp 0x44ebc5
mov ebp, dword [esp + 0x1d4]
mov ebx, edi
jmp 0x44f46f
xchg ebp, eax
cmp al, 9
xchg ebp, eax
je 0x44ebba
xchg ebp, eax
cmp al, 0x13
xchg ebp, eax
je 0x44ebba
mov ebx, esi
jmp 0x44ebc5
mov dword [esp + 0x78], eax
movzx eax, byte [esp + 0x20]
mov byte [esp + 0x21], al
jmp 0x44f4df
mov esi, eax
mov eax, dword [esp + 0x190]
movzx ebp, byte [ebp + 2]
mov edi, ecx
mov ecx, dword [ebx + edx*4 + 0x10]
add ecx, dword [eax]
lea eax, [ecx + 1]
mov edx, dword [esp + 0x170]
xchg ebp, eax
mov byte [esp + 0x21], al
xchg ebp, eax
mov ebx, eax
mov dword [esp + 0x1d0], esi
mov esi, ecx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x70], edi
mov dword [esp], edx
mov eax, dword [esp + 0x160]
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], esi
lea ecx, [esp + 0x90]
mov dword [esp + 0x10], ecx
call fcn.0044a2f0
mov eax, dword [esp + 0x14]
test eax, eax
jl 0x44f5ba
cmp eax, 0x100000
jae 0x44fdb0
lea edx, [eax + eax*4]
mov ebx, dword [esp + 0x18c]
lea ebp, [ebx + edx*4]
lea esi, [ebx + edx*4 + 2]
cmp byte [esi], 0x16
jne 0x44f54a
movzx esi, byte [esp + 0x21]
xchg esi, eax
cmp al, 0x12
xchg esi, eax
jne 0x44f59c
mov esi, dword [esp + 0x1d0]
test esi, esi
jle 0x44f561
lea eax, [esi - 1]
mov ecx, dword [esp + 0x70]
jmp 0x44f4af
mov edi, dword [esp + 0x1d8]
mov eax, dword [esp + 0x70]
cmp edi, eax
jle 0x44f593
cmp eax, 0x100000
jae 0x44fda6
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x1d4]
mov dword [edi + eax*4], ecx
inc eax
mov ecx, eax
mov eax, esi
jmp 0x44f4af
mov edi, dword [esp + 0x1d4]
jmp 0x44f58a
xchg esi, eax
cmp al, 9
xchg esi, eax
je 0x44f54a
xchg esi, eax
cmp al, 0x13
xchg esi, eax
je 0x44f54a
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x1d0]
jmp 0x44f4af
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x1d8]
mov edx, dword [esp + 0x170]
movzx ebp, byte [esp + 0x21]
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x1d0]
jmp 0x44eba9
lea eax, [edx + 0x23]
mov ebp, dword [edx + 0x1c]
lea eax, [eax + ebp*4 + 0x11]
mov eax, dword [eax]
mov ebp, dword [esp + 0x1e4]
mov dword [esp + 0x18c], eax
mov eax, dword [esp + 0x5c]
jmp 0x44eb8e
test bl, bl
jne 0x44eb6a
cmp dword [edx], esi
je 0x44eb6a
lea ebx, [esi - 1]
mov dword [esp + 0x88], eax
mov eax, esi
mov esi, ebx
mov ebx, eax
mov eax, dword [esp + 0x88]
jmp 0x44eb6d
test bl, bl
mov ebp, dword [esp + 0x1e4]
jmp 0x44f60a
mov esi, dword [esp + 0x38]
movzx ebp, byte [esp + 0x20]
mov ebx, dword [esp + 0x1d0]
jmp 0x44ebcc
lea eax, [esp + 0x190]
mov dword [esp], eax
mov ecx, dword [esp + 0x1e0]
mov dword [esp + 4], ecx
mov ebx, dword [edi]
mov edx, edi
call ebx
movzx eax, byte [esp + 8]
test al, al
je 0x44f6a4
mov ebp, dword [esp + 0x1d4]
test ebp, ebp
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x1d8]
mov edx, dword [esp + 0x170]
movzx ebx, byte [esp + 0x1f]
mov edi, dword [esp + 0x1dc]
jmp 0x44eb3e
mov eax, dword [esp + 0x38]
mov dword [esp + 0x1e8], eax
add esp, 0x1bc
ret
mov dword [esp + 0x19c], 0
test edi, edi
jmp 0x44eb2f
test edi, edi
mov edx, ebp
jmp 0x44eb2f
lea eax, [esp + 0x190]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov ecx, dword [esp + 0x160]
mov dword [esp + 8], ecx
test edi, edi
setne bl
mov byte [esp + 0xc], bl
mov dword [esp + 0x10], edx
call fcn.0044fe20
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1b8], ecx
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x1d8]
mov ebp, dword [esp + 0x170]
mov edi, dword [esp + 0x1dc]
jmp 0x44eaf1
xor ebx, ebx
jmp 0x44ead4
movzx ebx, byte [esp + 0x22]
test bl, bl
je 0x44eaf1
test edi, edi
mov ebx, dword [esp + 0x174]
jmp 0x44eab6
cmp bl, 6
je 0x44ea72
cmp bl, 4
je 0x44ea72
cmp bl, 5
je 0x44ea72
cmp bl, 7
je 0x44ea72
cmp bl, 0x10
je 0x44ea72
xchg edi, eax
test al, al
xchg edi, eax
je 0x44f78e
cmp bl, 8
je 0x44ea72
mov ebx, dword [esp + 0x1a0]
test ebx, ebx
jne 0x44f970
mov ebx, dword [esp + 0x1a8]
add ebx, 0xfffffffc
mov edi, ebx
mov ebx, dword [ebx]
mov dword [esp + 0x1a0], ebx
mov dword [esp + 0x3c], edi
mov eax, dword [esp + 0x1a0]
mov dword [esp], eax
call fcn.004497b0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
test eax, eax
je 0x44f7fa
mov edx, dword [esp + 0x178]
mov ebp, dword [esp + 0x170]
mov esi, dword [esp + 0x17c]
mov ebx, eax
mov edi, ecx
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x1d8]
jmp 0x44ea81
movzx ebx, byte [esp + 0x22]
test bl, bl
je 0x44f960
mov ebp, dword [esp + 0x1cc]
mov esi, dword [ebp + 0x18]
movzx esi, byte [esi + 0x88]
xchg esi, eax
test al, al
xchg esi, eax
je 0x44f957
mov esi, dword [esp + 0x170]
cmp byte [esi + 0x20], 9
jne 0x44f950
xor edx, edx
mov dword [esp + 0x188], ecx
mov dword [esp + 0x184], eax
mov edi, dword [esp + 0x1dc]
test edi, edi
jne 0x44f85f
test dl, dl
jne 0x44f85f
test edi, edi
je 0x44f7d1
jmp 0x44fdba
mov dword [esp], esi
mov eax, dword [esp + 0x160]
mov dword [esp + 4], eax
call fcn.00449df0
mov eax, dword [esp + 8]
mov dword [esp + 0x180], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x70], ecx
mov edx, dword [esp + 0x1a0]
mov dword [esp + 0x6c], edx
call fcn.00433c00
lea eax, [0x685369]
mov dword [esp], eax
mov dword [esp + 4], 0x22
call fcn.004345e0
mov eax, dword [esp + 0x180]
mov dword [esp], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 4], eax
call fcn.004345e0
lea eax, [0x67bed7]
mov dword [esp], eax
mov dword [esp + 4], 0xd
call fcn.004345e0
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.004344a0
call fcn.00433e20
call fcn.00433c70
mov eax, dword [esp + 0x1cc]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov dword [esp], edx
mov dword [esp + 4], ecx
lea ecx, [esp + 0x190]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0xc], edx
call fcn.00451480
mov edi, dword [esp + 0x1dc]
test edi, edi
mov eax, dword [esp + 0x184]
mov ecx, dword [esp + 0x188]
movzx ebx, byte [esp + 0x22]
mov ebp, dword [esp + 0x1cc]
mov esi, dword [esp + 0x170]
jmp 0x44f854
mov edx, ebx
jmp 0x44f835
mov esi, dword [esp + 0x170]
jmp 0x44f950
mov ebp, dword [esp + 0x1cc]
mov esi, dword [esp + 0x170]
jmp 0x44f950
xor edi, edi
jmp 0x44f7b2
xor edi, edi
jmp 0x44ea53
mov ebx, dword [esp + 0x1e4]
test ebx, 4
je 0x44fac7
mov ecx, dword [esp + 0x1cc]
mov edx, dword [ecx + 0x18]
cmp dword [edx], ecx
jne 0x44fac0
mov edx, dword [edx + 0x4c]
test edx, edx
je 0x44fac0
movzx ebx, byte [ebp + 0x20]
cmp bl, 5
je 0x44fa6a
cmp bl, 0xd
jne 0x44fa63
mov eax, dword [edx + 0x1c]
mov dword [esp + 0x1a4], eax
mov eax, dword [ecx + 0x18]
mov eax, dword [eax + 0x4c]
mov edx, dword [eax + 0xb8]
mov eax, dword [eax + 0xbc]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x17c], edx
mov dword [esp + 0x168], edi
mov dword [esp + 0x16c], ebp
mov dword [esp], ebp
mov dword [esp + 4], edi
mov ecx, dword [esp + 0x198]
mov dword [esp + 8], ecx
lea ecx, [esp + 0x90]
mov dword [esp + 0xc], ecx
call fcn.0044a0c0
mov eax, dword [esp + 0x1a4]
add eax, dword [esp + 0x10]
mov dword [esp + 0x1a8], eax
add eax, 4
mov dword [esp + 0x1a8], eax
mov ecx, dword [esp + 0x1d8]
mov edx, dword [esp + 0x178]
mov ebp, dword [esp + 0x16c]
mov edi, dword [esp + 0x168]
mov eax, dword [esp + 0x5c]
mov esi, dword [esp + 0x17c]
jmp 0x44ea31
mov edx, esi
jmp 0x44f9e0
mov eax, dword [edx + 0x20]
mov dword [esp + 0x198], eax
mov dword [esp], eax
call fcn.004497b0
mov ebp, dword [esp + 4]
mov edi, dword [esp + 8]
mov dword [esp + 0x190], ebp
mov dword [esp + 0x194], edi
mov ecx, dword [esp + 0x1cc]
mov eax, dword [ecx + 0x18]
mov eax, dword [eax + 0x4c]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x1a4], eax
mov eax, dword [ecx + 0x18]
mov eax, dword [eax + 0x4c]
mov edx, dword [eax + 0xb8]
mov eax, dword [eax + 0xbc]
jmp 0x44f9e0
mov edx, esi
jmp 0x44f9e0
mov ecx, dword [esp + 0x1cc]
jmp 0x44fac0
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x38]
jmp 0x44ecaa
mov eax, dword [esp + 0x2c]
mov esi, edi
jmp 0x44ecaa
mov eax, dword [esp + 0x1dc]
test eax, eax
je 0x44fb87
mov eax, dword [esp + 0x198]
mov dword [esp + 0x6c], eax
call fcn.00433c00
lea eax, [0x67f1ed]
mov dword [esp], eax
mov dword [esp + 4], 0x14
call fcn.004345e0
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.004344a0
call fcn.00433e20
call fcn.00433c70
mov eax, dword [esp + 0x1cc]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [esp + 0x190]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.00451480
mov eax, dword [esp + 0x1dc]
test eax, eax
jne 0x44fdd0
mov dword [esp + 0x1e8], 0
add esp, 0x1bc
ret
movzx ecx, byte [esp + 0x22]
test cl, cl
jne 0x44faf7
test eax, eax
jmp 0x44fb6f
mov edi, dword [esp + 0x1dc]
test edi, edi
setne cl
xor ecx, 1
mov edi, dword [esp + 0x74]
mov byte [esp + 0x22], cl
mov ecx, dword [esp + 0x1d4]
jmp 0x44e8c9
mov ebx, dword [ecx + 0x20]
mov edx, dword [ecx + 0x1c]
mov ebp, dword [ecx + 0x28]
jmp 0x44e877
mov ecx, dword [esp + 0x1cc]
mov ebx, dword [esp + 0x1c0]
xor ebp, ebp
jmp 0x44e877
mov edx, dword [esp + 0x1c4]
jmp 0x44fbc9
mov ecx, dword [esp + 0x1dc]
jmp 0x44e811
mov dword [esp + 0x6c], edx
mov dword [esp + 0x68], ebp
mov dword [esp + 0x38], eax
mov eax, dword [ebx + 0x50]
mov dword [esp + 0x74], eax
mov ecx, dword [ebx + 0x54]
mov dword [esp + 0x60], ecx
call fcn.00433c00
lea eax, [0x67b246]
mov dword [esp], eax
mov dword [esp + 4], 0xa
call fcn.004345e0
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 4], eax
call fcn.00434410
lea eax, [0x67b40e]
mov dword [esp], eax
mov dword [esp + 4], 0xb
call fcn.004345e0
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.004344a0
lea eax, [0x679df6]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.004345e0
mov eax, dword [esp + 0x68]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.004344a0
call fcn.00433e20
call fcn.00433c70
mov eax, dword [esp + 0x1cc]
mov ecx, dword [eax]
mov dword [esp + 0x6c], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x68], eax
call fcn.00433c00
lea eax, [0x67a8b9]
mov dword [esp], eax
mov dword [esp + 4], 8
call fcn.004345e0
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.004344a0
lea eax, [0x67991d]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.004345e0
mov eax, dword [esp + 0x68]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.004344a0
lea eax, [0x679cd0]
mov dword [esp], eax
mov dword [esp + 4], 4
call fcn.004345e0
mov eax, dword [esp + 0x38]
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
call fcn.00434410
lea eax, [0x679de2]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.004345e0
mov eax, dword [esp + 0x1d8]
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
call fcn.00434410
call fcn.00433e20
call fcn.00433c70
lea eax, [0x6859a7]
mov dword [esp], eax
mov dword [esp + 4], 0x23
call fcn.00432350
mov ecx, 0x100000
call fcn.0045c9a0
mov ecx, 0x100000
call fcn.0045c9a0
mov ecx, 0x100000
call fcn.0045c9a0
mov eax, edi
mov ecx, 0x100000
call fcn.0045c9a0
mov ecx, 0x100000
call fcn.0045c9a0
mov ecx, 0x100000
call fcn.0045c9a0
lea eax, [0x67dd11]
mov dword [esp], eax
mov dword [esp + 4], 0x11
call fcn.00432350
lea eax, [0x67b2c8]
mov dword [esp], eax
mov dword [esp + 4], 0xa
call fcn.00432350
lea eax, [0x68ae58]
mov dword [esp], eax
mov dword [esp + 4], 0x39
call fcn.00432350
lea eax, [0x68aa39]
mov dword [esp], eax
mov dword [esp + 4], 0x37
call fcn.00432350
nop
call fcn.0045b380
jmp fcn.0044e7d0