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

Disassembly:
sub esp, 0x9c
mov eax, dword [0x541514]
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.0046f4c0
mov eax, dword [esp + 0x34]
add esp, 0xc
cmp eax, 1
jne 0x47203d
push 0
mov ecx, 0xa
mov edi, ebp
push ebx
rep movsd dword es:[edi], dword [esi]
call fcn.00472460
add esp, 8
jmp 0x4722d0
mov eax, dword [edi]
cmp eax, 1
jg 0x47206b
movzx edx, word [edi + 4]
lea ecx, [esp + 0x10]
push ecx
push edx
mov edi, ebx
mov ecx, esi
call fcn.00471f60
movzx eax, word [esp + 0x18]
push eax
push ebp
call fcn.00472460
add esp, 0x10
jmp 0x4722d0
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 0x47209d
lea ebx, [ebx]
shr ax, 1
dec ebp
test ax, ax
jne 0x472090
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.00472490
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.00472490
mov ecx, dword [esp + 0x44]
mov eax, dword [esi]
add esp, 0x30
cmp ecx, eax
jne 0x4720e8
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 0x472278
inc eax
mov dword [esp + 0x1c], eax
jmp 0x472130
mov ebp, dword [esp + 0x38]
jmp 0x472130
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 0x472153
mov eax, 0xffff
jmp 0x47215c
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 0x47219c
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 0x472198
add ecx, edx
add eax, 0xffff
test ecx, 0xffff0000
je 0x472173
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 0x4721ef
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 0x4721c0
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 0x47226a
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 0x472262
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 0x472235
mov dx, word [esp + 0x10]
add word [ecx], dx
dec dword [esp + 0x1c]
jne 0x472122
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 0x472294
mov esi, dword [ebx]
dec esi
mov edx, esi
test edx, edx
mov dword [ebx], esi
jg 0x472280
lea eax, [esp + ecx*2 + 0x64]
jmp 0x4722a0
sub eax, 2
cmp word [eax], 0
jne 0x4722ae
dec ecx
test ecx, ecx
jg 0x4722a0
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.004723b0
add esp, 0x18
mov ecx, dword [esp + 0xa8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
xor eax, eax
call fcn.0047294a
add esp, 0x9c
ret