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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov dword [esp + 4], 0x88
mov dword [esp], 0x67e600
mov eax, dword [0x67eb7c]
call dword [eax + 0x4cc]
mov esi, eax
mov eax, dword [esp + 0x74]
mov edx, dword [eax]
cmp edx, 0x112
ja 0x4858f4
cmp edx, 0x111
jb 0x485964
call fcn.00439d70
mov edx, dword [esp + 0x78]
mov eax, dword [edx]
mov ebp, eax
shr ebp, 0x10
je 0x485d20
nop
xor eax, eax
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
cmp edx, 0x11f
je 0x485a6c
jbe 0x4859dc
cmp edx, 0x120
je 0x485c54
cmp edx, 0x125
jne 0x4858e8
mov edx, dword [esp + 0x78]
mov eax, dword [edx]
mov dword [esp + 4], eax
lea eax, [esi + 0x50]
mov dword [esp], eax
call dword [esi + 0x7c]
test eax, eax
je 0x4858e8
mov edx, dword [eax + 0xc]
mov eax, dword [edx + 0xa0]
test eax, eax
je 0x4858e8
mov eax, dword [eax + 8]
test eax, eax
je 0x4858e8
mov dword [esp + 8], 0
mov eax, dword [eax + 4]
mov dword [esp + 4], eax
mov eax, dword [edx + 8]
mov dword [esp], eax
call fcn.0048d128
xor eax, eax
jmp 0x4858ea
cmp edx, 0x2b
je 0x485b40
cmp edx, 0x2c
jne 0x4858e8
mov eax, dword [esp + 0x7c]
mov ebx, dword [eax]
test ebx, ebx
je 0x4858e8
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x4858e8
mov esi, dword [ebx + 0x14]
mov edi, dword [esi + 4]
mov dword [esp], edi
call fcn.0048ce14
mov eax, dword [esi + 0x84]
mov dword [ebx + 0x10], eax
mov eax, dword [esi + 0x7c]
mov dword [ebx + 0xc], eax
mov edx, dword [esi + 0x5c]
test edx, edx
je 0x485f84
add eax, 2
sub eax, dword [0x67e608]
mov dword [ebx + 0xc], eax
mov edx, dword [esp + 0x80]
mov dword [edx], 1
mov eax, 1
jmp 0x4858ea
cmp edx, 0x116
jne 0x4858e8
call fcn.00439d70
mov ebp, dword [esp + 0x78]
mov eax, dword [ebp]
mov dword [esp + 4], eax
lea eax, [esi + 0x50]
mov dword [esp], eax
call dword [esi + 0x7c]
mov ebx, eax
test eax, eax
je 0x485f74
mov dword [esp], 1
mov eax, dword [0x67eb7c]
call dword [eax + 0x3ac]
mov dword [esi + 0x10], eax
mov ebx, dword [ebx + 0xc]
mov dword [esi + 0x14], ebx
test byte [ebx + 0x8b], 0x20
jne 0x485f2c
mov eax, ebx
call fcn.00483e60
mov eax, dword [esi]
test eax, eax
je 0x485e80
mov dword [esp + 4], 0xffffffff
mov dword [esp], ebx
call fcn.00436ed4
mov eax, dword [esp + 0x80]
mov dword [eax], 0
mov eax, 1
jmp 0x4858ea
mov eax, dword [esp + 0x78]
mov ebx, dword [eax]
shr ebx, 0x10
movzx ebp, bx
call fcn.00439d70
mov edx, dword [esp + 0x7c]
mov eax, dword [edx]
cmp ebp, 0xffff
je 0x485ee0
test eax, eax
je 0x4858e8
mov dword [esp + 4], eax
lea eax, [esi + 0x50]
mov dword [esp], eax
call dword [esi + 0x7c]
test eax, eax
je 0x4858e8
mov edi, dword [eax + 0xc]
test edi, edi
je 0x4858e8
mov edx, dword [esp + 0x78]
mov eax, dword [edx]
cmp ebp, 0xffff
je 0x485f14
and eax, 0xffff
and ebx, 0x10
je 0x485e60
cmp eax, dword [edi + 0x14]
jge 0x485e60
mov edx, dword [edi + 0x10]
mov ebx, dword [edx + eax*4]
test ebx, ebx
je 0x485f14
cmp dword [ebx + 0x14], 2
je 0x485f14
mov eax, dword [ebx + 0xa0]
cmp eax, dword [edi + 0x14]
jge 0x485fb4
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.00436ed4
lea edx, [edi + 4]
mov eax, edi
call fcn.00483da8
mov eax, dword [0x67eb7c]
call dword [eax + 0x37c]
mov ebp, dword [esp + 0x80]
mov dword [ebp], 0
mov eax, 1
jmp 0x4858ea
mov ebp, dword [esp + 0x7c]
mov ebx, dword [ebp]
test ebx, ebx
je 0x485c39
mov eax, dword [esi + 0x14]
test eax, eax
je 0x485c39
test byte [ebx + 0x11], 1
je 0x485b6d
mov eax, dword [0x67e60c]
test eax, eax
je 0x485e50
mov dword [esp + 0x3c], 0
mov esi, dword [ebx + 0x2c]
mov ebp, dword [esi + 4]
mov dword [esp], 0x10
mov eax, dword [0x67eb7c]
call dword [eax + 0x14]
mov edi, eax
mov dword [eax], 3
mov eax, dword [ebx + 0x18]
mov dword [edi + 4], eax
cmp dword [esi + 0x14], 2
je 0x485f50
test byte [ebx + 0x10], 1
jne 0x485e38
mov dword [esp + 4], 0xffffffff
mov dword [esp], ebp
call fcn.00436ed4
mov eax, dword [ebp + 0x38]
mov dword [esp + 4], eax
mov eax, dword [ebp]
mov dword [esp], eax
call fcn.0042efc0
lea edx, [esp + 0x44]
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 0x38], eax
call fcn.0042f18c
mov ecx, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], 0
mov ebp, dword [ebx + 0x28]
sub ebp, ecx
mov dword [esp + 0x1c], ebp
mov ebx, dword [ebx + 0x24]
sub ebx, edx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], edx
lea edx, [esp + 0x44]
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x38]
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.004846f0
mov dword [esp], edi
mov eax, dword [0x67eb7c]
call dword [eax + 0x18]
mov ebp, dword [esp + 0x80]
mov dword [ebp], 1
mov eax, 1
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [esp + 0x7c]
mov eax, dword [edx]
mov dword [esp + 4], eax
lea eax, [esi + 0x50]
mov dword [esp], eax
call dword [esi + 0x7c]
test eax, eax
je 0x4858e8
mov ebp, dword [esp + 0x80]
mov dword [ebp], 0
mov edi, dword [eax + 0xc]
mov edx, dword [esp + 0x78]
mov eax, dword [edx]
and eax, 0xffff
mov dword [esp], eax
mov eax, dword [0x67eb7c]
call dword [eax + 0x514]
mov word [esp + 0x3c], ax
xor ebx, ebx
lea esi, [esp + 0x40]
mov ebp, dword [edi + 0x14]
test ebp, ebp
jle 0x4858e8
mov ebp, edi
jmp 0x485cbe
inc ebx
cmp dword [ebp + 0x14], ebx
jle 0x4858e8
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + ebx*4]
mov edi, dword [eax + 0x18]
mov eax, dword [eax + 0xc]
test edi, edi
js 0x485cb4
test eax, eax
je 0x485cb4
mov dword [esp + 4], esi
mov dword [esp], eax
mov eax, dword [0x67eb7c]
call dword [eax + 0x6d0]
cmp edi, dword [esp + 0x40]
jge 0x485cb4
movzx eax, word [eax + edi*2]
mov dword [esp], eax
mov eax, dword [0x67eb7c]
call dword [eax + 0x514]
cmp ax, word [esp + 0x3c]
jne 0x485cb4
or ebx, 0x20000
mov ebp, dword [esp + 0x80]
mov dword [ebp], ebx
mov eax, 1
jmp 0x4858ea
and eax, 0xffff
mov dword [esp + 4], eax
lea eax, [esi + 0x18]
mov dword [esp], eax
call dword [esi + 0x44]
test eax, eax
je 0x4858e8
mov edi, dword [eax + 0xc]
test edi, edi
je 0x4858e8
mov esi, dword [edi + 4]
mov eax, dword [esi]
mov eax, dword [eax + 0x2c]
mov dword [esp + 4], eax
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.004372f4
test eax, eax
je 0x485db9
mov ebx, dword [eax + 8]
test ebx, ebx
jne 0x485d72
jmp 0x485db9
mov ebx, dword [ebx + 0xa8]
mov eax, dword [ebx + 0x70]
mov dword [esp], eax
mov eax, dword [0x67eb7c]
call dword [eax + 0x558]
mov edx, dword [esi]
mov edx, dword [edx + 0x2c]
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x485d6c
mov eax, dword [ebx + 4]
mov edx, dword [ebx + 0xa0]
mov ecx, dword [eax + 0x10]
mov ecx, dword [ecx + edx*4]
cmp dword [ecx + 0x14], 2
je 0x485db9
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00436ed4
mov ebx, dword [esi + 8]
mov dword [esp], ebx
mov eax, dword [0x67eb7c]
call dword [eax + 0x32c]
mov eax, dword [edi + 0xa0]
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov dword [esp], ebx
call fcn.00436920
test eax, eax
je 0x485e12
cmp eax, 4
je 0x485e12
cmp eax, 3
je 0x485e12
mov dword [esp + 4], str._n_____menu_invoke_
mov dword [esp], ebx
mov eax, dword [0x67eb7c]
call dword [eax + 0x110]
mov dword [esp], ebx
mov eax, dword [0x67eb7c]
call dword [eax + 0x138]
mov dword [esp], ebx
mov eax, dword [0x67eb7c]
call dword [eax + 0x368]
mov eax, dword [esp + 0x80]
mov dword [eax], 0
mov eax, 1
jmp 0x4858ea
mov eax, dword [esi + 0xa0]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.00436ed4
jmp 0x485bbc
mov dword [esp + 0x3c], 2
jmp 0x485b75
mov dword [esp + 4], eax
lea eax, [esi + 0x18]
mov dword [esp], eax
call dword [esi + 0x44]
test eax, eax
je 0x485f14
mov ebx, dword [eax + 0xc]
jmp 0x485ae6
mov esi, dword [ebx + 8]
mov dword [esp], esi
mov eax, dword [0x67eb7c]
call dword [eax + 0x32c]
mov dword [esp], ebx
call fcn.004ccadc
test eax, eax
je 0x485ecc
cmp eax, 4
je 0x485ecc
cmp eax, 3
je 0x485ecc
mov dword [esp + 4], str._n_____menu_preprocess_
mov dword [esp], esi
mov eax, dword [0x67eb7c]
call dword [eax + 0x110]
mov dword [esp], esi
mov eax, dword [0x67eb7c]
call dword [eax + 0x138]
nop
mov dword [esp], esi
mov eax, dword [0x67eb7c]
call dword [eax + 0x368]
jmp 0x485a44
test eax, eax
jne 0x485a97
mov ebx, dword [esi + 0x14]
test ebx, ebx
je 0x4858e8
mov eax, dword [esi + 0x10]
mov dword [esp], eax
mov eax, dword [0x67eb7c]
call dword [eax + 0x3ac]
mov eax, dword [esi + 0x14]
call fcn.00483e60
xor eax, eax
jmp 0x4858ea
mov dword [esp + 4], 0xffffffff
mov dword [esp], edi
call fcn.00436ed4
jmp 0x485b13
mov dword [esp + 4], ebx
mov dword [esp], fcn.0048303c
mov eax, dword [0x67eb7c]
call dword [eax + 0x148]
mov dword [esp], ebx
call fcn.0048303c
jmp 0x485a33
test byte [ebx + 0x10], 1
je 0x485fce
or dword [esi + 0x9c], 0x40000000
mov eax, dword [esi]
test eax, eax
jne 0x485bbc
or dword [esp + 0x3c], 1
jmp 0x485bbc
mov dword [esi + 0x14], 0
xor eax, eax
jmp 0x4858ea
lea eax, [esp + 0x40]
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x30]
mov dword [esp + 8], eax
mov eax, dword [edi]
mov dword [esp + 4], eax
mov eax, dword [edi + 8]
mov dword [esp], eax
call fcn.0043ac24
mov eax, dword [esp + 0x40]
shl eax, 1
add dword [ebx + 0xc], eax
jmp 0x4859c3
mov dword [esp], str.Trying_to_activate_an_entry_which_doesnt_exist.
mov eax, dword [0x67eb7c]
call dword [eax + 0x10]
mov eax, dword [ebx + 0xa0]
jmp 0x485b07
and dword [esi + 0x9c], 0xbfffffff
jmp 0x485f60