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

Disassembly:
sub esp, 0x9c
mov eax, dword [0x5fd0b0]
xor eax, esp
push ebx
mov ebx, dword [esp + 0xac]
push ebp
mov ebp, dword [esp + 0xb4]
push esi
mov esi, dword [esp + 0xac]
push edi
mov edi, dword [esp + 0xb4]
mov dword [esp + 0xa8], eax
lea eax, [esp + 0x28]
push eax
push edi
push esi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x3c], ebp
call fcn.004715a0
mov eax, dword [esp + 0x34]
add esp, 0xc
cmp eax, 1
jne 0x47107d
push 0
mov ecx, 0xa
mov edi, ebp
push ebx
rep movsd dword es:[edi], dword [esi]
call fcn.00471450
add esp, 8
jmp 0x471310
mov eax, dword [edi]
cmp eax, 1
jg 0x4710ab
movzx edx, word [edi + 4]
lea ecx, [esp + 0x10]
push ecx
push edx
mov edi, ebx
mov ecx, esi
call fcn.00470fa0
movzx eax, word [esp + 0x18]
push eax
push ebp
call fcn.00471450
add esp, 0x10
jmp 0x471310
xor ecx, ecx
mov cx, word [edi + eax*2 + 2]
shr cx, 1
mov ax, cx
test ax, ax
mov ebp, 0xf
mov dword [esp + 0x24], ebp
mov dword [esp + 0x10], ecx
je 0x4710dd
lea ebx, [ebx]
shr ax, 1
dec ebp
test ax, ax
jne 0x4710d0
mov dword [esp + 0x24], ebp
mov ecx, dword [esi]
lea edx, [esp + 0x14]
push edx
push 0x21
lea eax, [esp + 0x6c]
push eax
push ebp
push ecx
lea edx, [esi + 4]
push edx
call fcn.00471480
mov edx, dword [edi]
lea eax, [esp + 0x54]
push eax
push 0x10
lea ecx, [esp + 0x60]
push ecx
push ebp
push edx
add edi, 4
push edi
call fcn.00471480
mov ecx, dword [esp + 0x44]
mov eax, dword [esi]
add esp, 0x30
cmp ecx, eax
jne 0x471128
mov word [esp + ecx*2 + 0x64], 0
inc ecx
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x3c]
mov eax, ecx
sub eax, edx
mov dword [ebx], eax
lea edx, [esp + edx*2 + 0x3c]
xor ebp, ebp
mov bp, word [edx + 2]
mov dx, word [edx]
lea esi, [ebx + eax*2 + 4]
dec eax
lea edi, [esp + ecx*2 + 0x64]
mov dword [esp + 0x20], esi
mov word [esp + 0x34], dx
mov dword [esp + 0x38], ebp
js 0x4712b8
inc eax
mov dword [esp + 0x1c], eax
jmp 0x471170
mov ebp, dword [esp + 0x38]
jmp 0x471170
mov ax, word [edi - 2]
movzx edx, word [edi - 4]
sub edi, 2
movzx ecx, ax
shl ecx, 0x10
or ecx, edx
cmp ax, bp
mov dword [esp + 0x2c], edi
jb 0x471193
mov eax, 0xffff
jmp 0x47119c
movzx esi, bp
mov eax, ecx
xor edx, edx
div esi
movzx esi, ax
movzx edx, bp
imul esi, edx
sub ecx, esi
test ecx, 0xffff0000
jne 0x4711dc
movzx ebx, word [edi - 4]
movzx esi, word [esp + 0x34]
movzx ebp, ax
imul ebp, esi
mov esi, ecx
shl esi, 0x10
or esi, ebx
cmp ebp, esi
jbe 0x4711d8
add ecx, edx
add eax, 0xffff
test ecx, 0xffff0000
je 0x4711b3
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x3c]
lea edx, [ecx + ecx]
mov ebp, edx
mov edx, edi
sub edx, ebp
dec ecx
mov dword [esp + 0x10], 0
lea esi, [esp + 0x40]
js 0x47122f
movzx ebx, ax
lea edi, [ecx + 1]
mov edi, edi
movzx ebp, word [esi]
movzx ecx, word [edx]
imul ebp, ebx
sub ecx, ebp
movzx ebp, word [esp + 0x10]
sub ecx, ebp
mov word [edx], cx
shr ecx, 0x10
neg ecx
add esi, 2
add edx, 2
dec edi
mov dword [esp + 0x10], ecx
jne 0x471200
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x18]
movzx ecx, word [edx]
movzx esi, word [esp + 0x10]
sub ecx, esi
mov word [edx], cx
mov edx, dword [esp + 0x20]
sub edx, 2
test ecx, 0xffff0000
mov dword [esp + 0x20], edx
mov word [edx], ax
je 0x4712aa
dec eax
mov word [edx], ax
mov eax, dword [esp + 0x3c]
lea ecx, [eax + eax]
mov esi, ecx
mov ecx, edi
sub ecx, esi
dec eax
mov dword [esp + 0x10], 0
lea edx, [esp + 0x40]
js 0x4712a2
lea esi, [eax + 1]
movzx eax, word [edx]
movzx ebp, word [esp + 0x10]
add eax, ebp
movzx ebp, word [ecx]
add eax, ebp
mov ebp, eax
and ebp, 0xffff0000
add edx, 2
neg ebp
sbb ebp, ebp
neg ebp
mov word [ecx], ax
add ecx, 2
dec esi
mov dword [esp + 0x10], ebp
jne 0x471275
mov dx, word [esp + 0x10]
add word [ecx], dx
dec dword [esp + 0x1c]
jne 0x471162
mov ecx, dword [esp + 0x14]
mov eax, dword [ebx]
lea eax, [ebx + eax*2 + 4]
mov edi, edi
sub eax, 2
cmp word [eax], 0
jne 0x4712d4
mov esi, dword [ebx]
dec esi
mov edx, esi
test edx, edx
mov dword [ebx], esi
jg 0x4712c0
lea eax, [esp + ecx*2 + 0x64]
jmp 0x4712e0
sub eax, 2
cmp word [eax], 0
jne 0x4712ee
dec ecx
test ecx, ecx
jg 0x4712e0
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
push eax
push 0x10
add eax, 4
push eax
push edx
push ecx
lea eax, [esp + 0x78]
push eax
mov dword [esp + 0x2c], ecx
call fcn.004713a0
add esp, 0x18
mov ecx, dword [esp + 0xa8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
xor eax, eax
call fcn.0047209e
add esp, 0x9c
ret