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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c
push ebx
mov eax, edx
mov dword [esp + 0x18], ecx
mov ecx, dword [ebp + 0xc]
xor ebx, ebx
push esi
push edi
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], ebx
mov dword [eax], ebx
call fcn.0046cf00
test eax, eax
jne 0x46f45a
mov esi, dword [ebp + 8]
cmp byte [0x49b90c], bl
je 0x46f09a
test esi, 0x8000
je 0x46f09e
mov edi, ebx
jmp 0x46f0b2
test esi, 0x10000
je 0x46f0ab
xor edi, edi
inc edi
jmp 0x46f0b2
movzx edi, byte [0x49b90d]
test esi, 0x40000
je 0x46f0c2
and esi, 0xfffdffff
jmp 0x46f0d0
cmp dword [0x49b9d0], ebx
je 0x46f0d0
or esi, 0x20000
and esi, 0xfff600e7
push ebx
push 0x218
mov dword [esp + 0x24], esi
mov dword [ebp + 8], esi
call fcn.00405531
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
je 0x46f10c
test edi, edi
je 0x46f133
xor ecx, ecx
inc ecx
call fcn.00404cd2
mov dword [ebx + 0xc], eax
test eax, eax
jne 0x46f133
push ebx
call fcn.0040528e
pop ecx
xor ebx, ebx
mov edi, dword [esp + 0x10]
push ebx
call fcn.0046e9da
mov dword [esp + 0x18], eax
pop ecx
cmp al, 7
jne 0x46f441
xor edx, edx
mov ecx, ebx
call fcn.0046da64
xor ebx, ebx
jmp 0x46f449
push dword [ebx + 0xc]
call fcn.00404cf9
and esi, 0x2000000
mov dword [ebx + 0x14], 2
neg esi
mov byte [ebx + 0x61], 0x6d
mov dword [ebx + 0x130], 1
lea edi, [ebx + 0x78]
sbb eax, eax
mov esi, 0x48a8b0
and eax, 0xffffff00
xor edx, edx
add eax, 0xff
mov dword [ebx + 0x48], eax
lea eax, [ebx + 0x1cc]
mov dword [ebx + 0x10], eax
xor eax, eax
mov word [ebx + 0x134], ax
pop ecx
push 0xc
pop ecx
rep movsd dword es:[edi], dword [esi]
push edx
mov dword [ebx + 0xa4], edx
mov edi, fcn.0046d804
mov byte [ebx + 0x55], 1
mov esi, 0x48ae10
mov byte [ebx + 0x5a], 0xff
mov eax, dword [0x49b9b0]
mov ecx, dword [0x49b9b4]
or dword [ebx + 0x20], 0xe00480e0
push edi
push edx
mov dword [ebx + 0x30], eax
mov eax, dword [ebx + 0x24]
mov dword [ebx + 0x34], ecx
mov ecx, ebx
mov dword [ebx + 0x64], edx
mov dword [ebx + 0x1b8], edx
mov dword [ebx + 0x1b4], edx
mov dword [ebx + 0x1b0], edx
mov dword [ebx + 0x1bc], edx
mov dword [ebx + 0x18c], edx
mov dword [ebx + 0x188], edx
mov dword [ebx + 0x184], edx
mov dword [ebx + 0x190], edx
mov edx, esi
push 1
mov dword [ebx + 0xb8], 0x49c868
mov dword [ebx + 0x24], eax
call fcn.0046ea62
push 0
push edi
push 0
push 3
mov edx, esi
mov ecx, ebx
call fcn.0046ea62
push 0
push edi
push 0
push 2
mov edx, esi
mov ecx, ebx
call fcn.0046ea62
push 0
push 0x46d884
push 0
push 1
mov edx, str.NOCASE
mov ecx, ebx
call fcn.0046ea62
add esp, 0x40
mov edx, str.RTRIM
mov ecx, ebx
push 0
push 0x46d82e
push 0
push 1
call fcn.0046ea62
add esp, 0x10
cmp byte [ebx + 0x57], 0
jne 0x46f2df
mov esi, dword [esp + 0x1c]
mov ecx, esi
push 7
pop eax
and ecx, eax
mov dword [ebx + 0x3c], esi
xor eax, eax
inc eax
shl eax, cl
test al, 0x46
jne 0x46f287
mov ecx, 0x2b88c
call fcn.0046f6c3
jmp 0x46f2a9
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x18]
mov ecx, dword [esp + 0x14]
push eax
lea eax, [esp + 0x14]
push eax
lea eax, [ebp + 8]
push ebx
push eax
call fcn.0046ebc0
mov esi, dword [ebp + 8]
add esp, 0x10
mov edi, eax
test edi, edi
je 0x46f2f1
push 7
pop ecx
cmp edi, ecx
jne 0x46f2bd
mov ecx, ebx
call fcn.0040589f
mov esi, dword [esp + 0x18]
xor ecx, ecx
test esi, esi
mov eax, 0x48f18c
push esi
cmove eax, ecx
push eax
push edi
push ebx
call fcn.0040840d
push esi
call fcn.0040528e
add esp, 0x14
mov edi, dword [esp + 0x10]
push dword [ebx + 0xc]
call fcn.00404d1f
pop ecx
jmp 0x46f110
mov eax, dword [ebx + 0x10]
or esi, 0x100
mov edi, dword [esp + 0x10]
add eax, 4
mov ecx, dword [ebx]
mov edx, edi
push esi
push 0
push eax
push ebx
call fcn.00416697
add esp, 0x10
test eax, eax
je 0x46f32c
cmp eax, 0xc0a
push 7
pop ecx
cmove eax, ecx
mov ecx, ebx
mov edx, eax
call fcn.004083bc
jmp 0x46f2e3
mov ecx, dword [ebx + 0x10]
mov ecx, dword [ecx + 4]
call fcn.00414e79
mov edx, dword [ebx + 0x10]
mov ecx, ebx
mov edx, dword [edx + 4]
call fcn.004416e5
mov ecx, dword [ebx + 0x10]
mov dword [ecx + 0xc], eax
cmp byte [ebx + 0x57], 0
jne 0x46f360
mov eax, dword [ebx + 0x10]
mov ecx, ebx
mov eax, dword [eax + 0xc]
mov dl, byte [eax + 0x4d]
call fcn.0044128e
mov ecx, dword [ebx + 0x10]
mov ecx, dword [ecx + 4]
call fcn.00414eeb
xor edx, edx
mov ecx, ebx
call fcn.004416e5
mov ecx, dword [ebx + 0x10]
mov dword [ecx + 0x1c], eax
mov eax, dword [ebx + 0x10]
mov dword [eax], 0x48f1b8
mov eax, dword [ebx + 0x10]
mov byte [eax + 8], 3
mov eax, dword [ebx + 0x10]
mov dword [eax + 0x10], str.temp
mov eax, dword [ebx + 0x10]
mov byte [eax + 0x18], 1
cmp byte [ebx + 0x57], 0
mov byte [ebx + 0x61], 0x76
jne 0x46f2e3
xor edx, edx
mov ecx, ebx
call fcn.004083bc
push 2
push str.MATCH
push ebx
call fcn.0046e427
add esp, 0xc
push 7
pop ecx
cmp eax, ecx
jne 0x46f3d0
mov ecx, ebx
call fcn.0040589f
push ebx
call fcn.0046e9da
pop ecx
test eax, eax
jne 0x46f3f3
mov esi, 0x489750
cmp esi, str.rank
jge 0x46f429
push ebx
call dword [esi]
add esi, 4
pop ecx
test eax, eax
je 0x46f3e0
mov edx, eax
mov ecx, ebx
call fcn.004083bc
push dword [0x49b920]
xor edx, edx
mov ecx, ebx
push dword [0x49b91c]
call fcn.0046d362
push 0x3e8
push 0x46e668
push ebx
call fcn.0046e6c4
add esp, 0x14
jmp 0x46f2e3
mov ecx, ebx
call fcn.00449cba
push ebx
call fcn.0046e9da
pop ecx
test eax, eax
jne 0x46f2e3
jmp 0x46f3fc
test eax, eax
je 0x46f449
mov byte [ebx + 0x61], 0xba
mov eax, dword [esp + 0x24]
push edi
mov dword [eax], ebx
call fcn.0046fede
mov eax, dword [esp + 0x18]
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret