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

Disassembly:
sub esp, 0x7c
push edi
mov edi, dword [esp + 0x84]
mov eax, dword [edi + 8]
cmp eax, dword [edi + 4]
je 0x47205a
mov edx, dword [esp + 0x88]
push ebx
push ebp
mov ebp, dword [esp + 0x94]
xor ebx, ebx
push esi
push 0x25
pop esi
mov dword [esp + 0x24], 0x2a
mov dword [esp + 0x14], edx
movzx eax, word [edx]
mov ecx, edx
cmp ax, si
je 0x471bdc
test ax, ax
je 0x471bc1
add edx, 2
movzx eax, word [edx]
cmp ax, si
jne 0x471bb1
mov dword [esp + 0x14], edx
cmp edx, ecx
je 0x471bdc
mov eax, edx
sub eax, ecx
sar eax, 1
push eax
push ecx
mov ecx, edi
call fcn.00472193
mov edx, dword [esp + 0x14]
cmp word [edx], bx
je 0x472057
add edx, 2
movzx eax, word [edx]
sub eax, 0x20
je 0x471c24
sub eax, 3
je 0x471c1f
sub eax, 8
je 0x471c1a
dec eax
dec eax
je 0x471c15
sub eax, 3
je 0x471c10
sub eax, 0xa
jne 0x471c29
or ebx, 0x80
jmp 0x471be5
or ebx, 0x10
jmp 0x471be5
or ebx, 1
jmp 0x471be5
or ebx, 2
jmp 0x471be5
or ebx, 8
jmp 0x471be5
or ebx, 4
jmp 0x471be5
movzx ecx, word [edx]
or esi, 0xffffffff
mov dword [esp + 0x94], edx
mov dword [esp + 0x1c], esi
lea eax, [ecx - 0x30]
cmp eax, 0xa
jae 0x471c5a
lea eax, [esp + 0x94]
push eax
call fcn.004721f2
mov edx, dword [esp + 0x94]
mov esi, eax
jmp 0x471c7c
push 0x2a
pop eax
cmp cx, ax
jne 0x471c80
add dword [ebp], 4
add edx, 2
mov eax, dword [ebp]
mov esi, dword [eax - 4]
mov dword [esp + 0x1c], esi
test esi, esi
jns 0x471c80
neg esi
or ebx, 1
mov dword [esp + 0x1c], esi
or ecx, 0xffffffff
cmp word [edx], 0x2e
mov dword [esp + 0x20], ecx
jne 0x471cdf
add edx, 2
mov dword [esp + 0x94], edx
movzx eax, word [edx]
sub eax, 0x30
cmp eax, 0xa
jae 0x471cba
lea eax, [esp + 0x94]
push eax
call fcn.004721f2
mov edx, dword [esp + 0x94]
mov ecx, eax
jmp 0x471cdb
movzx eax, word [edx]
cmp ax, word [esp + 0x24]
jne 0x471cdf
add dword [ebp], 4
add edx, 2
mov eax, dword [ebp]
mov ecx, dword [eax - 4]
mov dword [esp + 0x20], ecx
test ecx, ecx
jg 0x471cdf
xor ecx, ecx
mov dword [esp + 0x20], ecx
movzx eax, word [edx]
and dword [esp + 0x18], 0
cmp eax, 0x6c
je 0x471cf1
cmp eax, 0x4c
jne 0x471cf8
mov dword [esp + 0x18], eax
add edx, 2
mov al, byte [edx]
add edx, 2
mov byte [esp + 0x13], al
movzx eax, al
mov dword [esp + 0x14], edx
cmp eax, 0x63
jg 0x471f05
je 0x471ee2
cmp eax, 0x55
jg 0x471e57
je 0x471e24
sub eax, 0x25
je 0x471e11
sub eax, 0x1c
je 0x471df7
sub eax, 7
je 0x471dbb
dec eax
je 0x471d97
sub eax, 0xa
je 0x47202c
dec eax
jne 0x472046
add dword [ebp], 4
lea eax, [esp + 0x3c]
mov ecx, dword [ebp]
push eax
mov ecx, dword [ecx - 4]
call fcn.00472339
lea edi, [esp + 0x50]
or ebx, 0x100
lea esi, [esp + 0x3c]
mov eax, edi
push 5
pop ecx
push ebx
push dword [esp + 0x24]
rep movsd dword es:[edi], dword [esi]
push dword [esp + 0x24]
mov edi, dword [esp + 0x9c]
push 0xa
push eax
push edi
call fcn.004724ca
jmp 0x472042
add dword [ebp], 4
xor edx, edx
mov eax, dword [ebp]
mov eax, dword [eax - 4]
test bl, 0x40
je 0x471da9
cdq
push ebx
push ecx
push esi
push 0xa
push edx
push eax
push edi
call fcn.00472712
jmp 0x472042
or ebx, 0x20
add dword [ebp], 4
xor esi, esi
mov eax, dword [ebp]
mov ebp, dword [eax - 4]
push ebx
push 8
push 0xffffffffffffffff
push 0x10
lea eax, [esi + ebp]
push eax
call fcn.0047236a
push 0
push eax
push edi
call fcn.00472888
add esi, 4
cmp esi, 0x14
jb 0x471dca
mov ebp, dword [esp + 0x98]
jmp 0x472042
add dword [ebp], 4
or ebx, 0x100
mov eax, dword [ebp]
push ebx
push ecx
push esi
push 0xa
push dword [eax - 4]
jmp 0x471d8c
push 1
push 0x698968
mov ecx, edi
call fcn.00472167
jmp 0x472042
add dword [ebp], 4
mov eax, dword [ebp]
mov edx, dword [eax - 4]
test edx, edx
jne 0x471e37
mov edx, str._NULL_
cmp ecx, 0xffffffff
jne 0x471e4a
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x471e41
sub ecx, esi
push ecx
push edx
push edi
call fcn.00472c82
jmp 0x472042
sub eax, 0x56
je 0x471eb3
dec eax
dec eax
je 0x471eab
dec eax
dec eax
je 0x471e8e
sub eax, 7
je 0x471e85
dec eax
jne 0x472046
push ebp
push 2
push dword [esp + 0x20]
push ebx
push ecx
push esi
push edi
call fcn.004723f2
jmp 0x472042
add dword [ebp], 4
jmp 0x471e01
add dword [ebp], 8
mov eax, dword [ebp]
push ebx
push ecx
push esi
push 0xa
push dword [eax - 4]
push dword [eax - 8]
push edi
call fcn.00472a6d
jmp 0x472042
push ebp
push 0x10
or ebx, 0x20
jmp 0x471e73
add dword [ebp], 0x10
lea edi, [esp + 0x2c]
mov esi, dword [ebp]
lea eax, [esp + 0x2c]
push ebx
push ecx
push dword [esp + 0x24]
lea esi, [esi - 0x10]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0xa0]
push edi
call fcn.00472844
jmp 0x472042
add dword [ebp], 4
mov eax, dword [ebp]
push ebx
push esi
push 1
movzx eax, word [eax - 4]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x34]
push eax
push edi
call fcn.0047210c
jmp 0x472042
cmp eax, 0x70
jg 0x471fc5
je 0x471f99
sub eax, 0x64
je 0x471f8e
dec eax
dec eax
je 0x471f6f
dec eax
dec eax
je 0x471dbe
dec eax
je 0x471f8e
sub eax, 4
je 0x471f3d
dec eax
dec eax
jne 0x472046
push ebp
push 8
jmp 0x471e73
add dword [ebp], 4
mov eax, dword [ebp]
mov edx, dword [eax - 4]
cmp ecx, 0xffffffff
jne 0x471f60
mov ecx, edx
lea eax, [ecx + 1]
mov dword [esp + 0x20], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x471f55
sub ecx, dword [esp + 0x20]
push ebx
push esi
push ecx
push edx
push edi
call fcn.004720b1
jmp 0x472042
add dword [ebp], 8
mov eax, dword [ebp]
push ebx
push ecx
push esi
fld qword [eax - 8]
push 0xa
push ecx
push ecx
fstp qword [esp]
push edi
call fcn.004725d4
jmp 0x472042
push ebp
push 0xa
or ebx, 0x40
jmp 0x471e73
cmp ecx, 0xffffffff
jne 0x471fa1
push 8
pop ecx
add dword [ebp], 4
or ebx, 8
mov eax, dword [ebp]
push ebx
push ecx
push esi
push 0x10
xor ebx, ebx
push ebx
push dword [eax - 4]
push edi
call fcn.00472888
mov edx, dword [esp + 0x14]
jmp 0x472048
sub eax, 0x73
je 0x47202c
dec eax
je 0x472009
dec eax
je 0x472001
sub eax, 3
je 0x471ff9
dec eax
dec eax
jne 0x472046
add dword [ebp], 4
or ebx, 0x200
mov eax, dword [ebp]
push ebx
push ecx
push esi
push 0xa
xor ebx, ebx
push ebx
push dword [eax - 4]
push edi
call fcn.00472a6d
jmp 0x471fbc
push ebp
push 0x10
jmp 0x471e73
push ebp
push 0xa
jmp 0x471e73
add dword [ebp], 4
lea eax, [esp + 0x64]
mov ecx, dword [ebp]
push eax
mov ecx, dword [ecx - 4]
call fcn.00472339
lea edi, [esp + 0x78]
lea esi, [esp + 0x64]
mov eax, edi
jmp 0x471d74
cmp byte [esp + 0x13], 0x53
push ebp
push ebx
push ecx
sete al
push esi
movzx eax, al
push eax
push edi
call fcn.00472089
mov edx, dword [esp + 0x14]
xor ebx, ebx
mov eax, dword [edi + 8]
push 0x25
pop esi
cmp eax, dword [edi + 4]
jne 0x471ba7
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x7c
ret 0xc