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

Disassembly:
push 0xffffffffffffffff
push 0x4e8473
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x3c
push ebx
push ebp
push esi
mov ebp, ecx
xor esi, esi
push edi
mov ecx, dword [ebp + 0x80]
push esi
call fcn.0049c4d0
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x84]
cmp eax, esi
je 0x443b59
push eax
call fcn.004b124a
add esp, 4
mov dword [ebp + 0x84], esi
mov al, byte [esp + 0x5c]
push esi
lea ecx, [esp + 0x30]
mov dword [ebp + 0x88], esi
mov dword [ebp + 0x8c], esi
mov byte [esp + 0x30], al
call fcn.00401510
mov edi, 0x504cf4
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x30]
push ebx
call fcn.00401580
test al, al
je 0x443bbd
mov edi, dword [esp + 0x30]
mov ecx, ebx
mov edx, ecx
mov esi, 0x504cf4
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x30]
call fcn.00401560
xor esi, esi
mov eax, dword [0x4ec400]
mov ecx, dword [esp + 0x5c]
push eax
push esi
push ecx
lea ecx, [esp + 0x38]
mov dword [esp + 0x60], esi
call fcn.00416cf0
mov ecx, dword [ebp + 0xa8]
cmp ecx, esi
je 0x443be7
push 0xe
call fcn.0049c080
mov eax, dword [esp + 0x30]
cmp eax, esi
jne 0x443bf4
mov eax, 0x4ec3fc
push eax
push 8
push esi
mov ecx, ebp
call fcn.0049c4d0
push eax
mov ecx, ebp
call fcn.00443aa0
cmp eax, esi
mov dword [ebp + 0xa8], eax
je 0x443c1c
push 1
push 0xe
mov ecx, eax
call fcn.0049c040
mov dl, byte [esp + 0x5c]
push esi
lea ecx, [esp + 0x20]
mov byte [esp + 0x20], dl
call fcn.00401510
mov edi, 0x504ce8
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x20]
push ebx
call fcn.00401580
test al, al
je 0x443c74
mov edi, dword [esp + 0x20]
mov ecx, ebx
mov eax, ecx
mov esi, 0x504ce8
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x20]
call fcn.00401560
xor esi, esi
mov ecx, dword [0x4ec400]
mov edx, dword [esp + 0x5c]
push ecx
push esi
push edx
lea ecx, [esp + 0x28]
mov byte [esp + 0x60], 1
call fcn.00416cf0
mov ecx, dword [ebp + 0xa4]
cmp ecx, esi
je 0x443ca0
push 0xe
call fcn.0049c080
mov eax, dword [esp + 0x20]
cmp eax, esi
jne 0x443cad
mov eax, 0x4ec3fc
push eax
push 8
push esi
mov ecx, ebp
call fcn.0049c4d0
push eax
mov ecx, ebp
call fcn.00443aa0
cmp eax, esi
mov dword [ebp + 0xa4], eax
je 0x443e57
push 1
push 0xe
mov ecx, eax
call fcn.0049c040
mov eax, dword [ebp + 0x80]
mov ecx, dword [eax + 0x74]
mov dword [ebp + 0xd8], ecx
mov eax, dword [eax + 0x78]
mov ecx, dword [ebp + 0xa4]
mov dword [ebp + 0xdc], eax
call fcn.00433330
cdq
idiv dword [ebp + 0xdc]
mov ecx, dword [ebp + 0xa4]
mov dword [ebp + 0xe0], eax
call fcn.004a6bd0
cdq
idiv dword [ebp + 0xd8]
push 0x504ce0
push 5
mov ecx, ebp
mov dword [ebp + 0xe4], eax
mov eax, dword [ebp + 0x80]
push eax
call fcn.00443aa0
mov dword [ebp + 0x78], eax
mov eax, dword [ebp + 0xd8]
cmp eax, esi
mov dword [esp + 0x10], esi
mov dword [esp + 0x5c], esi
jle 0x443e4f
jmp 0x443d53
xor esi, esi
mov eax, dword [ebp + 0xdc]
xor ebx, ebx
test eax, eax
jle 0x443e38
mov eax, dword [ebp + 0xe4]
mov ecx, dword [ebp + 0xe0]
push eax
imul eax, dword [esp + 0x60]
push ecx
imul ecx, ebx
push eax
push ecx
lea ecx, [esp + 0x4c]
call fcn.0049c120
push 0xcc
mov byte [esp + 0x58], 2
call fcn.004be7b5
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov byte [esp + 0x54], 3
je 0x443dba
mov edx, dword [ebp + 0xa4]
lea ecx, [esp + 0x3c]
push ecx
push edx
mov ecx, eax
call fcn.00445490
mov esi, eax
jmp 0x443dbc
xor esi, esi
mov ecx, dword [esp + 0x10]
push 1
mov eax, ecx
inc ecx
mov dword [esp + 0x14], ecx
push 0xe
mov ecx, esi
mov byte [esp + 0x5c], 2
mov dword [esi + 0xc0], eax
call fcn.0049c040
mov eax, dword [ebp + 0x8c]
lea edi, [ebp + 0x84]
test eax, eax
jne 0x443df1
push 2
jmp 0x443dfc
mov ecx, dword [edi + 4]
cmp eax, ecx
jne 0x443e03
lea eax, [ecx + ecx]
push eax
mov ecx, edi
call fcn.004a2120
mov ecx, dword [edi + 4]
mov edx, dword [edi]
push esi
mov dword [edx + ecx*4], esi
mov eax, dword [edi + 4]
inc eax
mov dword [edi + 4], eax
mov ecx, dword [ebp + 0x78]
call fcn.0049c690
lea ecx, [esp + 0x3c]
mov byte [esp + 0x54], 1
call fcn.004a6da0
mov eax, dword [ebp + 0xdc]
inc ebx
cmp ebx, eax
jl 0x443d63
mov eax, dword [esp + 0x5c]
mov ecx, dword [ebp + 0xd8]
inc eax
cmp eax, ecx
mov dword [esp + 0x5c], eax
jl 0x443d51
mov ecx, dword [ebp + 0x78]
call fcn.0049ba70
mov esi, dword [esp + 0x14]
push 0x504cc8
push 7
push esi
mov ecx, ebp
call fcn.00443aa0
test eax, eax
mov dword [ebp + 0xac], eax
je 0x443e89
mov ecx, dword [ebp + 0xc8]
mov edx, dword [ebp + 0xc4]
push ecx
push edx
mov ecx, eax
call fcn.0049b980
push 0x504cbc
push 8
push esi
mov ecx, ebp
call fcn.00443aa0
test eax, eax
mov dword [ebp + 0x9c], eax
je 0x443eb7
mov ecx, dword [ebp + 0xc8]
mov edx, dword [ebp + 0xc4]
push ecx
push edx
mov ecx, eax
call fcn.0049b980
push 0x504cac
push 8
push esi
mov ecx, ebp
call fcn.00443aa0
test eax, eax
mov dword [ebp + 0xa0], eax
je 0x443ed9
push 0xe
mov ecx, eax
call fcn.0049c080
mov eax, dword [ebp + 0x88]
xor esi, esi
dec eax
test eax, eax
jle 0x443f31
mov edi, dword [ebp + 0x88]
call fcn.004bf97b
cdq
sub edi, esi
idiv edi
add edx, esi
cmp esi, edx
je 0x443ee6
mov eax, dword [ebp + 0x84]
mov edi, dword [eax + edx*4]
mov ecx, dword [eax + esi*4]
mov dword [eax + esi*4], edi
mov eax, dword [ebp + 0x84]
mov dword [eax + edx*4], ecx
mov ecx, dword [ebp + 0x84]
mov edx, dword [ecx + esi*4]
cmp dword [edx + 0xc0], esi
je 0x443ee6
mov eax, dword [ebp + 0x88]
inc esi
dec eax
cmp esi, eax
jl 0x443ee6
mov ecx, dword [ebp + 0x88]
xor eax, eax
test ecx, ecx
jle 0x443f4b
mov edx, dword [ebp + 0x84]
inc eax
add edx, 4
cmp eax, ecx
jl 0x443f43
xor esi, esi
test ecx, ecx
jle 0x443fbc
mov ecx, dword [ebp + 0x84]
mov edi, dword [ecx + esi*4]
mov ecx, edi
call fcn.00433330
mov ebx, eax
mov ecx, edi
mov dword [esp + 0x14], ebx
call fcn.004a6bd0
mov edx, dword [edi]
mov ecx, dword [ebp + 0xdc]
push 1
mov dword [esp + 0x60], eax
push eax
mov eax, esi
mov dword [esp + 0x18], edx
push ebx
cdq
idiv ecx
mov ebx, dword [ebp + 0xc8]
imul eax, dword [esp + 0x68]
add eax, ebx
push eax
mov eax, esi
cdq
idiv ecx
mov eax, dword [ebp + 0xc4]
mov ecx, edi
imul edx, dword [esp + 0x24]
add edx, eax
push edx
mov edx, dword [esp + 0x24]
call dword [edx + 0x14]
mov eax, dword [ebp + 0x88]
inc esi
cmp esi, eax
jl 0x443f51
mov eax, dword [ebp + 0x80]
push 0x504ca0
push 5
push eax
mov ecx, ebp
call fcn.00443aa0
mov ecx, eax
mov dword [ebp + 0x7c], eax
xor ebx, ebx
call fcn.00433210
test eax, eax
jle 0x44419d
mov ecx, dword [ebp + 0x7c]
push 0
push 0x503ef0
push 0x502280
push 0
push ebx
call fcn.0049c4d0
push eax
call fcn.004bed57
mov edi, eax
add esp, 0x14
test edi, edi
je 0x44418c
mov ecx, edi
call fcn.00433330
mov esi, eax
mov eax, ebx
cdq
idiv dword [ebp + 0xdc]
mov eax, dword [ebp + 0xc4]
mov ecx, edi
imul esi, edx
add esi, eax
call fcn.004a6bd0
mov ecx, eax
mov eax, ebx
cdq
idiv dword [ebp + 0xdc]
mov edx, dword [ebp + 0xc8]
imul ecx, eax
add ecx, edx
push ecx
push esi
mov ecx, edi
call fcn.0049b980
mov ecx, dword [ebp + 0x84]
mov edx, dword [ecx + ebx*4]
mov dword [edx + 0xbc], edi
mov eax, dword [ebp + 0x98]
test eax, eax
jne 0x4440e1
push 8
call fcn.004be7b5
mov ecx, dword [ebp + 0x90]
mov edx, dword [ebp + 0x94]
mov esi, eax
mov eax, ecx
lea edx, [ecx + edx*4]
add esp, 4
cmp eax, edx
je 0x4440af
mov edx, eax
add eax, 4
sub edx, ecx
mov ecx, dword [eax - 4]
sar edx, 2
mov dword [esi + edx*4], ecx
mov ecx, dword [ebp + 0x90]
mov edx, dword [ebp + 0x94]
lea edx, [ecx + edx*4]
cmp eax, edx
jne 0x44408c
mov eax, dword [ebp + 0x90]
test eax, eax
je 0x4440cc
push eax
call fcn.004b124a
add esp, 4
mov dword [ebp + 0x90], 0
mov dword [ebp + 0x90], esi
mov dword [ebp + 0x98], 2
jmp 0x444170
mov ecx, dword [ebp + 0x94]
cmp eax, ecx
jne 0x444170
add ecx, ecx
cmp eax, ecx
mov dword [esp + 0x5c], ecx
jge 0x444170
lea eax, [ecx*4]
push eax
call fcn.004be7b5
mov ecx, dword [ebp + 0x90]
mov edx, dword [ebp + 0x94]
mov esi, eax
mov eax, ecx
lea edx, [ecx + edx*4]
add esp, 4
cmp eax, edx
je 0x444143
mov edx, eax
add eax, 4
sub edx, ecx
mov ecx, dword [eax - 4]
sar edx, 2
mov dword [esi + edx*4], ecx
mov ecx, dword [ebp + 0x90]
mov edx, dword [ebp + 0x94]
lea edx, [ecx + edx*4]
cmp eax, edx
jne 0x444120
mov eax, dword [ebp + 0x90]
test eax, eax
je 0x444160
push eax
call fcn.004b124a
add esp, 4
mov dword [ebp + 0x90], 0
mov eax, dword [esp + 0x5c]
mov dword [ebp + 0x90], esi
mov dword [ebp + 0x98], eax
mov ecx, dword [ebp + 0x94]
mov edx, dword [ebp + 0x90]
mov dword [edx + ecx*4], edi
mov eax, dword [ebp + 0x94]
inc eax
mov dword [ebp + 0x94], eax
mov ecx, dword [ebp + 0x7c]
inc ebx
call fcn.00433210
cmp ebx, eax
jl 0x443fe5
mov ecx, dword [esp + 0x20]
xor esi, esi
cmp ecx, esi
mov dword [ebp + 0xcc], 1
je 0x4441cd
mov al, byte [ecx - 1]
test al, al
je 0x4441c3
cmp al, 0xff
je 0x4441c3
dec al
mov byte [ecx - 1], al
jmp 0x4441cd
dec ecx
push ecx
call fcn.004b124a
add esp, 4
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], esi
pop edi
cmp ecx, esi
pop esi
pop ebp
pop ebx
je 0x444210
mov al, byte [ecx - 1]
test al, al
je 0x444206
cmp al, 0xff
je 0x444206
dec al
mov byte [ecx - 1], al
mov ecx, dword [esp + 0x3c]
mov dword fs:[0], ecx
add esp, 0x48
ret 4
dec ecx
push ecx
call fcn.004b124a
add esp, 4
mov ecx, dword [esp + 0x3c]
mov dword fs:[0], ecx
add esp, 0x48
ret 4