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

Disassembly:
sub esp, 0x38
push esi
push edi
xor edi, edi
cmp edx, edi
mov esi, ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x1c], esi
jne 0x48015f
pop edi
xor eax, eax
pop esi
add esp, 0x38
ret 0x1c
push ebx
mov ebx, dword [esp + 0x60]
mov ecx, ebx
call fcn.004e2760
test eax, eax
jne 0x480178
pop ebx
pop edi
pop esi
add esp, 0x38
ret 0x1c
mov ecx, esi
call fcn.00542c90
test eax, eax
jne 0x480189
mov eax, dword [ebx]
mov dword [esp + 0x20], eax
push ebp
mov eax, 1
push 0x3e7
mov dword [esp + 0x68], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x48], eax
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x20], edi
xor ebp, ebp
mov dword [esp + 0x38], edi
mov dword [esp + 0x18], eax
call fcn.00570098
mov esi, eax
push 0x3e7
mov dword [esp + 0x38], esi
call fcn.00570098
push 0x3e7
mov dword [esp + 0x2c], eax
call fcn.00570098
add esp, 0xc
cmp esi, edi
mov dword [esp + 0x10], eax
je 0x48043e
cmp dword [esp + 0x20], edi
je 0x48043e
mov esi, dword [esp + 0x10]
cmp esi, edi
je 0x48043e
mov eax, dword [esp + 0x18]
cmp byte [eax], 0x20
jne 0x480219
nop
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
je 0x480210
cmp byte [eax], 0
je 0x480452
mov edx, esi
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x480226
mov dl, 0x20
mov ecx, esi
call fcn.004f47d0
cmp eax, edi
mov dword [esp + 0x64], eax
je 0x48043e
mov esi, dword [esp + 0x4c]
cmp esi, edi
je 0x48028a
push 0x14
call fcn.00570098
mov ecx, eax
add esp, 4
cmp ecx, edi
mov dword [esp + 0x1c], ecx
je 0x480286
mov eax, dword [esp + 0x50]
cmp eax, edi
mov dword [ecx], edi
mov dword [ecx + 4], esi
mov ebp, 2
je 0x48027d
mov dword [ecx + 8], eax
mov ebp, 3
jmp 0x480280
mov dword [ecx + 8], edi
mov dword [ecx + 0xc], edi
mov dword [ecx + 0x10], edi
mov eax, dword [esp + 0x64]
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x54]
jmp 0x480298
mov eax, dword [esp + 0x64]
test eax, eax
je 0x480461
mov ecx, dword [eax]
cmp byte [ecx], 0x7b
jne 0x4802c4
mov dl, byte [ecx + 1]
test dl, dl
jne 0x4802c4
mov edx, eax
mov ecx, eax
call fcn.004c7fe0
test eax, eax
mov dword [esp + 0x64], eax
jne 0x4802a0
jmp 0x480461
mov eax, dword [esp + 0x58]
test eax, eax
jg 0x4802d4
mov dword [esp + 0x58], 0
mov eax, dword [esp + 0x5c]
test eax, eax
jl 0x4802e5
call fcn.0053ec00
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0x5c]
push ebx
push ecx
mov eax, dword [esp + 0x60]
lea edx, [esp + 0x3c]
push edx
push esi
push 0
push 0
push 0
push 0
push 0
push 0
push eax
push 1
push 0
push 0
lea ecx, [esp + 0x70]
push ecx
lea edx, [esp + 0x78]
push edx
lea eax, [esp + 0x80]
push eax
push edi
lea ecx, [esp + 0x74]
push ecx
mov ecx, dword [esp + 0x68]
lea edx, [esp + 0x74]
push edx
mov edx, dword [esp + 0x70]
lea eax, [esp + 0x94]
push eax
mov eax, dword [esp + 0x84]
push ebp
push ecx
mov ecx, dword [esp + 0x6c]
push edx
push eax
push ecx
mov ecx, dword [esp + 0x8c]
lea edx, [esp + 0xcc]
call fcn.00479e90
cmp eax, 0xffffffff
je 0x480294
test eax, eax
mov dword [esp + 0x14], eax
jne 0x480376
mov edx, dword [esp + 0x18]
mov byte [edx], al
xor edi, edi
jmp 0x480452
mov ebx, dword [esp + 0x10]
mov byte [ebx], 0
mov ebp, dword [esp + 0x64]
test ebp, ebp
je 0x480423
lea esp, [esp]
cmp dword [ebp + 0x1c], 1
jne 0x480418
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x480418
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4803a6
sub eax, edx
mov edx, eax
mov eax, dword [ebp]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4803b7
sub eax, esi
add eax, edx
cmp eax, 0x3e7
jae 0x480423
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x4803e9
cmp byte [ebx], 0
je 0x4803e9
mov edi, ebx
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4803d8
mov ax, word [0x5842b8]
mov word [edi], ax
mov eax, dword [ebp]
mov edx, eax
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4803f0
mov edi, ebx
sub eax, edx
dec edi
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x480400
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 0x480390
mov edx, dword [esp + 0x18]
mov eax, ebx
sub edx, ebx
jmp 0x480430
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x480430
xor edi, edi
jmp 0x480452
push 2
xor ecx, ecx
xor edx, edx
push str.evaluation
call fcn.00479790
mov dword [esp + 0x14], eax
cmp dword [esp + 0x64], edi
je 0x480461
lea ecx, [esp + 0x64]
call fcn.004c8280
mov eax, dword [esp + 0x1c]
test eax, eax
pop ebp
je 0x480473
push eax
call fcn.005700aa
add esp, 4
mov eax, dword [esp + 0x24]
test eax, eax
je 0x480484
push eax
call fcn.005700aa
add esp, 4
mov eax, dword [esp + 0x28]
test eax, eax
je 0x480495
push eax
call fcn.005700aa
add esp, 4
mov eax, dword [esp + 0xc]
test eax, eax
je 0x4804a6
push eax
call fcn.005700aa
add esp, 4
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4804b7
push eax
call fcn.005700aa
add esp, 4
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4804c8
push eax
call fcn.005700aa
add esp, 4
mov eax, dword [esp + 0x54]
test eax, eax
jg 0x4804dd
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x20]
call fcn.00540140
mov eax, dword [esp + 0x10]
pop ebx
pop edi
pop esi
add esp, 0x38
ret 0x1c