Function at 0x485fb0
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], 0x68b600
mov eax, dword [0x68bb7c]
call dword [eax + 0x4cc]
mov esi, eax
mov eax, dword [esp + 0x74]
mov edx, dword [eax]
cmp edx, 0x112
ja 0x486010
cmp edx, 0x111
jb 0x486080
call fcn.0043a48c
mov edx, dword [esp + 0x78]
mov eax, dword [edx]
mov ebp, eax
shr ebp, 0x10
je 0x48643c
nop
xor eax, eax
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
cmp edx, 0x11f
je 0x486188
jbe 0x4860f8
cmp edx, 0x120
je 0x486370
cmp edx, 0x125
jne 0x486004
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 0x486004
mov edx, dword [eax + 0xc]
mov eax, dword [edx + 0xa0]
test eax, eax
je 0x486004
mov eax, dword [eax + 8]
test eax, eax
je 0x486004
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.0048d844
xor eax, eax
jmp 0x486006
cmp edx, 0x2b
je 0x48625c
cmp edx, 0x2c
jne 0x486004
mov eax, dword [esp + 0x7c]
mov ebx, dword [eax]
test ebx, ebx
je 0x486004
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x486004
mov esi, dword [ebx + 0x14]
mov edi, dword [esi + 4]
mov dword [esp], edi
call fcn.0048d530
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 0x4866a0
add eax, 2
sub eax, dword [0x68b608]
mov dword [ebx + 0xc], eax
mov edx, dword [esp + 0x80]
mov dword [edx], 1
mov eax, 1
jmp 0x486006
cmp edx, 0x116
jne 0x486004
call fcn.0043a48c
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 0x486690
mov dword [esp], 1
mov eax, dword [0x68bb7c]
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 0x486648
mov eax, ebx
call fcn.0048457c
mov eax, dword [esi]
test eax, eax
je 0x48659c
mov dword [esp + 4], 0xffffffff
mov dword [esp], ebx
call fcn.004375f0
mov eax, dword [esp + 0x80]
mov dword [eax], 0
mov eax, 1
jmp 0x486006
mov eax, dword [esp + 0x78]
mov ebx, dword [eax]
shr ebx, 0x10
movzx ebp, bx
call fcn.0043a48c
mov edx, dword [esp + 0x7c]
mov eax, dword [edx]
cmp ebp, 0xffff
je 0x4865fc
test eax, eax
je 0x486004
mov dword [esp + 4], eax
lea eax, [esi + 0x50]
mov dword [esp], eax
call dword [esi + 0x7c]
test eax, eax
je 0x486004
mov edi, dword [eax + 0xc]
test edi, edi
je 0x486004
mov edx, dword [esp + 0x78]
mov eax, dword [edx]
cmp ebp, 0xffff
je 0x486630
and eax, 0xffff
and ebx, 0x10
je 0x48657c
cmp eax, dword [edi + 0x14]
jge 0x48657c
mov edx, dword [edi + 0x10]
mov ebx, dword [edx + eax*4]
test ebx, ebx
je 0x486630
cmp dword [ebx + 0x14], 2
je 0x486630
mov eax, dword [ebx + 0xa0]
cmp eax, dword [edi + 0x14]
jge 0x4866d0
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.004375f0
lea edx, [edi + 4]
mov eax, edi
call fcn.004844c4
mov eax, dword [0x68bb7c]
call dword [eax + 0x37c]
mov ebp, dword [esp + 0x80]
mov dword [ebp], 0
mov eax, 1
jmp 0x486006
mov ebp, dword [esp + 0x7c]
mov ebx, dword [ebp]
test ebx, ebx
je 0x486355
mov eax, dword [esi + 0x14]
test eax, eax
je 0x486355
test byte [ebx + 0x11], 1
je 0x486289
mov eax, dword [0x68b60c]
test eax, eax
je 0x48656c
mov dword [esp + 0x3c], 0
mov esi, dword [ebx + 0x2c]
mov ebp, dword [esi + 4]
mov dword [esp], 0x10
mov eax, dword [0x68bb7c]
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 0x48666c
test byte [ebx + 0x10], 1
jne 0x486554
mov dword [esp + 4], 0xffffffff
mov dword [esp], ebp
call fcn.004375f0
mov eax, dword [ebp + 0x38]
mov dword [esp + 4], eax
mov eax, dword [ebp]
mov dword [esp], eax
call fcn.0042f6dc
lea edx, [esp + 0x44]
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 0x38], eax
call fcn.0042f8a8
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.00484e0c
mov dword [esp], edi
mov eax, dword [0x68bb7c]
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 0x486004
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 [0x68bb7c]
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 0x486004
mov ebp, edi
jmp 0x4863da
inc ebx
cmp dword [ebp + 0x14], ebx
jle 0x486004
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 0x4863d0
test eax, eax
je 0x4863d0
mov dword [esp + 4], esi
mov dword [esp], eax
mov eax, dword [0x68bb7c]
call dword [eax + 0x6d0]
cmp edi, dword [esp + 0x40]
jge 0x4863d0
movzx eax, word [eax + edi*2]
mov dword [esp], eax
mov eax, dword [0x68bb7c]
call dword [eax + 0x514]
cmp ax, word [esp + 0x3c]
jne 0x4863d0
or ebx, 0x20000
mov ebp, dword [esp + 0x80]
mov dword [ebp], ebx
mov eax, 1
jmp 0x486006
and eax, 0xffff
mov dword [esp + 4], eax
lea eax, [esi + 0x18]
mov dword [esp], eax
call dword [esi + 0x44]
test eax, eax
je 0x486004
mov edi, dword [eax + 0xc]
test edi, edi
je 0x486004
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.00437a10
test eax, eax
je 0x4864d5
mov ebx, dword [eax + 8]
test ebx, ebx
jne 0x48648e
jmp 0x4864d5
mov ebx, dword [ebx + 0xa8]
mov eax, dword [ebx + 0x70]
mov dword [esp], eax
mov eax, dword [0x68bb7c]
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 0x486488
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 0x4864d5
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004375f0
mov ebx, dword [esi + 8]
mov dword [esp], ebx
mov eax, dword [0x68bb7c]
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.0043703c
test eax, eax
je 0x48652e
cmp eax, 4
je 0x48652e
cmp eax, 3
je 0x48652e
mov dword [esp + 4], str._n_____menu_invoke_
mov dword [esp], ebx
mov eax, dword [0x68bb7c]
call dword [eax + 0x110]
mov dword [esp], ebx
mov eax, dword [0x68bb7c]
call dword [eax + 0x138]
mov dword [esp], ebx
mov eax, dword [0x68bb7c]
call dword [eax + 0x368]
mov eax, dword [esp + 0x80]
mov dword [eax], 0
mov eax, 1
jmp 0x486006
mov eax, dword [esi + 0xa0]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.004375f0
jmp 0x4862d8
mov dword [esp + 0x3c], 2
jmp 0x486291
mov dword [esp + 4], eax
lea eax, [esi + 0x18]
mov dword [esp], eax
call dword [esi + 0x44]
test eax, eax
je 0x486630
mov ebx, dword [eax + 0xc]
jmp 0x486202
mov esi, dword [ebx + 8]
mov dword [esp], esi
mov eax, dword [0x68bb7c]
call dword [eax + 0x32c]
mov dword [esp], ebx
call fcn.004cd1f8
test eax, eax
je 0x4865e8
cmp eax, 4
je 0x4865e8
cmp eax, 3
je 0x4865e8
mov dword [esp + 4], str._n_____menu_preprocess_
mov dword [esp], esi
mov eax, dword [0x68bb7c]
call dword [eax + 0x110]
mov dword [esp], esi
mov eax, dword [0x68bb7c]
call dword [eax + 0x138]
nop
mov dword [esp], esi
mov eax, dword [0x68bb7c]
call dword [eax + 0x368]
jmp 0x486160
test eax, eax
jne 0x4861b3
mov ebx, dword [esi + 0x14]
test ebx, ebx
je 0x486004
mov eax, dword [esi + 0x10]
mov dword [esp], eax
mov eax, dword [0x68bb7c]
call dword [eax + 0x3ac]
mov eax, dword [esi + 0x14]
call fcn.0048457c
xor eax, eax
jmp 0x486006
mov dword [esp + 4], 0xffffffff
mov dword [esp], edi
call fcn.004375f0
jmp 0x48622f
mov dword [esp + 4], ebx
mov dword [esp], fcn.00483758
mov eax, dword [0x68bb7c]
call dword [eax + 0x148]
mov dword [esp], ebx
call fcn.00483758
jmp 0x48614f
test byte [ebx + 0x10], 1
je 0x4866ea
or dword [esi + 0x9c], 0x40000000
mov eax, dword [esi]
test eax, eax
jne 0x4862d8
or dword [esp + 0x3c], 1
jmp 0x4862d8
mov dword [esi + 0x14], 0
xor eax, eax
jmp 0x486006
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.0043b340
mov eax, dword [esp + 0x40]
shl eax, 1
add dword [ebx + 0xc], eax
jmp 0x4860df
mov dword [esp], str.Trying_to_activate_an_entry_which_doesnt_exist.
mov eax, dword [0x68bb7c]
call dword [eax + 0x10]
mov eax, dword [ebx + 0xa0]
jmp 0x486223
and dword [esi + 0x9c], 0xbfffffff
jmp 0x48667c