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

Disassembly:
mov ecx, dword [0x57adc8]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x44]
cmp eax, dword [ecx + 8]
jbe 0x44eb05
sub esp, 0xc4
mov eax, dword [esp + 0xcc]
test byte [eax], al
mov ecx, dword [esp + 0xc8]
test byte [ecx], al
mov edx, dword [esp + 0xd4]
mov ebx, dword [esp + 0xd8]
lea ebp, [ebx + edx]
mov dword [esp + 0x2c], ebp
mov esi, dword [0x57ade8]
mov edi, dword [0x57adec]
lea ebx, [ebx + edx - 0x20000]
neg ebx
neg ebx
shl ebp, 1
sar ebx, 0x1f
and ebx, ebp
mov dword [esp + 0x5c], ebx
lea ebp, [eax + ebx]
mov dword [esp + 0x88], ebp
test edi, edi
xchg edi, ebx
seta bl
xchg edi, ebx
sete dl
test esi, esi
xchg esi, ebx
seta bl
xchg esi, ebx
and edx, esi
or edx, edi
test dl, dl
jne 0x44ddb4
xor edx, edx
xor esi, esi
jmp 0x44dddd
call fcn.00469b20
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x88]
mov edx, ecx
mov esi, eax
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], edx
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x70], eax
xor eax, eax
mov dword [esp + 0x44], eax
xor eax, eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x70]
jmp 0x44de14
inc edx
mov esi, dword [esp + 0x20]
mov dword [esp + 0x44], edx
mov dword [esp + 0x28], ebx
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x5c]
mov edx, dword [esp + 0x44]
cmp edx, edi
jge 0x44de9b
lea esi, [ecx + edx*8]
mov esi, dword [esi]
test esi, esi
jne 0x44de4c
mov esi, dword [0x57aed0]
lea ebx, [ecx + edx*8 + 4]
test esi, esi
je 0x44de40
mov esi, dword [ebx]
call fcn.00469cd0
mov dword [edi], esi
mov edi, dword [esp + 0x2c]
mov dword [ebx], 0
mov ebx, dword [esp + 0x28]
jmp 0x44ddff
mov eax, dword [esp + 0x28]
lea ecx, [eax + 1]
mov dword [esp + 0x58], ecx
mov dword [esp], ecx
call fcn.00455ac0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xcc]
movzx edx, word [ecx + eax*2]
mov ebx, dword [esp + 0x28]
mov word [ecx + ebx*2], dx
mov edx, dword [esp + 0x44]
mov word [ecx + eax*2], dx
mov eax, ecx
mov ecx, dword [esp + 0xc8]
mov ebp, dword [esp + 0x88]
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x58]
jmp 0x44ddff
mov edx, dword [esp + 0x28]
mov dword [esp + 0x68], eax
xor eax, eax
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x68]
jmp 0x44decd
mov ebx, dword [esp + 0x40]
movzx edi, word [eax + ebx*2]
mov word [ebp + esi*2], di
inc ebx
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x5c]
mov esi, dword [esp + 0x40]
cmp esi, edx
jge 0x44deea
movzx edi, word [eax + esi*2]
lea edi, [ecx + edi*8]
mov edi, dword [edi]
mov dword [esp + 0xa0], edi
jmp 0x44ea6e
lea esi, [edx - 1]
jmp 0x44df0c
mov eax, dword [esp + 0x34]
mov word [ebp + eax*2], dx
dec esi
mov eax, dword [esp + 0xcc]
mov ebx, dword [esp + 0x5c]
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
test esi, esi
jl 0x44df56
mov dword [esp + 0x3c], esi
movzx edx, word [ebp + esi*2]
mov word [esp + 0x1e], dx
movzx edi, dx
lea edi, [ecx + edi*8]
movzx eax, word [eax + ebx]
mov edi, dword [edi]
mov dword [esp + 0x9c], edi
mov word [ebp + esi*2], ax
xor eax, eax
jmp 0x44e977
mov ecx, dword [esp + 0xc8]
movzx edx, word [esp + 0x1e]
mov ebp, dword [esp + 0x88]
mov esi, dword [esp + 0x3c]
jmp 0x44deef
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], edi
call fcn.0044db60
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0xc8]
mov ebx, dword [esp + 0xcc]
xor ebp, ebp
jmp 0x44dfaf
mov esi, dword [esp + 0x5c]
lea ebp, [esi + 1]
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0xc8]
mov ebx, dword [esp + 0xcc]
cmp ebp, ecx
jge 0x44e366
mov dword [esp + 0x5c], ebp
movzx esi, word [ebx + ebp*2]
mov dword [esp + 0x58], esi
lea edi, [edx + esi*8]
mov edi, dword [edi]
mov dword [esp + 0x98], edi
cmp eax, esi
jle 0x44e005
mov esi, dword [edi + 0x10]
test esi, esi
jne 0x44e93f
lea eax, [edi + 0x20]
mov dword [esp], eax
call fcn.004075d0
mov eax, dword [esp + 4]
test eax, eax
jne 0x44e0e0
mov eax, dword [esp + 0x98]
mov ecx, dword [eax]
cmp dword [eax + 4], ecx
jbe 0x44df8f
jmp 0x44e03f
test byte [edi], al
lea eax, [edi + 0x28]
mov dword [esp], eax
call fcn.004075d0
mov eax, dword [esp + 4]
test eax, eax
jne 0x44e2c0
mov eax, dword [esp + 0x98]
mov ecx, dword [eax]
test ecx, ecx
ja 0x44e1f8
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x44df8f
jmp 0x44e186
mov ecx, dword [eax + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00406370
mov eax, dword [esp + 0x98]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0xc8]
lea esi, [ebp + ebx*8 + 4]
mov esi, dword [esi]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], esi
call fcn.00413280
mov eax, dword [esp + 0x98]
mov ecx, dword [eax + 0x18]
inc ecx
mov dword [eax + 0x18], ecx
cmp dword [eax + 4], ecx
jne 0x44e097
mov dword [eax + 0x18], 0
inc dword [eax]
mov eax, dword [esp + 0xc8]
mov dword [esp], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x88]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call fcn.0044dbd0
mov ecx, 0xffffffff
mov edx, 0xffffffff
mov eax, dword [esp + 0x58]
xor ebx, ebx
jmp 0x44e3d7
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0xc8]
lea ebx, [edx + ecx*8 + 4]
lea edi, [esp + 0xa8]
mov ebp, eax
xor eax, eax
call fcn.00469da9
lea ecx, [0x44eb10]
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xac], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0xbc], edx
mov dword [esp + 0xc0], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0xb8], ecx
mov ecx, dword [ebx]
mov edx, dword [esp + 0x98]
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
lea ecx, [esp + 0xa8]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 2
call fcn.00406900
mov ecx, 0xffffffff
mov edx, 0xffffffff
mov eax, dword [esp + 0x58]
xor ebx, ebx
jmp 0x44e3d7
mov eax, dword [esp + 0xc8]
mov dword [esp], eax
mov ecx, dword [esp + 0x2c]
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x88]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
call fcn.0044dbd0
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0xc8]
lea ecx, [ecx + eax*8 + 4]
mov ecx, dword [ecx]
test ecx, ecx
je 0x44e1e7
mov eax, dword [esp + 0x98]
mov eax, dword [eax + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004134c0
mov eax, dword [esp + 0x58]
mov ecx, 0xffffffff
mov edx, 0xffffffff
xor ebx, ebx
jmp 0x44e3d7
mov ecx, dword [eax + 0x1c]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00406370
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0xc8]
lea edx, [ecx + eax*8 + 4]
mov edx, dword [edx]
mov ebx, dword [esp + 8]
test edx, edx
je 0x44e244
mov dword [esp + 0x80], ebx
mov eax, dword [esp + 0x98]
mov ecx, dword [eax + 0x14]
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.00413280
mov ebx, dword [esp + 0x80]
mov eax, dword [esp + 0x98]
mov ecx, dword [eax + 0x14]
mov dword [esp], ecx
mov dword [esp + 4], ebx
call fcn.004134c0
mov eax, dword [esp + 0x98]
mov ecx, dword [eax + 0x1c]
inc ecx
mov dword [eax + 0x1c], ecx
cmp dword [eax + 4], ecx
jne 0x44e274
mov dword [eax + 0x1c], 0
dec dword [eax]
mov eax, dword [esp + 0xc8]
mov dword [esp], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x88]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call fcn.0044dbd0
mov ecx, 0xffffffff
mov edx, 0xffffffff
mov eax, dword [esp + 0x58]
mov ebx, 1
jmp 0x44e3d7
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0xc8]
lea ebx, [edx + ecx*8 + 4]
lea edi, [esp + 0xa8]
mov ebp, eax
xor eax, eax
call fcn.00469da9
lea ecx, [0x44eb60]
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xac], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0xbc], edx
mov dword [esp + 0xc0], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0xb8], ecx
mov ecx, dword [ebx]
mov edx, dword [esp + 0x98]
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
lea ecx, [esp + 0xa8]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 2
call fcn.004072c0
mov ecx, 0xffffffff
mov edx, 0xffffffff
mov eax, dword [esp + 0x58]
mov ebx, 1
jmp 0x44e3d7
movzx ebx, byte [esp + 0xdc]
test bl, bl
je 0x44e39f
mov ebx, dword [0x57adc8]
mov ebx, dword fs:[ebx]
mov ebx, dword [ebx]
mov ebp, dword [ebx + 0xbc]
test ebp, ebp
jne 0x44e929
mov dword [esp + 0x90], ebx
lea ebp, [ebx + 0xbc]
xor esi, esi
jmp 0x44e467
mov dword [esp], edx
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov dword [esp + 8], eax
mov edx, dword [esp + 0x88]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call fcn.0044dbd0
mov ecx, 0xffffffff
mov edx, 0xffffffff
mov eax, 0xffffffff
xor ebx, ebx
test ecx, ecx
xchg ebp, ebx
setg bl
xchg ebp, ebx
xchg esi, ebx
sete bl
xchg esi, ebx
test edx, edx
xchg edi, ebx
seta bl
xchg edi, ebx
and esi, edi
or ebp, esi
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x44e42b
mov byte [esp + 0x1b], bl
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x20]
sub edx, eax
mov eax, dword [esp + 0x24]
sbb ecx, eax
mov dword [esp + 4], ecx
mov dword [esp], edx
mov dword [esp + 8], 1
call fcn.00433b00
mov eax, dword [esp + 0x48]
movzx ebx, byte [esp + 0x1b]
mov dword [esp + 0xe0], eax
mov byte [esp + 0xe4], bl
add esp, 0xc4
ret
mov edi, dword [esp + 0x5c]
lea esi, [edi + 1]
mov edi, dword [esp + 0x7c]
lea ebp, [edi + 0x2c]
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0xc8]
mov ebx, dword [esp + 0x90]
cmp esi, ecx
jge 0x44e5c0
mov dword [esp + 0x5c], esi
mov dword [esp + 0x84], ebp
mov eax, dword [esp + 0x88]
movzx ecx, word [eax + esi*2]
mov dword [esp + 0x58], ecx
lea ebx, [edx + ecx*8]
mov ebx, dword [ebx]
mov dword [esp + 0x98], ebx
call fcn.0043ee50
mov eax, dword [esp]
test byte [eax], al
mov ecx, dword [0x57aed0]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0xc8]
lea ebp, [ebx + edx*8 + 4]
mov esi, dword [esp + 0x20]
test esi, esi
xchg edi, ebx
setne bl
xchg edi, ebx
mov esi, dword [esp + 0x24]
test esi, esi
xchg esi, ebx
setne bl
xchg esi, ebx
or esi, edi
test ecx, ecx
je 0x44e4ee
call fcn.00469ce0
mov ecx, dword [esp + 0x90]
mov dword [edi], ecx
mov ebx, dword [eax]
mov dword [edi + 4], ebx
mov ebx, dword [esp + 0xc8]
mov ecx, dword [esp + 0x90]
mov dword [eax], ecx
mov byte [eax + 0x24], 1
mov edi, dword [0x57aed0]
mov ebp, dword [ebp]
test edi, edi
je 0x44e51c
call fcn.00469ce0
mov dword [edi], ebp
mov ecx, dword [eax + 0xc]
mov dword [edi + 4], ecx
mov ecx, dword [esp + 0x90]
mov dword [eax + 0xc], ebp
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
xchg esi, eax
test al, al
xchg esi, eax
je 0x44e541
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x1c], 0xffffffff
mov ebp, dword [0x57aed0]
test ebp, ebp
jne 0x44e55b
mov ebp, dword [esp + 0x98]
mov esi, dword [esp + 0x84]
jmp 0x44e57e
call fcn.00469d00
mov ebp, dword [esp + 0x98]
mov dword [edi], ebp
mov esi, dword [eax + 0x34]
mov dword [edi + 4], esi
mov dword [edi + 8], eax
mov esi, dword [esp + 0x84]
mov ecx, dword [esi]
mov dword [edi + 0xc], ecx
mov dword [esp + 0x7c], eax
mov dword [eax + 0x34], ebp
mov dword [esi], eax
mov ecx, dword [esp + 0xd4]
cmp ecx, edx
jle 0x44e5a9
test byte [ebp], al
lea ecx, [ebp + 0x28]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00407520
jmp 0x44e440
test byte [ebp], al
lea ecx, [ebp + 0x20]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00407520
jmp 0x44e440
test byte [ebx], al
mov ebp, dword [0x57aed0]
test ebp, ebp
je 0x44e5d6
mov ebp, dword [ebx + 0x44]
call fcn.00469cd0
mov dword [edi], ebp
mov dword [ebx + 0x44], 0
lea eax, [ebx + 0x6d]
mov dword [esp], eax
mov byte [esp + 4], 1
call fcn.00403520
lea eax, [0x4df25c]
mov dword [esp], eax
mov dword [esp + 4], 0
mov word [esp + 8], 0x1809
mov dword [esp + 0xc], 1
call fcn.0043ec60
mov eax, dword [esp + 0x90]
mov byte [eax + 0x6c], 0
mov ecx, dword [esp + 0xc8]
mov dword [esp], ecx
mov edx, dword [esp + 0x2c]
mov dword [esp + 4], edx
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x88]
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], edx
call fcn.0044db60
mov eax, dword [esp + 0x90]
lea ecx, [eax + 0xd4]
mov dword [esp], ecx
mov dword [esp + 4], 0
call fcn.00403560
mov eax, dword [0x57aed0]
mov ecx, dword [esp + 0x90]
mov edx, dword [ecx + 0x44]
test eax, eax
je 0x44e68a
mov eax, dword [ecx + 0x44]
call fcn.00469cd0
mov dword [edi], eax
mov dword [ecx + 0x44], 0
mov eax, dword [ecx + 0xbc]
mov ebx, eax
jmp 0x44e6ac
mov dword [eax + 0xc], 0
mov dword [eax + 0x34], 0
mov eax, dword [eax + 0x2c]
test eax, eax
je 0x44e6d0
mov byte [eax + 0x24], 0
mov ebp, dword [0x57aed0]
test ebp, ebp
je 0x44e69b
mov ebp, dword [eax + 0xc]
call fcn.00469ce0
mov dword [edi], ebp
mov ebp, dword [eax + 0x34]
mov dword [edi + 4], ebp
jmp 0x44e69b
mov eax, dword [0x57aed0]
test eax, eax
je 0x44e6e7
mov eax, dword [ecx + 0xbc]
call fcn.00469cd0
mov dword [edi], eax
mov dword [esp + 0xa4], edx
mov dword [ecx + 0xbc], 0
xor eax, eax
xor ecx, ecx
mov ebp, 0xffffffff
xor esi, esi
mov edi, 0xffffffff
mov eax, 0xffffffff
mov dword [esp + 0x4c], eax
xor eax, eax
jmp 0x44e748
mov dword [ebx + 0x2c], 0
mov dword [esp], ebx
call fcn.0043f0d0
mov eax, dword [esp + 0x5c]
inc eax
mov edx, dword [esp + 0xa4]
mov ebx, dword [esp + 0x78]
mov ecx, dword [esp + 0x94]
mov ebp, dword [esp + 0x48]
movzx esi, byte [esp + 0x1c]
mov edi, dword [esp + 0x50]
mov dword [esp + 0x50], edi
xchg esi, eax
mov byte [esp + 0x1c], al
xchg esi, eax
mov dword [esp + 0x48], ebp
mov esi, dword [esp + 0x28]
cmp eax, esi
jge 0x44e860
mov dword [esp + 0x5c], eax
mov dword [esp + 0x94], ecx
mov esi, dword [esp + 0x88]
movzx esi, word [esi + eax*2]
mov eax, dword [esp + 0xc8]
lea ecx, [eax + esi*8]
cmp ebx, edx
jne 0x44e7c7
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x58], esi
mov ebp, dword [ebx + 0x18]
mov edx, dword [ebx + 0x1c]
test edx, edx
sete al
setg cl
test ebp, ebp
xchg esi, ebx
seta bl
xchg esi, ebx
and eax, esi
or ecx, eax
test cl, cl
jne 0x44e7b6
mov edx, edi
mov ebp, dword [esp + 0x4c]
movzx esi, byte [ebx + 0x25]
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x58]
jmp 0x44e81b
mov dword [esp + 0x78], ebx
lea ecx, [eax + esi*8]
mov ecx, dword [ecx]
mov edx, dword [esp + 0xd4]
cmp edx, esi
jle 0x44e7ee
test byte [ecx], al
lea eax, [ecx + 0x28]
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.0044ebd0
jmp 0x44e7ff
test byte [ecx], al
lea eax, [ecx + 0x20]
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.0044ebd0
mov ebx, dword [esp + 0x78]
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x48]
movzx esi, byte [esp + 0x1c]
mov edx, dword [esp + 0x50]
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], edx
xchg esi, eax
mov byte [esp + 0x1c], al
xchg esi, eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x94], eax
mov edi, dword [0x57aed0]
mov eax, dword [ebx + 0x2c]
mov dword [esp + 0x78], eax
test edi, edi
je 0x44e715
mov edi, dword [ebx + 0x2c]
mov dword [esp + 0x54], edi
call fcn.00469cd0
mov eax, dword [esp + 0x54]
mov dword [edi], eax
jmp 0x44e715
test ecx, ecx
je 0x44e913
mov eax, dword [esp + 0xd4]
cmp eax, ebp
jle 0x44e880
movzx eax, byte [esp + 0x1c]
test al, al
je 0x44e8cd
xor eax, eax
jmp 0x44e885
movzx eax, byte [esp + 0x1c]
mov byte [esp + 0x1b], al
mov ecx, dword [esp + 0xc8]
mov dword [esp], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x88]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ecx
call fcn.0044dbd0
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
movzx ebx, byte [esp + 0x1b]
jmp 0x44e3d7
mov eax, dword [esp + 0xc8]
mov dword [esp], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x88]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], eax
call fcn.0044dbd0
lea eax, [0x4c60a0]
mov dword [esp], eax
lea eax, [0x4e4338]
mov dword [esp + 4], eax
call fcn.0043bb10
lea eax, [0x4d7658]
mov dword [esp], eax
mov dword [esp + 4], 0x14
call fcn.0043c250
lea eax, [0x4d6501]
mov dword [esp], eax
mov dword [esp + 4], 0x11
call fcn.0043c250
mov esi, ecx
jmp 0x44e8cd
mov eax, dword [esp + 0x58]
mov ebp, dword [esp + 0x88]
movzx ecx, word [ebp + eax*2]
mov edx, dword [esp + 0x34]
mov word [ebp + edx*2], cx
mov ecx, dword [esp + 0xc8]
movzx edx, word [esp + 0x1e]
mov ebx, dword [esp + 0x5c]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x9c]
mov dword [esp + 0x34], eax
shl eax, 1
lea ebx, [eax + 1]
cmp esi, ebx
jle 0x44deef
add eax, 2
cmp esi, eax
jle 0x44ea00
mov dword [esp + 0x30], ebx
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x34]
lea edx, [ebp + eax*4 + 2]
movzx edx, word [edx]
lea edx, [ecx + edx*8]
mov edx, dword [edx]
mov dword [esp], edx
call fcn.0044ebb0
mov eax, dword [esp + 4]
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x88]
lea ebx, [edx + ecx*4 + 4]
movzx ebx, word [ebx]
mov ebp, dword [esp + 0xc8]
lea ebx, [ebp + ebx*8]
mov ebx, dword [ebx]
mov dword [esp], ebx
call fcn.0044ebb0
mov eax, dword [esp + 0x54]
cmp dword [esp + 4], eax
jbe 0x44e9f5
mov edi, dword [esp + 0x9c]
mov ebx, dword [esp + 0x58]
jmp 0x44ea00
mov edi, dword [esp + 0x9c]
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x58], ebx
mov dword [esp], edi
call fcn.0044ebb0
mov eax, dword [esp + 4]
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x88]
movzx ebx, word [edx + ecx*2]
mov ebp, dword [esp + 0xc8]
lea ebx, [ebp + ebx*8]
mov ebx, dword [ebx]
mov dword [esp], ebx
call fcn.0044ebb0
mov eax, dword [esp + 0x54]
cmp dword [esp + 4], eax
ja 0x44e943
jmp 0x44df3d
lea ebx, [esi - 1]
shr ebx, 0x1f
lea ebx, [esi + ebx - 1]
sar ebx, 1
movzx edi, word [ebp + ebx*2]
mov word [ebp + esi*2], di
mov edi, dword [esp + 0xa0]
mov esi, ebx
mov ebx, dword [esp + 0x5c]
test esi, esi
jg 0x44ea82
mov dword [esp + 0x60], eax
xor eax, eax
mov byte [esp + 0x1d], al
mov eax, dword [esp + 0x60]
jmp 0x44eaf3
mov dword [esp + 0x38], esi
lea eax, [esi - 1]
shr eax, 0x1f
lea eax, [esi + eax - 1]
and eax, 0xfffffffe
movzx eax, word [ebp + eax]
lea eax, [ecx + eax*8]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.0044ebb0
mov eax, dword [esp + 4]
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0xa0]
mov dword [esp], ecx
call fcn.0044ebb0
mov eax, dword [esp + 0x54]
cmp dword [esp + 4], eax
seta al
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x88]
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0xa0]
mov byte [esp + 0x1d], al
mov eax, dword [esp + 0xcc]
movzx ebx, byte [esp + 0x1d]
test bl, bl
jne 0x44ea4b
jmp 0x44deaf
call fcn.004688b0
jmp fcn.0044dd20