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

Disassembly:
sub esp, 0x8c
mov eax, dword [0x52d4d0]
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 0x440f39
jmp 0x440c10
cmp dword [esp + 0x24], 6
jge 0x440f31
mov byte [esp + 0x13], 0
test al, al
je 0x440c3c
movzx eax, al
push eax
call fcn.004aa994
add esp, 4
test eax, eax
jne 0x440c3c
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x440c24
movzx ecx, byte [edi]
push ecx
call fcn.004aa68c
add esp, 4
test eax, eax
je 0x440d78
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.004a9fba
lea eax, [esp + 0x80]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x440cb7
sub eax, edx
cmp dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x40], eax
jne 0x440d10
mov ebx, 0x4f1264
cmp eax, 3
ja 0x440cda
mov ebx, 0x4f1248
xor esi, esi
lea esp, [esp]
mov eax, dword [ebx]
push eax
lea ecx, [esp + 0x78]
push ecx
call fcn.00432700
add esp, 8
test eax, eax
jne 0x440d07
inc esi
add ebx, 4
cmp esi, 7
jl 0x440ce0
mov dword [esp + 0x2c], 0xffffffff
jmp 0x440d10
mov dword [esp + 0x2c], esi
cmp esi, 0xffffffff
jne 0x440d6d
cmp dword [esp + 0x1c], 0xffffffff
jne 0x440d50
mov ebx, 0x4f1280
xor esi, esi
mov edi, edi
mov edx, dword [ebx]
push edx
lea eax, [esp + 0x78]
push eax
call fcn.00432700
add esp, 8
test eax, eax
jne 0x440d47
inc esi
add ebx, 4
cmp esi, 0xc
jl 0x440d20
mov dword [esp + 0x1c], 0xffffffff
jmp 0x440d50
mov dword [esp + 0x1c], esi
cmp esi, 0xffffffff
jne 0x440d6d
cmp ebp, 0xffffffff
jne 0x441022
lea ebx, [esp + 0x74]
call fcn.00440b70
mov ebp, eax
cmp ebp, 0xffffffff
je 0x441022
add edi, dword [esp + 0x40]
xor ebx, ebx
jmp 0x440f20
movzx ecx, byte [edi]
push ecx
call fcn.004aa80b
add esp, 4
test eax, eax
je 0x440f20
cmp dword [esp + 0x20], 0xffffffff
jne 0x440dbd
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.004a9fba
add esp, 0x14
cmp eax, 3
jne 0x440dbd
add edi, 8
jmp 0x440f20
push 0xa
lea edx, [esp + 0x48]
push edx
push edi
call fcn.004ab84e
mov esi, dword [esp + 0x50]
add esp, 0xc
mov ecx, eax
cmp ebp, 0xffffffff
jne 0x440e33
mov eax, esi
sub eax, edi
cmp eax, 4
jne 0x440e33
cmp ecx, 0x578
jg 0x440e33
cmp dword [esp + 0x48], edi
jae 0x440e33
mov bl, byte [edi - 1]
cmp bl, 0x2b
je 0x440dfc
cmp bl, 0x2d
jne 0x440e31
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 0x440e31
neg ebp
xor ebx, ebx
mov eax, esi
sub eax, edi
or edx, 0xffffffff
cmp eax, 8
jne 0x440ea3
cmp dword [esp + 0x14], edx
jne 0x440ea3
cmp dword [esp + 0x1c], edx
jne 0x440ea3
cmp dword [esp + 0x18], edx
jne 0x440ea3
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 0x440f1e
cmp byte [esp + 0x13], 0
jne 0x440f1e
mov eax, dword [esp + 0x30]
cmp eax, ebx
jne 0x440ede
cmp dword [esp + 0x18], edx
jne 0x441029
lea eax, [ecx - 1]
cmp eax, 0x1e
ja 0x440ecd
mov dword [esp + 0x18], ecx
mov byte [esp + 0x13], 1
cmp byte [esp + 0x13], 0
mov dword [esp + 0x30], 1
jne 0x440f1e
jmp 0x440ee7
cmp eax, 1
jne 0x441029
cmp dword [esp + 0x14], edx
jne 0x441029
cmp ecx, 0x76c
mov dword [esp + 0x14], ecx
jge 0x440f14
cmp ecx, 0x46
jle 0x440f0a
add ecx, 0x76c
jmp 0x440f10
add ecx, 0x7d0
mov dword [esp + 0x14], ecx
cmp dword [esp + 0x18], edx
jne 0x440f1e
mov dword [esp + 0x30], ebx
mov edi, esi
mov al, byte [edi]
inc dword [esp + 0x24]
or ecx, 0xffffffff
test al, al
jne 0x440c10
mov eax, dword [esp + 0x20]
cmp eax, ecx
jne 0x440f47
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 0x441030
mov edx, dword [esp + 0x1c]
cmp edx, ecx
je 0x441030
mov ecx, dword [esp + 0x14]
cmp ecx, 0xffffffff
je 0x44102d
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.004ad94a
mov esi, eax
add esp, 4
mov edi, edx
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], edi
cmp esi, 0xffffffff
je 0x44101c
lea edx, [esp + 0x38]
push edx
call fcn.004acb8e
add esp, 4
cmp eax, ebx
je 0x441022
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.004ad94a
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 0x441015
mov eax, ecx
cdq
add eax, esi
adc edx, edi
cmp edx, edi
jg 0x441015
jl 0x441022
cmp eax, esi
jb 0x441022
mov eax, ecx
cdq
add esi, eax
adc edi, edx
mov eax, esi
mov edx, edi
jmp 0x441034
or eax, 0xffffffff
or edx, eax
jmp 0x441034
mov eax, edx
jmp 0x441034
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.004a58c9
add esp, 0x8c
ret
mov ecx, dword [esp + 4]
jmp 0x440bb0