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

Disassembly:
sub esp, 0x8c
mov eax, dword [0x516b80]
xor eax, esp
mov dword [esp + 0x88], eax
push ebx
push ebp
push esi
xor ebx, ebx
push edi
mov edi, ecx
or ecx, 0xffffffff
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x20], ecx
mov al, byte [edi]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], ecx
mov ebp, ecx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x48], edi
mov dword [esp + 0x24], ebx
test al, al
je 0x440969
jmp 0x440640
cmp dword [esp + 0x24], 6
jge 0x440961
mov byte [esp + 0x13], 0
test al, al
je 0x44066c
movzx eax, al
push eax
call fcn.0049c224
add esp, 4
test eax, eax
jne 0x44066c
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x440654
movzx ecx, byte [edi]
push ecx
call fcn.0049bf1c
add esp, 4
test eax, eax
je 0x4407a8
xor eax, eax
lea edx, [esp + 0x74]
push edx
push str._31_A_Za_z_
push edi
mov byte [esp + 0x80], 0
mov dword [esp + 0x81], eax
mov dword [esp + 0x85], eax
mov dword [esp + 0x89], eax
mov dword [esp + 0x8d], eax
mov dword [esp + 0x91], eax
mov dword [esp + 0x95], eax
mov dword [esp + 0x99], eax
mov word [esp + 0x9d], ax
mov byte [esp + 0x9f], al
call fcn.0049b84a
lea eax, [esp + 0x80]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4406e7
sub eax, edx
cmp dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x40], eax
jne 0x440740
mov ebx, 0x4e0144
cmp eax, 3
ja 0x44070a
mov ebx, 0x4e0128
xor esi, esi
lea esp, [esp]
mov eax, dword [ebx]
push eax
lea ecx, [esp + 0x78]
push ecx
call fcn.00432120
add esp, 8
test eax, eax
jne 0x440737
inc esi
add ebx, 4
cmp esi, 7
jl 0x440710
mov dword [esp + 0x2c], 0xffffffff
jmp 0x440740
mov dword [esp + 0x2c], esi
cmp esi, 0xffffffff
jne 0x44079d
cmp dword [esp + 0x1c], 0xffffffff
jne 0x440780
mov ebx, 0x4e0160
xor esi, esi
mov edi, edi
mov edx, dword [ebx]
push edx
lea eax, [esp + 0x78]
push eax
call fcn.00432120
add esp, 8
test eax, eax
jne 0x440777
inc esi
add ebx, 4
cmp esi, 0xc
jl 0x440750
mov dword [esp + 0x1c], 0xffffffff
jmp 0x440780
mov dword [esp + 0x1c], esi
cmp esi, 0xffffffff
jne 0x44079d
cmp ebp, 0xffffffff
jne 0x440a52
lea ebx, [esp + 0x74]
call fcn.004405a0
mov ebp, eax
cmp ebp, 0xffffffff
je 0x440a52
add edi, dword [esp + 0x40]
xor ebx, ebx
jmp 0x440950
movzx ecx, byte [edi]
push ecx
call fcn.0049c09b
add esp, 4
test eax, eax
je 0x440950
cmp dword [esp + 0x20], 0xffffffff
jne 0x4407ed
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x3c]
push ecx
push str._02d:_02d:_02d
push edi
call fcn.0049b84a
add esp, 0x14
cmp eax, 3
jne 0x4407ed
add edi, 8
jmp 0x440950
push 0xa
lea edx, [esp + 0x48]
push edx
push edi
call fcn.0049d0de
mov esi, dword [esp + 0x50]
add esp, 0xc
mov ecx, eax
cmp ebp, 0xffffffff
jne 0x440863
mov eax, esi
sub eax, edi
cmp eax, 4
jne 0x440863
cmp ecx, 0x578
jg 0x440863
cmp dword [esp + 0x48], edi
jae 0x440863
mov bl, byte [edi - 1]
cmp bl, 0x2b
je 0x44082c
cmp bl, 0x2d
jne 0x440861
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + eax*4]
add edx, edx
add edx, edx
add edx, edx
mov eax, ecx
sub eax, edx
mov ebp, eax
shl ebp, 4
sub ebp, eax
add ebp, ebp
add ebp, ebp
mov byte [esp + 0x13], 1
cmp bl, 0x2b
jne 0x440861
neg ebp
xor ebx, ebx
mov eax, esi
sub eax, edi
or edx, 0xffffffff
cmp eax, 8
jne 0x4408d3
cmp dword [esp + 0x14], edx
jne 0x4408d3
cmp dword [esp + 0x1c], edx
jne 0x4408d3
cmp dword [esp + 0x18], edx
jne 0x4408d3
mov eax, 0x68db8bad
imul ecx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x14], eax
imul eax, eax, 0x2710
mov edx, ecx
sub edx, eax
mov eax, 0x51eb851f
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
lea edx, [edx + eax - 1]
mov dword [esp + 0x1c], edx
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x64
sub ecx, eax
mov dword [esp + 0x18], ecx
jmp 0x44094e
cmp byte [esp + 0x13], 0
jne 0x44094e
mov eax, dword [esp + 0x30]
cmp eax, ebx
jne 0x44090e
cmp dword [esp + 0x18], edx
jne 0x440a59
lea eax, [ecx - 1]
cmp eax, 0x1e
ja 0x4408fd
mov dword [esp + 0x18], ecx
mov byte [esp + 0x13], 1
cmp byte [esp + 0x13], 0
mov dword [esp + 0x30], 1
jne 0x44094e
jmp 0x440917
cmp eax, 1
jne 0x440a59
cmp dword [esp + 0x14], edx
jne 0x440a59
cmp ecx, 0x76c
mov dword [esp + 0x14], ecx
jge 0x440944
cmp ecx, 0x46
jle 0x44093a
add ecx, 0x76c
jmp 0x440940
add ecx, 0x7d0
mov dword [esp + 0x14], ecx
cmp dword [esp + 0x18], edx
jne 0x44094e
mov dword [esp + 0x30], ebx
mov edi, esi
mov al, byte [edi]
inc dword [esp + 0x24]
or ecx, 0xffffffff
test al, al
jne 0x440640
mov eax, dword [esp + 0x20]
cmp eax, ecx
jne 0x440977
xor eax, eax
mov dword [esp + 0x34], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x20], eax
mov esi, dword [esp + 0x18]
cmp esi, ecx
je 0x440a60
mov edx, dword [esp + 0x1c]
cmp edx, ecx
je 0x440a60
mov ecx, dword [esp + 0x14]
cmp ecx, 0xffffffff
je 0x440a5d
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x28]
add ecx, 0xfffff894
mov dword [esp + 0x64], ecx
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x50]
push ecx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], edx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
call fcn.0049f1da
mov esi, eax
add esp, 4
mov edi, edx
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], edi
cmp esi, 0xffffffff
je 0x440a4c
lea edx, [esp + 0x38]
push edx
call fcn.0049e41e
add esp, 4
cmp eax, ebx
je 0x440a52
mov esi, eax
lea eax, [esp + 0x74]
mov ecx, 9
lea edi, [esp + 0x74]
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.0049f1da
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x40]
mov ecx, ebp
inc ecx
add esp, 4
neg ecx
sbb ecx, ecx
and ecx, ebp
sub ecx, eax
add ecx, esi
cmp ecx, ebx
mov dword [esp + 0x4c], edx
jle 0x440a45
mov eax, ecx
cdq
add eax, esi
adc edx, edi
cmp edx, edi
jg 0x440a45
jl 0x440a52
cmp eax, esi
jb 0x440a52
mov eax, ecx
cdq
add esi, eax
adc edi, edx
mov eax, esi
mov edx, edi
jmp 0x440a64
or eax, 0xffffffff
or edx, eax
jmp 0x440a64
mov eax, edx
jmp 0x440a64
or ecx, 0xffffffff
mov eax, ecx
mov edx, ecx
mov ecx, dword [esp + 0x98]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00497164
add esp, 0x8c
ret
mov ecx, dword [esp + 4]
jmp 0x4405e0