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

Disassembly:
push 0xffffffffffffffff
push 0x488488
mov eax, dword fs:[0]
push eax
sub esp, 0x70
mov eax, dword [0x49e7c0]
xor eax, esp
mov dword [esp + 0x6c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x49e7c0]
xor eax, esp
push eax
lea eax, [esp + 0x84]
mov dword fs:[0], eax
mov eax, dword [esp + 0x94]
xor ebx, ebx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x7c], 7
mov dword [esp + 0x78], ebx
mov word [esp + 0x68], bx
xor ebp, ebp
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x2c], 0x30
mov dword [esp + 0x1c], ebp
mov eax, dword [0x4a1328]
test eax, eax
mov dword [esp + 0x24], ebx
je 0x435e90
mov ecx, dword [0x4a132c]
sub ecx, eax
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jge 0x4361f1
call dword [sym.imp.USER32.dll_CreatePopupMenu]
mov esi, dword [0x4a1328]
test esi, esi
mov edi, eax
mov dword [esp + 0x14], edi
je 0x435ecd
mov ecx, dword [0x4a132c]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x435ed8
call fcn.0047770d
mov esi, dword [0x4a1328]
cmp dword [esi + ebp + 0x18], 8
jb 0x435ee5
mov esi, dword [esi + ebp + 4]
jmp 0x435ee9
lea esi, [esi + ebp + 4]
mov ecx, dword [esp + 0x5c]
push esi
push edi
push 0x410
push ebx
push ecx
call dword [sym.imp.USER32.dll_InsertMenuW]
mov edi, ebx
xor ebp, ebp
shl edi, 4
mov dword [esp + 0x60], edi
mov eax, dword [0x4a1338]
test eax, eax
mov dword [esp + 0x20], ebp
je 0x435f25
mov edx, dword [0x4a133c]
mov ecx, edx
sub ecx, eax
sar ecx, 4
cmp ebx, ecx
jb 0x435f35
call fcn.0047770d
mov edx, dword [0x4a133c]
mov eax, dword [0x4a1338]
mov esi, dword [edi + eax + 4]
test esi, esi
jne 0x435f41
xor ecx, ecx
jmp 0x435f4a
mov ecx, dword [edi + eax + 8]
sub ecx, esi
sar ecx, 2
cmp ebp, ecx
jge 0x4361e0
test eax, eax
je 0x435f5f
sub edx, eax
sar edx, 4
cmp ebx, edx
jb 0x435f69
call fcn.0047770d
mov eax, dword [0x4a1338]
mov ecx, dword [edi + eax + 4]
test ecx, ecx
lea esi, [edi + eax + 4]
je 0x435f82
mov eax, dword [edi + eax + 8]
sub eax, ecx
sar eax, 2
cmp ebp, eax
jb 0x435f87
call fcn.0047770d
mov edx, dword [esi]
mov esi, dword [edx + ebp*4]
test esi, esi
jne 0x435fc1
push esi
push esi
push 0xc00
mov dword [esp + 0x58], esi
mov esi, dword [esp + 0x20]
push ebp
push esi
mov dword [esp + 0x44], 0x30
mov dword [esp + 0x48], 0x800
call dword [sym.imp.USER32.dll_InsertMenuW]
lea eax, [esp + 0x2c]
push eax
jmp 0x4361c6
push esi
call fcn.0040c020
mov ebx, eax
add esp, 4
test ebx, 0x200
lea edi, [esi + 0x4e20]
mov dword [esp + 0x30], 0x32
mov dword [esp + 0x4c], esi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x34], 0
je 0x435ffa
mov dword [esp + 0x34], 0x200
lea ecx, [esp + 0x64]
push ecx
lea edx, [esi + 0x2bc]
push edx
call fcn.00442450
add esp, 8
push 9
push 1
lea ecx, [esp + 0x6c]
call fcn.004022b0
mov ecx, dword [esi*4 + 0x4a0200]
lea eax, [esp + 0x64]
push eax
push ecx
call fcn.00433c40
add esp, 8
cmp dword [esp + 0x7c], 8
jb 0x436041
mov edx, dword [esp + 0x68]
mov dword [esp + 0x50], edx
jmp 0x436049
lea eax, [esp + 0x68]
mov dword [esp + 0x50], eax
test bl, 4
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x54], ecx
je 0x4361ad
mov ebx, dword [0x48b860]
xor edi, edi
xor edx, edx
test ebx, ebx
jle 0x4361d0
lea esp, [esp]
mov eax, dword [edi*4 + 0x48b868]
mov ecx, dword [edi*4 + 0x48b86c]
add edi, 1
add edi, 1
cmp esi, eax
mov dword [esp + 0x28], ecx
je 0x4360a5
add edx, 1
add edi, ecx
cmp edx, ebx
jl 0x436070
mov edi, dword [esp + 0x60]
mov ebx, dword [esp + 0x24]
add ebp, 1
jmp 0x435f07
call dword [sym.imp.USER32.dll_CreatePopupMenu]
mov esi, dword [esp + 0x14]
push 0
mov ebx, eax
push ebx
push 0x410
push ebp
push esi
call dword [sym.imp.USER32.dll_InsertMenuW]
lea edx, [esp + 0x2c]
push edx
push 1
push ebp
push esi
call dword [sym.imp.USER32.dll_SetMenuItemInfoW]
xor esi, esi
cmp dword [esp + 0x28], esi
jle 0x4361d0
lea eax, [edi*4 + 0x48b868]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x18]
mov edi, dword [ecx]
push edi
call fcn.0040c020
add esp, 4
test eax, 0x200
lea ebp, [edi + 0x4e20]
mov dword [esp + 0x30], 0x32
mov dword [esp + 0x4c], edi
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x34], 0
je 0x43612b
mov dword [esp + 0x30], 0x32
mov dword [esp + 0x34], 0x200
lea edx, [esp + 0x64]
push edx
add edi, 0x2bc
push edi
call fcn.00442450
add esp, 8
cmp dword [esp + 0x7c], 8
jb 0x436150
mov eax, dword [esp + 0x68]
mov dword [esp + 0x50], eax
jmp 0x436158
lea ecx, [esp + 0x68]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0x78]
push 0
push ebp
push 0x400
push esi
push ebx
mov dword [esp + 0x68], edx
mov dword [esp + 0x54], 0
call dword [sym.imp.USER32.dll_InsertMenuW]
lea eax, [esp + 0x2c]
push eax
push 1
push esi
push ebx
call dword [sym.imp.USER32.dll_SetMenuItemInfoW]
add dword [esp + 0x18], 4
add esi, 1
cmp esi, dword [esp + 0x28]
jl 0x4360e7
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x60]
mov ebx, dword [esp + 0x24]
add ebp, 1
jmp 0x435f07
mov esi, dword [esp + 0x14]
push 0
push edi
push 0x400
push ebp
push esi
call dword [sym.imp.USER32.dll_InsertMenuW]
lea ecx, [esp + 0x2c]
push ecx
push 1
push ebp
push esi
call dword [sym.imp.USER32.dll_SetMenuItemInfoW]
mov edi, dword [esp + 0x60]
mov ebx, dword [esp + 0x24]
add ebp, 1
jmp 0x435f07
add ebx, 1
add dword [esp + 0x1c], 0x1c
mov ebp, dword [esp + 0x1c]
jmp 0x435e68
cmp dword [esp + 0x7c], 8
jb 0x436205
mov edx, dword [esp + 0x68]
push edx
call fcn.004775de
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x84]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.004777ea
add esp, 0x7c
ret