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

Disassembly:
sub esp, 0x38
push ebx
push edi
xor edi, edi
cmp edx, edi
mov dword [esp + 0x14], edx
mov ebx, ecx
jne 0x47c65b
pop edi
xor eax, eax
pop ebx
add esp, 0x38
ret 0x14
push esi
mov esi, dword [esp + 0x58]
mov ecx, esi
call fcn.004dbea0
test eax, eax
jne 0x47c674
pop esi
pop edi
pop ebx
add esp, 0x38
ret 0x14
mov ecx, ebx
call fcn.005366c0
test eax, eax
jne 0x47c681
mov ebx, dword [esi]
push ebp
mov eax, 1
push 0x3e7
mov dword [esp + 0x14], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x48], eax
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x24], edi
xor ebp, ebp
mov dword [esp + 0x38], edi
mov dword [esp + 0x1c], eax
call fcn.005635a3
push 0x3e7
mov dword [esp + 0x30], eax
call fcn.005635a3
push 0x3e7
mov dword [esp + 0x30], eax
call fcn.005635a3
mov esi, eax
mov eax, dword [esp + 0x34]
add esp, 0xc
cmp eax, edi
mov dword [esp + 0x14], esi
je 0x47c9a2
cmp dword [esp + 0x24], edi
je 0x47c9a2
cmp esi, edi
je 0x47c9a2
mov eax, dword [esp + 0x1c]
cmp byte [eax], 0x20
jne 0x47c710
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
je 0x47c707
cmp byte [eax], 0
je 0x47c9b6
mov edx, esi
sub edx, eax
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x47c720
mov dl, 0x20
mov ecx, esi
call fcn.004ed470
cmp eax, edi
mov dword [esp + 0x10], eax
je 0x47c9a2
mov esi, dword [esp + 0x4c]
cmp esi, edi
je 0x47c784
push 0x14
call fcn.005635a3
mov ecx, eax
add esp, 4
cmp ecx, edi
mov dword [esp + 0x20], ecx
je 0x47c780
mov eax, dword [esp + 0x50]
cmp eax, edi
mov dword [ecx], edi
mov dword [ecx + 4], esi
mov ebp, 2
je 0x47c777
mov dword [ecx + 8], eax
mov ebp, 3
jmp 0x47c77a
mov dword [ecx + 8], edi
mov dword [ecx + 0xc], edi
mov dword [ecx + 0x10], edi
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x54]
jmp 0x47c792
mov eax, dword [esp + 0x10]
test eax, eax
je 0x47c7c7
jmp 0x47c7a0
mov ecx, dword [eax]
cmp byte [ecx], 0x7b
jne 0x47c84f
mov dl, byte [ecx + 1]
test dl, dl
jne 0x47c84f
mov edx, eax
mov ecx, eax
call fcn.004c2730
test eax, eax
mov dword [esp + 0x10], eax
jne 0x47c7a0
mov esi, dword [esp + 0x14]
xor edi, edi
mov eax, dword [esp + 0x20]
cmp eax, edi
pop ebp
je 0x47c7df
push eax
call fcn.005635b5
add esp, 4
cmp dword [0x5900bc], edi
je 0x47c7f1
mov ecx, 0x5900bc
call fcn.004c29d0
mov eax, dword [esp + 0x28]
cmp eax, edi
je 0x47c802
push eax
call fcn.005635b5
add esp, 4
mov eax, dword [esp + 0x2c]
cmp eax, edi
je 0x47c813
push eax
call fcn.005635b5
add esp, 4
cmp esi, edi
je 0x47c820
push esi
call fcn.005635b5
add esp, 4
mov eax, dword [esp + 0x20]
cmp eax, edi
je 0x47c831
push eax
call fcn.005635b5
add esp, 4
mov eax, dword [esp + 0x24]
cmp eax, edi
je 0x47c842
push eax
call fcn.005635b5
add esp, 4
mov eax, dword [esp + 0x14]
pop esi
pop edi
pop ebx
add esp, 0x38
ret 0x14
mov eax, dword [esp + 0x5c]
push eax
call fcn.005326e0
push eax
lea ecx, [esp + 0x3c]
push ecx
push esi
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 1
push 0
push 0
lea edx, [esp + 0x70]
push edx
lea eax, [esp + 0x78]
push eax
lea ecx, [esp + 0x80]
push ecx
push edi
lea edx, [esp + 0x78]
push edx
mov edx, dword [esp + 0x6c]
lea eax, [esp + 0x78]
push eax
mov eax, dword [esp + 0x74]
lea ecx, [esp + 0x94]
push ecx
mov ecx, dword [esp + 0x7c]
push ebp
push edx
mov edx, dword [esp + 0x70]
push eax
push ecx
push edx
lea edx, [esp + 0x78]
mov ecx, ebx
call fcn.004765d0
cmp eax, 0xffffffff
je 0x47c78e
test eax, eax
mov dword [esp + 0x18], eax
jne 0x47c8dc
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov byte [eax], 0
xor edi, edi
jmp 0x47c9b6
mov ebx, dword [esp + 0x14]
mov byte [ebx], 0
mov ebp, dword [esp + 0x10]
test ebp, ebp
je 0x47c983
nop
cmp dword [ebp + 0x1c], 1
jne 0x47c978
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x47c978
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x47c906
sub eax, edx
mov edx, eax
mov eax, dword [ebp]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x47c917
sub eax, esi
add eax, edx
cmp eax, 0x3e7
jae 0x47c983
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x47c94a
cmp byte [ebx], 0
je 0x47c94a
mov edi, ebx
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x47c938
mov cx, word [0x575258]
mov word [edi], cx
mov eax, dword [ebp]
mov edx, eax
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x47c950
mov edi, ebx
sub eax, edx
dec edi
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x47c960
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ebp, dword [ebp + 0x40]
test ebp, ebp
jne 0x47c8f0
mov edx, dword [esp + 0x1c]
mov eax, ebx
sub edx, ebx
jmp 0x47c990
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x47c990
mov esi, dword [esp + 0x14]
xor edi, edi
jmp 0x47c9b6
push 2
xor ecx, ecx
xor edx, edx
push str.evaluation
call fcn.00475f10
mov dword [esp + 0x18], eax
cmp dword [esp + 0x10], edi
je 0x47c7cd
lea ecx, [esp + 0x10]
call fcn.004c29d0
jmp 0x47c7cd