Function at 0x48557c
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], 0x67b5e0
mov eax, dword [0x67bad4]
call dword [eax + 0x4cc]
mov esi, eax
mov eax, dword [esp + 0x74]
mov edx, dword [eax]
cmp edx, 0x112
ja 0x4855dc
cmp edx, 0x111
jb 0x48564c
call fcn.00439b20
mov edx, dword [esp + 0x78]
mov eax, dword [edx]
mov ebp, eax
shr ebp, 0x10
je 0x485a08
nop
xor eax, eax
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
cmp edx, 0x11f
je 0x485754
jbe 0x4856c4
cmp edx, 0x120
je 0x48593c
cmp edx, 0x125
jne 0x4855d0
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 0x4855d0
mov edx, dword [eax + 0xc]
mov eax, dword [edx + 0xa0]
test eax, eax
je 0x4855d0
mov eax, dword [eax + 8]
test eax, eax
je 0x4855d0
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.0048ce10
xor eax, eax
jmp 0x4855d2
cmp edx, 0x2b
je 0x485828
cmp edx, 0x2c
jne 0x4855d0
mov eax, dword [esp + 0x7c]
mov ebx, dword [eax]
test ebx, ebx
je 0x4855d0
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x4855d0
mov esi, dword [ebx + 0x14]
mov edi, dword [esi + 4]
mov dword [esp], edi
call fcn.0048cafc
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 0x485c6c
add eax, 2
sub eax, dword [0x67b5e8]
mov dword [ebx + 0xc], eax
mov edx, dword [esp + 0x80]
mov dword [edx], 1
mov eax, 1
jmp 0x4855d2
cmp edx, 0x116
jne 0x4855d0
call fcn.00439b20
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 0x485c5c
mov dword [esp], 1
mov eax, dword [0x67bad4]
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 0x485c14
mov eax, ebx
call fcn.00483b48
mov eax, dword [esi]
test eax, eax
je 0x485b68
mov dword [esp + 4], 0xffffffff
mov dword [esp], ebx
call fcn.00436c84
mov eax, dword [esp + 0x80]
mov dword [eax], 0
mov eax, 1
jmp 0x4855d2
mov eax, dword [esp + 0x78]
mov ebx, dword [eax]
shr ebx, 0x10
movzx ebp, bx
call fcn.00439b20
mov edx, dword [esp + 0x7c]
mov eax, dword [edx]
cmp ebp, 0xffff
je 0x485bc8
test eax, eax
je 0x4855d0
mov dword [esp + 4], eax
lea eax, [esi + 0x50]
mov dword [esp], eax
call dword [esi + 0x7c]
test eax, eax
je 0x4855d0
mov edi, dword [eax + 0xc]
test edi, edi
je 0x4855d0
mov edx, dword [esp + 0x78]
mov eax, dword [edx]
cmp ebp, 0xffff
je 0x485bfc
and eax, 0xffff
and ebx, 0x10
je 0x485b48
cmp eax, dword [edi + 0x14]
jge 0x485b48
mov edx, dword [edi + 0x10]
mov ebx, dword [edx + eax*4]
test ebx, ebx
je 0x485bfc
cmp dword [ebx + 0x14], 2
je 0x485bfc
mov eax, dword [ebx + 0xa0]
cmp eax, dword [edi + 0x14]
jge 0x485c9c
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.00436c84
lea edx, [edi + 4]
mov eax, edi
call fcn.00483a90
mov eax, dword [0x67bad4]
call dword [eax + 0x37c]
mov ebp, dword [esp + 0x80]
mov dword [ebp], 0
mov eax, 1
jmp 0x4855d2
mov ebp, dword [esp + 0x7c]
mov ebx, dword [ebp]
test ebx, ebx
je 0x485921
mov eax, dword [esi + 0x14]
test eax, eax
je 0x485921
test byte [ebx + 0x11], 1
je 0x485855
mov eax, dword [0x67b5ec]
test eax, eax
je 0x485b38
mov dword [esp + 0x3c], 0
mov esi, dword [ebx + 0x2c]
mov ebp, dword [esi + 4]
mov dword [esp], 0x10
mov eax, dword [0x67bad4]
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 0x485c38
test byte [ebx + 0x10], 1
jne 0x485b20
mov dword [esp + 4], 0xffffffff
mov dword [esp], ebp
call fcn.00436c84
mov eax, dword [ebp + 0x38]
mov dword [esp + 4], eax
mov eax, dword [ebp]
mov dword [esp], eax
call fcn.0042ed70
lea edx, [esp + 0x44]
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 0x38], eax
call fcn.0042ef3c
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.004843d8
mov dword [esp], edi
mov eax, dword [0x67bad4]
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 0x4855d0
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 [0x67bad4]
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 0x4855d0
mov ebp, edi
jmp 0x4859a6
inc ebx
cmp dword [ebp + 0x14], ebx
jle 0x4855d0
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 0x48599c
test eax, eax
je 0x48599c
mov dword [esp + 4], esi
mov dword [esp], eax
mov eax, dword [0x67bad4]
call dword [eax + 0x6d0]
cmp edi, dword [esp + 0x40]
jge 0x48599c
movzx eax, word [eax + edi*2]
mov dword [esp], eax
mov eax, dword [0x67bad4]
call dword [eax + 0x514]
cmp ax, word [esp + 0x3c]
jne 0x48599c
or ebx, 0x20000
mov ebp, dword [esp + 0x80]
mov dword [ebp], ebx
mov eax, 1
jmp 0x4855d2
and eax, 0xffff
mov dword [esp + 4], eax
lea eax, [esi + 0x18]
mov dword [esp], eax
call dword [esi + 0x44]
test eax, eax
je 0x4855d0
mov edi, dword [eax + 0xc]
test edi, edi
je 0x4855d0
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.004370a4
test eax, eax
je 0x485aa1
mov ebx, dword [eax + 8]
test ebx, ebx
jne 0x485a5a
jmp 0x485aa1
mov ebx, dword [ebx + 0xa8]
mov eax, dword [ebx + 0x70]
mov dword [esp], eax
mov eax, dword [0x67bad4]
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 0x485a54
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 0x485aa1
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00436c84
mov ebx, dword [esi + 8]
mov dword [esp], ebx
mov eax, dword [0x67bad4]
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.004366d0
test eax, eax
je 0x485afa
cmp eax, 4
je 0x485afa
cmp eax, 3
je 0x485afa
mov dword [esp + 4], str._n_____menu_invoke_
mov dword [esp], ebx
mov eax, dword [0x67bad4]
call dword [eax + 0x110]
mov dword [esp], ebx
mov eax, dword [0x67bad4]
call dword [eax + 0x138]
mov dword [esp], ebx
mov eax, dword [0x67bad4]
call dword [eax + 0x368]
mov eax, dword [esp + 0x80]
mov dword [eax], 0
mov eax, 1
jmp 0x4855d2
mov eax, dword [esi + 0xa0]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.00436c84
jmp 0x4858a4
mov dword [esp + 0x3c], 2
jmp 0x48585d
mov dword [esp + 4], eax
lea eax, [esi + 0x18]
mov dword [esp], eax
call dword [esi + 0x44]
test eax, eax
je 0x485bfc
mov ebx, dword [eax + 0xc]
jmp 0x4857ce
mov esi, dword [ebx + 8]
mov dword [esp], esi
mov eax, dword [0x67bad4]
call dword [eax + 0x32c]
mov dword [esp], ebx
call fcn.004cc79c
test eax, eax
je 0x485bb4
cmp eax, 4
je 0x485bb4
cmp eax, 3
je 0x485bb4
mov dword [esp + 4], str._n_____menu_preprocess_
mov dword [esp], esi
mov eax, dword [0x67bad4]
call dword [eax + 0x110]
mov dword [esp], esi
mov eax, dword [0x67bad4]
call dword [eax + 0x138]
nop
mov dword [esp], esi
mov eax, dword [0x67bad4]
call dword [eax + 0x368]
jmp 0x48572c
test eax, eax
jne 0x48577f
mov ebx, dword [esi + 0x14]
test ebx, ebx
je 0x4855d0
mov eax, dword [esi + 0x10]
mov dword [esp], eax
mov eax, dword [0x67bad4]
call dword [eax + 0x3ac]
mov eax, dword [esi + 0x14]
call fcn.00483b48
xor eax, eax
jmp 0x4855d2
mov dword [esp + 4], 0xffffffff
mov dword [esp], edi
call fcn.00436c84
jmp 0x4857fb
mov dword [esp + 4], ebx
mov dword [esp], fcn.00482d24
mov eax, dword [0x67bad4]
call dword [eax + 0x148]
mov dword [esp], ebx
call fcn.00482d24
jmp 0x48571b
test byte [ebx + 0x10], 1
je 0x485cb6
or dword [esi + 0x9c], 0x40000000
mov eax, dword [esi]
test eax, eax
jne 0x4858a4
or dword [esp + 0x3c], 1
jmp 0x4858a4
mov dword [esi + 0x14], 0
xor eax, eax
jmp 0x4855d2
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.0043a9ac
mov eax, dword [esp + 0x40]
shl eax, 1
add dword [ebx + 0xc], eax
jmp 0x4856ab
mov dword [esp], str.Trying_to_activate_an_entry_which_doesnt_exist.
mov eax, dword [0x67bad4]
call dword [eax + 0x10]
mov eax, dword [ebx + 0xa0]
jmp 0x4857ef
and dword [esi + 0x9c], 0xbfffffff
jmp 0x485c48