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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x53c
mov eax, dword [0x4f8004]
xor eax, esp
mov dword [esp + 0x538], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 0x10]
push esi
push edi
mov edi, ecx
mov dword [esp + 0x6c], ebx
mov ecx, dword [eax]
mov esi, edx
mov dword [esp + 0x60], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x64], ecx
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x68], eax
xor eax, eax
inc eax
mov dword [esp + 0x5c], ecx
push eax
push ecx
push 0x4f0890
push 3
lea ecx, [esp + 0x8c]
call fcn.0042cf74
xor eax, eax
inc eax
push eax
push ecx
push 0x4ec704
push 7
pop eax
push eax
lea ecx, [esp + 0x80]
call fcn.0042cf74
push 0xffffffffffffffff
push ebx
push dword [ebp + 8]
lea ecx, [esp + 0x1c]
push esi
push edi
call fcn.0042b794
mov edi, dword [esp + 0x5c]
xor eax, eax
lea ebx, [eax + 1]
jmp 0x460f01
push 0x64
lea eax, [esp + 0xf4]
push eax
lea ecx, [esp + 0x18]
call fcn.00478c9a
mov ecx, dword [esp + 0x48]
test ecx, ecx
jle 0x460b5f
push ecx
lea ecx, [esp + 0x74]
call fcn.0042d02b
test al, al
je 0x460b5f
lea eax, [esp + 0xf0]
push eax
lea eax, [esp + 0x8c]
push eax
call fcn.0049c980
lea eax, [esp + 0x90]
push eax
call fcn.00497120
mov esi, eax
add esp, 0xc
cmp esi, 0x63
jge 0x460b5f
push dword [esp + 0x48]
call fcn.004970c0
mov byte [esp + esi + 0x8c], al
inc esi
pop ecx
cmp esi, 0x64
jae 0x460fd1
mov byte [esp + esi + 0x88], 0
mov cl, byte [esp + 0x3c]
test cl, cl
je 0x460b7d
cmp dword [esp + 0x40], 8
jne 0x460b7d
push 8
lea ecx, [esp + 0x14]
call fcn.0042b91d
mov cl, byte [esp + 0x3c]
mov eax, dword [esp + 0x40]
dec eax
cmp eax, 0xf
ja case.0x460b8b.4
jmp dword [eax*4 + 0x460fd8]
mov eax, dword [esp + 0x48]
add eax, 0xffffffd0
cmp eax, 9
jbe case.0x460b8b.4
jmp case.0x460b8b.11
mov ecx, dword [esp + 0x48]
test ecx, ecx
jle case.0x460b8b.4
push ecx
lea ecx, [esp + 0x74]
call fcn.0042d02b
test al, al
jne case.0x460b8b.4
push 0x3e8
lea eax, [esp + 0x15c]
push eax
lea ecx, [esp + 0x18]
call fcn.00478c9a
mov ecx, dword [esp + 0x60]
lea eax, [esp + 0x158]
push eax
call fcn.00479026
test al, al
je 0x460bfd
mov dword [esp + 0x40], 4
jmp case.0x460b8b.11
mov ecx, dword [esp + 0x64]
lea eax, [esp + 0x158]
push eax
call fcn.00479026
test al, al
je 0x460c1f
mov dword [esp + 0x40], 5
jmp case.0x460b8b.11
lea eax, [esp + 0x158]
mov ecx, edi
push eax
call fcn.00479026
test al, al
je 0x460c3f
mov dword [esp + 0x40], 6
jmp case.0x460b8b.11
mov ecx, dword [esp + 0x68]
lea eax, [esp + 0x158]
push eax
call fcn.00479026
mov ecx, dword [esp + 0x40]
test al, al
push 7
pop eax
cmovne ecx, eax
mov dword [esp + 0x40], ecx
jmp case.0x460b8b.11
test cl, cl
jne case.0x460b8b.11
cmp dword [esp + 0x48], 0x2f
jne case.0x460b8b.4
cmp dword [esp + 0x50], 0x2a
je case.0x460b8b.11
cmp dword [esp + 0x48], 0x2f
jne case.0x460b8b.4
cmp dword [esp + 0x50], 0x2f
jmp 0x460d60
cmp dword [esp + 0x48], 0x2a
jne case.0x460b8b.4
cmp dword [esp + 0x50], 0x2f
jne case.0x460b8b.4
lea ecx, [esp + 0x10]
call fcn.0042b8bb
lea ecx, [esp + 0x10]
push 0
call fcn.0042b947
jmp case.0x460b8b.4
test cl, cl
je case.0x460b8b.4
jmp case.0x460b8b.11
cmp byte [esp + 0x3d], 0
jne 0x460d10
cmp dword [esp + 0x48], 0x5c
jne 0x460d00
mov eax, dword [esp + 0x50]
cmp eax, 0x22
je 0x460cf5
cmp eax, 0x27
je 0x460cf5
cmp eax, 0x5c
jne case.0x460b8b.4
lea ecx, [esp + 0x10]
call fcn.0042b8bb
jmp case.0x460b8b.4
cmp dword [esp + 0x48], 0x22
jne case.0x460b8b.4
jmp 0x460cb7
cmp byte [esp + 0x3d], 0
je 0x460d1d
mov dword [esp + 0x40], 0xd
jmp 0x460ed2
cmp dword [esp + 0x48], 0x5c
je 0x460ce2
cmp dword [esp + 0x48], 0x27
jmp 0x460d05
cmp dword [esp + 0x48], 0x22
jne case.0x460b8b.4
cmp dword [esp + 0x50], 0x22
lea ecx, [esp + 0x10]
je 0x460cf9
jmp 0x460cbb
cmp dword [esp + 0x48], 0x23
jne case.0x460b8b.4
cmp dword [esp + 0x50], 0x23
jmp 0x460d37
mov ecx, dword [esp + 0x48]
call fcn.0042b2b4
test al, al
jne case.0x460b8b.11
cmp ecx, 0x28
jne case.0x460b8b.4
push 0
lea ecx, [esp + 0x14]
call fcn.0042b91d
cmp dword [esp + 0x40], 0
jne 0x460ed2
cmp dword [esp + 0x48], 0x3f
jne 0x460d8d
cmp dword [esp + 0x50], 0x22
jne 0x460d8d
push 0xe
jmp 0x460e4f
mov ecx, dword [esp + 0x48]
lea eax, [ecx - 0x30]
cmp eax, 9
jbe 0x460ec7
cmp ecx, 0x2e
jne 0x460db2
mov eax, dword [esp + 0x50]
add eax, 0xffffffd0
cmp eax, 9
jbe 0x460ec7
mov ecx, dword [esp + 0x48]
cmp ecx, 0x3f
jne 0x460dd8
mov eax, dword [esp + 0x50]
cmp eax, 0x23
jne 0x460dd8
cmp ecx, ecx
jne 0x460ed2
cmp eax, eax
jne 0x460ed2
push 0xf
jmp 0x460e4f
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x6c]
call fcn.004609c1
test al, al
je 0x460df0
push 0x10
jmp 0x460ec9
mov eax, dword [esp + 0x48]
test bl, bl
je 0x460e01
cmp eax, 0x40
jne 0x460e01
push 0x10
jmp 0x460e7e
test eax, eax
jle 0x460e24
push eax
lea ecx, [esp + 0x80]
call fcn.0042d02b
test al, al
jne 0x460e1d
cmp dword [esp + 0x48], 0x3f
jne 0x460e24
push 0xc
jmp 0x460ec9
push 0x4f0894
lea ecx, [esp + 0x14]
call fcn.0042f03b
test al, al
je 0x460e3d
push 0xa
jmp 0x460ec9
cmp dword [esp + 0x48], 0x2f
jne 0x460e71
cmp dword [esp + 0x50], 0x2a
jne 0x460e63
xor eax, eax
inc eax
push eax
lea ecx, [esp + 0x14]
call fcn.0042b91d
lea ecx, [esp + 0x10]
call fcn.0042b8bb
jmp 0x460ed2
cmp dword [esp + 0x48], 0x2f
jne 0x460e71
cmp dword [esp + 0x50], 0x2f
je 0x460e9b
test bl, bl
je 0x460e89
cmp dword [esp + 0x48], 0x3b
jne 0x460e89
push 2
lea ecx, [esp + 0x14]
call fcn.0042b91d
jmp 0x460ed6
push 0x4f0898
lea ecx, [esp + 0x14]
call fcn.0042f03b
test al, al
je 0x460e9f
push 2
jmp 0x460ec9
cmp dword [esp + 0x48], 0x22
jne 0x460eaa
push 8
jmp 0x460ec9
cmp dword [esp + 0x48], 0x27
jne 0x460eb5
push 9
jmp 0x460ec9
movsx ecx, byte [esp + 0x48]
call fcn.0042d082
test al, al
je 0x460ed2
push 0xb
jmp 0x460ec9
push 3
lea ecx, [esp + 0x14]
call fcn.0042b91d
test bl, bl
je 0x460eea
mov ecx, dword [esp + 0x48]
cmp ecx, 0x20
je 0x460eea
xor eax, eax
movzx ebx, bl
cmp ecx, 9
cmovne ebx, eax
cmp byte [esp + 0x3d], 0
push 1
pop ecx
movzx ebx, bl
cmovne ebx, ecx
lea ecx, [esp + 0x10]
call fcn.0042b8bb
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x18]
jb 0x460ae7
cmp dword [esp + 0x40], 0xc
jne 0x460f9c
mov ecx, dword [esp + 0x60]
lea eax, [esp + 0x88]
push eax
call fcn.00479026
test al, al
je 0x460f39
mov dword [esp + 0x40], 4
jmp 0x460f91
mov ecx, dword [esp + 0x64]
lea eax, [esp + 0x88]
push eax
call fcn.00479026
test al, al
je 0x460f58
mov dword [esp + 0x40], 5
jmp 0x460f91
lea eax, [esp + 0x88]
mov ecx, edi
push eax
call fcn.00479026
test al, al
je 0x460f75
mov dword [esp + 0x40], 6
jmp 0x460f91
mov ecx, dword [esp + 0x68]
lea eax, [esp + 0x88]
push eax
call fcn.00479026
test al, al
je 0x460f91
push 7
pop eax
mov dword [esp + 0x40], eax
push 0
lea ecx, [esp + 0x14]
call fcn.0042b91d
lea ecx, [esp + 0x10]
call fcn.0042b897
push dword [esp + 0x78]
call fcn.00487120
push dword [esp + 0x88]
call fcn.00487120
pop ecx
pop ecx
mov ecx, dword [esp + 0x544]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00486c63
mov esp, ebp
pop ebp
ret
call fcn.00486d93
nop
cwde
or al, 70
add bh, al
or al, 0x46
add byte [edx + 0x6d00460b], dl
or eax, 0xd6d0046
inc esi
add byte [ebp + 0xd], ch
inc esi
add byte [ebp + 0xd], ch
inc esi
add ah, dl
or al, 0x46
add byte [ecx], cl
or eax, 0xc650046
inc esi
add byte [edx + 0xd], ah
inc esi
add byte [edi - 0x38ffb9f5], ah
or al, 0x46
add byte [ebx], ch
or eax, 0xd420046
inc esi
add byte [eax + 0xd], dl
inc esi
add byte [ebp - 0x75], dl
in al, dx
sub esp, 0x64
mov eax, dword [0x4f8004]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 0x18]
push 1
push ecx
push 0x4f0890
push 3
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x30], edi
call fcn.0042cf74
push 1
push ecx
push 0x4ec704
push 7
lea ecx, [ebp - 0x58]
call fcn.0042cf74
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
add eax, ebx
push dword [edi + 0xfb8]
mov dword [ebp - 0x40], eax
mov eax, dword [edi]
push eax
mov byte [ebp - 0x1d], 1
mov ecx, dword [eax]
call dword [ecx + 0x14]
mov ecx, dword [edi]
push ebx
push ecx
mov dword [ebp - 0x4c], eax
mov edx, dword [ecx]
call dword [edx + 0x14]
mov esi, eax
test ebx, ebx
je 0x461098
mov byte [ebp - 0x1d], 0
test esi, esi
jle 0x4610a9
mov eax, dword [edi]
dec esi
push esi
push eax
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov ebx, eax
test esi, esi
jle 0x4610a9
mov edx, edi
mov ecx, esi
call fcn.00460904
test al, al
jne 0x46108c
cmp esi, 1
jle 0x4610bc
lea ecx, [esi - 1]
mov edx, edi
call fcn.00460904
test al, al
jne 0x46108c
mov cl, byte [0x4c1e25]
lea edi, [ebp - 0xf]
xor eax, eax
mov byte [ebp - 0x10], cl
stosd dword es:[edi], eax
xor edx, edx
mov byte [ebp - 0x16], dl
mov byte [ebp - 0x14], dl
mov dword [ebp - 0x2c], edx
stosd dword es:[edi], eax
mov byte [ebp - 0x24], cl
mov dword [ebp - 0x38], edx
mov byte [ebp - 0x12], dl
stosb byte es:[edi], al
xor eax, eax
mov edi, dword [ebp - 0x30]
mov word [ebp - 0x23], ax
mov eax, 0x400
mov dword [ebp - 0x28], eax
test esi, esi
jle 0x46110a
mov ecx, dword [edi]
lea eax, [esi - 1]
push eax
push ecx
mov edx, dword [ecx]
call dword [edx + 0x1c]
sar eax, 0x10
xor edx, edx
mov dword [ebp - 0x28], eax
push 0x20
push ebx
mov ecx, edi
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], edx
call fcn.0042b5d3
xor ecx, ecx
mov byte [ebp - 0x15], cl
mov byte [ebp - 0x13], cl
mov byte [ebp - 0x17], cl
cmp ebx, dword [ebp - 0x40]
jge 0x461497
mov byte [ebp - 0x11], al
mov ecx, edi
lea eax, [ebx + 1]
push 0x20
push eax
mov dword [ebp - 0x48], eax
call fcn.0042b5d3
mov byte [ebp - 0x1e], al
mov al, byte [ebp - 0x11]
test al, al
jle 0x461161
movsx eax, al
lea ecx, [ebp - 0x58]
push eax
call fcn.0042d02b
test al, al
je 0x461161
inc dword [ebp - 0x34]
mov eax, dword [edi]
push ebx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x10]
cmp byte [ebp - 0x16], 0
movsx eax, al
mov dword [ebp - 0x44], eax
mov al, byte [ebp - 0x11]
jne 0x4611c2
test al, al
jle 0x461210
movsx eax, al
lea ecx, [ebp - 0x58]
push eax
mov dword [ebp - 0x3c], eax
call fcn.0042d02b
test al, al
jne 0x4611b0
push dword [ebp - 0x3c]
lea ecx, [ebp - 0x64]
call fcn.0042d02b
test al, al
mov al, byte [ebp - 0x11]
jne 0x4611b3
cmp al, 0x3b
je 0x4611b3
cmp al, 0x2f
jne 0x461210
jmp 0x4611b3
mov al, byte [ebp - 0x11]
cmp dword [ebp - 0x2c], 9
mov byte [ebp - 0x16], 1
jae 0x461210
push dword [ebp - 0x3c]
jmp 0x4611ee
cmp byte [ebp - 0x14], 0
jne 0x461210
test al, al
jle 0x461210
movsx eax, al
lea ecx, [ebp - 0x58]
push eax
mov dword [ebp - 0x3c], eax
call fcn.0042d02b
test al, al
jne 0x4611e5
mov byte [ebp - 0x14], 1
jmp 0x46120d
cmp dword [ebp - 0x2c], 9
jae 0x46120d
push dword [ebp - 0x3c]
call fcn.004970c0
pop ecx
mov ecx, dword [ebp - 0x2c]
mov byte [ebp + ecx - 0x10], al
inc ecx
mov dword [ebp - 0x2c], ecx
cmp ecx, 0xa
jae 0x4614cb
mov byte [ebp + ecx - 0x10], 0
mov al, byte [ebp - 0x11]
cmp dword [ebp - 0x44], 2
je 0x4612bf
mov cl, byte [ebp - 0x12]
test cl, cl
je 0x46123f
test al, al
jle 0x4612bf
movsx eax, al
lea ecx, [ebp - 0x58]
push eax
call fcn.0042d02b
test al, al
je 0x461246
mov byte [ebp - 0x12], 0
jmp 0x461246
mov byte [ebp - 0x12], cl
test al, al
jle 0x4612bf
cmp byte [ebp - 0x14], 0
je 0x4612bf
lea eax, [ebp - 0x10]
push 0x4ec4f0
push eax
call fcn.004978b0
pop ecx
pop ecx
test eax, eax
jne 0x4612bf
cmp dword [ebp - 0x38], 2
jne 0x461299
mov al, byte [ebp - 0x23]
mov byte [ebp - 0x24], al
movsx eax, byte [ebp - 0x11]
push eax
call fcn.004970c0
mov byte [ebp - 0x23], al
lea eax, [ebp - 0x24]
mov dword [esp], 0x4ec7e0
push eax
mov byte [ebp - 0x22], 0
call fcn.004978b0
pop ecx
pop ecx
test eax, eax
jne 0x4612bf
mov byte [ebp - 0x12], 1
jmp 0x4612bf
jge 0x4612bf
movsx eax, byte [ebp - 0x11]
push eax
call fcn.004970c0
pop ecx
mov ecx, dword [ebp - 0x38]
mov byte [ebp + ecx - 0x24], al
inc ecx
mov dword [ebp - 0x38], ecx
cmp ecx, 3
jae 0x4614cb
mov byte [ebp + ecx - 0x24], 0
mov al, byte [ebp - 0x11]
cmp al, 0xd
jne 0x4612cc
cmp byte [ebp - 0x1e], 0xa
jne 0x4612d9
cmp al, 0xa
je 0x4612d9
cmp ebx, dword [ebp - 0x40]
jne 0x461465
cmp dword [ebp - 0x2c], 0
jbe 0x4613e7
cmp byte [ebp - 0x15], 0x2b
je 0x4613e7
cmp byte [ebp - 0x13], 0x3b
je 0x4613e7
cmp byte [ebp - 0x17], 0x3b
je 0x4613e7
lea eax, [ebp - 0x10]
push 0x4ec4f0
push eax
call fcn.004978b0
mov ebx, dword [ebp - 0x1c]
pop ecx
pop ecx
test eax, eax
jne 0x461321
cmp byte [ebp - 0x12], al
je 0x461321
inc ebx
mov dword [ebp - 0x1c], ebx
lea eax, [ebp - 0x10]
push 0x4ec7e4
push eax
call fcn.004978b0
pop ecx
pop ecx
test eax, eax
jne 0x461339
inc ebx
mov dword [ebp - 0x1c], ebx
lea eax, [ebp - 0x10]
push 0x4ed300
push eax
call fcn.004978b0
pop ecx
pop ecx
test eax, eax
je 0x461353
cmp byte [ebp - 0x10], 0x40
jne 0x461389
cmp byte [ebp - 0x1d], 0
mov ebx, dword [ebp - 0x28]
lea ecx, [ebx - 1]
je 0x461382
mov edx, dword [ebp - 0x1c]
cmp dword [ebp - 0x30], 0
lea eax, [edx + 1]
cmovle edx, eax
mov eax, dword [ebp - 0x30]
test eax, eax
mov dword [ebp - 0x1c], edx
cmovle ecx, ebx
inc eax
mov ebx, ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x28], ebx
jmp 0x46138c
mov ebx, ecx
mov dword [ebp - 0x28], ebx
jmp 0x46138c
mov ebx, dword [ebp - 0x28]
lea eax, [ebp - 0x10]
push 0x4ec820
push eax
call fcn.004978b0
pop ecx
pop ecx
test eax, eax
je 0x4613b4
lea eax, [ebp - 0x10]
push str.endfor
push eax
call fcn.004978b0
pop ecx
pop ecx
test eax, eax
jne 0x4613bb
dec dword [ebp - 0x1c]
dec ebx
mov dword [ebp - 0x28], ebx
lea eax, [ebp - 0x10]
push 0x4ec850
push eax
call fcn.004978b0
pop ecx
pop ecx
test eax, eax
je 0x4613e3
lea eax, [ebp - 0x10]
push str.elseif
push eax
call fcn.004978b0
pop ecx
pop ecx
test eax, eax
jne 0x4613e7
dec ebx
mov dword [ebp - 0x28], ebx
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x28]
shl eax, 0x10
or eax, edx
mov ecx, eax
or ecx, 0x1000
cmp dword [ebp - 0x34], 0
push esi
cmovne ecx, eax
mov eax, dword [edi]
mov ebx, ecx
or ebx, 0x2000
cmp edx, dword [ebp - 0x1c]
push eax
cmovge ebx, ecx
mov ecx, dword [eax]
call dword [ecx + 0x1c]
cmp ebx, eax
je 0x461426
mov eax, dword [edi]
push ebx
push esi
push eax
mov ecx, dword [eax]
call dword [ecx + 0x20]
mov dl, byte [ebp - 0x15]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
inc esi
mov dh, byte [ebp - 0x13]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x34], ecx
cmp dl, 0x2b
je 0x46146b
cmp dh, 0x3b
je 0x46146b
cmp byte [ebp - 0x17], 0x3b
je 0x46146b
mov dword [ebp - 0x2c], ecx
mov eax, ecx
mov dword [ebp - 0x38], ecx
mov byte [ebp - 0x16], cl
mov byte [ebp - 0x14], cl
mov byte [ebp - 0x12], cl
mov byte [ebp + eax - 0x10], cl
inc eax
cmp eax, 0xa
jb 0x461459
jmp 0x46146b
mov dl, byte [ebp - 0x15]
mov dh, byte [ebp - 0x13]
mov bl, byte [ebp - 0x11]
test bl, bl
jle 0x461487
movsx ecx, bl
call fcn.0042b2b4
test al, al
jne 0x461487
mov byte [ebp - 0x17], dh
mov byte [ebp - 0x13], dl
mov byte [ebp - 0x15], bl
mov ebx, dword [ebp - 0x48]
cmp ebx, dword [ebp - 0x40]
jge 0x461497
mov al, byte [ebp - 0x1e]
jmp 0x461131
cmp esi, dword [ebp - 0x4c]
jl 0x4614aa
mov eax, dword [edi]
push 0x1000
push esi
push eax
mov ecx, dword [eax]
call dword [ecx + 0x20]
push dword [ebp - 0x50]
call fcn.00487120
push dword [ebp - 0x5c]
call fcn.00487120
pop ecx
pop ecx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00486c63
leave
ret
call fcn.00486d93
int3