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

Disassembly:
sub esp, 0x80
mov eax, dword [0x547570]
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, str.Quick_Links
push ebp
push esi
test ecx, ecx
push edi
mov dword [esp + 0x14], eax
je 0x4e946f
mov edx, ecx
shr edx, 0x10
jne 0x4e943a
xor eax, eax
mov ax, cx
lea ecx, [esp + 0x14]
push eax
call fcn.00413ae0
jmp 0x4e946f
push str.Quick_Links
call ebx
mov esi, eax
test esi, esi
je 0x4e946f
push esi
lea ecx, [esp + 0x18]
call fcn.00405530
test eax, eax
je 0x4e946f
mov edi, dword [esp + 0x14]
lea ecx, [esi + esi]
mov edx, ecx
mov esi, str.Quick_Links
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [0x547570]
mov ecx, str._State
test ecx, ecx
mov dword [esp + 0x28], eax
jne 0x4e9485
xor eax, eax
jmp 0x4e948c
push str._State
call ebx
push str._State
push eax
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x30]
push eax
mov edx, dword [eax - 8]
push edx
call fcn.004059f0
lea eax, [esp + 0x28]
lea ecx, [esp + 0x24]
push eax
call fcn.00405440
lea ecx, [esp + 0x28]
call fcn.00405700
mov ecx, dword [esp + 0x24]
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push str.Disable
push ecx
call fcn.0048eb00
mov ecx, dword [0x547574]
mov ebp, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
mov esi, eax
mov eax, dword [esp + 0x38]
add esp, 0x14
lea edx, [eax - 0xc]
cmp edx, ecx
je 0x4e9506
add eax, 0xfffffff4
push eax
call ebp
test eax, eax
jg 0x4e9506
mov eax, dword [esp + 0x24]
add eax, 0xfffffff4
push eax
call fcn.00532222
add esp, 4
test esi, esi
je 0x4e9542
mov eax, dword [esp + 0x14]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4e9535
add eax, 0xfffffff4
push eax
call ebp
test eax, eax
jg 0x4e9535
mov edx, dword [esp + 0x14]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x80
ret
mov eax, dword [esp + 0x14]
mov edi, dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
push ecx
mov edx, dword [eax - 0xc]
mov ecx, esp
test edx, edx
jl 0x4e9564
mov dword [ecx], eax
mov eax, dword [esp + 0x18]
add eax, 0xfffffff4
push eax
call edi
jmp 0x4e9576
mov edx, dword [0x547570]
mov dword [ecx], edx
mov eax, dword [esp + 0x18]
push eax
call fcn.00405920
lea ecx, [esp + 0x14]
push ecx
call fcn.0048f880
mov edx, dword [esp + 0x18]
add esp, 8
mov eax, dword [edx - 8]
test eax, eax
jne 0x4e9663
mov eax, dword [0x547570]
push ecx
mov ecx, 0x54c260
mov esi, esp
test ecx, ecx
mov dword [esp + 0x2c], eax
jne 0x4e95ab
xor eax, eax
jmp 0x4e95b2
push 0x54c260
call ebx
push 0x54c260
push eax
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x34]
push eax
mov edx, dword [eax - 8]
push edx
call fcn.004059f0
lea eax, [esp + 0x2c]
mov ecx, esi
push eax
call fcn.00405440
lea ecx, [esp + 0x2c]
call fcn.00405700
lea ecx, [esp + 0x40]
push ecx
call fcn.0048da00
mov ecx, dword [esp + 0x18]
mov esi, eax
add esp, 8
mov eax, dword [esi]
cmp ecx, eax
je 0x4e9638
mov edx, dword [ecx - 0xc]
test edx, edx
jge 0x4e960c
mov edx, dword [0x547574]
add ecx, 0xfffffff4
cmp ecx, edx
jne 0x4e9613
mov ecx, dword [eax - 0xc]
test ecx, ecx
jge 0x4e9623
mov edx, dword [eax - 8]
push eax
push edx
lea ecx, [esp + 0x18]
call fcn.00405870
jmp 0x4e9638
lea ecx, [esp + 0x10]
call fcn.004124c0
mov esi, dword [esi]
mov dword [esp + 0x10], esi
add esi, 0xfffffff4
push esi
call edi
mov eax, dword [esp + 0x3c]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4e9663
add eax, 0xfffffff4
push eax
call ebp
test eax, eax
jg 0x4e9663
mov edx, dword [esp + 0x3c]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
mov eax, 0x54920c
test eax, eax
je 0x4e9819
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ebx, eax
test ebx, ebx
je 0x4e9819
mov ecx, 0x554e08
test ecx, ecx
jne 0x4e9690
mov dword [esp + 0x24], ecx
jmp 0x4e969f
push 0x554e08
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [esp + 0x24], eax
mov esi, dword [esp + 0x10]
xor edi, edi
mov edx, dword [esi - 8]
lea ebp, [esi + edx*2]
cmp esi, ebp
jae 0x4e9819
push 0x54920c
push esi
call fcn.0053225f
add esp, 8
test eax, eax
je 0x4e96db
lea esi, [eax + ebx*2]
push 0x54920c
push esi
inc edi
call fcn.0053225f
add esp, 8
test eax, eax
jne 0x4e96c5
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea esi, [esi + eax*2 + 2]
cmp esi, ebp
jb 0x4e96b3
test edi, edi
jle 0x4e9819
lea ecx, [esp + 0x10]
call fcn.004055c0
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x10]
sub ebp, ebx
imul ebp, edi
mov eax, dword [esi - 8]
mov dword [esp + 0x28], eax
add ebp, eax
mov eax, dword [esi - 4]
mov dword [esp + 0x44], ebp
cmp eax, ebp
jl 0x4e9722
cmp dword [esi - 0xc], 1
jle 0x4e9760
lea eax, [esi - 0xc]
push ebp
lea ecx, [esp + 0x14]
mov dword [esp + 0x4c], eax
call fcn.00405530
test eax, eax
je 0x4e9819
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x10]
push eax
mov ecx, dword [eax + 4]
shl ecx, 1
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00405590
mov esi, dword [esp + 0x10]
mov eax, dword [esi - 8]
lea eax, [esi + eax*2]
cmp esi, eax
mov dword [esp + 0x40], eax
jae 0x4e9816
push 0x54920c
push esi
call fcn.0053225f
mov edi, eax
add esp, 8
test edi, edi
je 0x4e97fb
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
mov ecx, edi
sub ecx, eax
mov eax, dword [esp + 0x28]
sar ecx, 1
sub eax, ecx
lea esi, [edx + edx]
sub eax, ebx
lea ecx, [edi + ebx*2]
lea ebp, [eax + eax]
lea eax, [esi + edi]
push ebp
push ecx
push eax
mov dword [esp + 0x54], eax
call fcn.00532360
mov ecx, esi
mov esi, 0x554e08
mov edx, ecx
mov eax, dword [esp + 0x30]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
sub eax, ebx
and ecx, 3
push 0x54920c
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x58]
push esi
mov word [esi + ebp], 0
mov ebp, dword [esp + 0x3c]
add ebp, eax
mov dword [esp + 0x3c], ebp
call fcn.0053225f
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x4e9786
mov ebp, dword [esp + 0x44]
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea esi, [esi + eax*2 + 2]
mov eax, dword [esp + 0x40]
cmp esi, eax
jb 0x4e9772
mov esi, dword [esp + 0x10]
mov dword [esi - 8], ebp
lea ecx, [esp + 0x10]
push 0xa
lea edx, [esp + 0x74]
xor ebx, ebx
push ecx
push edx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
call fcn.004b6e20
mov edi, dword [esp + 0xa4]
add esp, 0xc
mov ebp, 0x8a2
cmp dword [edi + 0x84], ebx
je 0x4e98ae
mov eax, dword [edi + 0x8c]
xor esi, esi
cmp eax, ebx
jle 0x4e9899
xor edi, edi
mov eax, dword [esp + 0x98]
mov ecx, edi
push ebx
add ecx, dword [eax + 0x88]
call fcn.004f2300
mov ecx, dword [esp + 0x98]
inc esi
add edi, 0x14
cmp esi, dword [ecx + 0x8c]
jl 0x4e986f
mov edi, ecx
mov edx, dword [edi + 0x84]
push edx
call fcn.005329d2
add esp, 4
mov dword [edi + 0x84], ebx
mov eax, dword [edi + 0x88]
cmp eax, ebx
je 0x4e98c7
push eax
call fcn.005329d2
add esp, 4
mov dword [edi + 0x88], ebx
mov eax, dword [esp + 0x78]
mov dword [edi + 0x8c], ebx
cmp eax, ebx
mov dword [esp + 0x50], eax
mov dword [esp + 0x3c], ebx
jle 0x4e9d75
jmp 0x4e98e5
xor ebx, ebx
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x70]
mov esi, dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
lea edi, [eax*4]
mov eax, dword [edi + ecx]
cmp dword [eax - 0xc], ebx
jl 0x4e990e
mov dword [esp + 0x24], eax
add eax, 0xfffffff4
push eax
call esi
jmp 0x4e9925
mov edx, dword [0x547570]
mov dword [esp + 0x24], edx
mov eax, dword [edi + ecx]
push eax
lea ecx, [esp + 0x28]
call fcn.00405920
mov ecx, dword [esp + 0x74]
mov eax, dword [edi + ecx]
cmp dword [eax - 0xc], ebx
jl 0x4e993d
mov dword [esp + 0x20], eax
add eax, 0xfffffff4
push eax
call esi
jmp 0x4e9954
mov edx, dword [0x547570]
mov dword [esp + 0x20], edx
mov eax, dword [edi + ecx]
push eax
lea ecx, [esp + 0x24]
call fcn.00405920
mov ecx, dword [esp + 0x24]
mov eax, dword [0x547570]
mov ebx, dword [esp + 0x94]
xor esi, esi
push 0x2f
push esi
lea edx, [esp + 0x24]
push ecx
push edx
mov dword [esp + 0x38], eax
mov dword [esp + 0x2c], eax
call fcn.005190f0
add esp, 0x10
test eax, eax
je 0x4e9d35
mov eax, dword [0x547570]
mov dword [esp + 0x48], eax
mov dword [esp + 0x2c], eax
mov eax, 0x54c1bc
test eax, eax
je 0x4e99a8
push 0x54c1bc
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push 0x54c1bc
push eax
mov eax, dword [esp + 0x24]
push eax
mov ecx, dword [eax - 8]
push ecx
lea ecx, [esp + 0x3c]
call fcn.004059f0
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x30]
push edx
call fcn.00405440
lea ecx, [esp + 0x2c]
call fcn.00405700
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x28]
push eax
mov eax, dword [eax - 8]
push eax
call fcn.00405a90
mov eax, dword [esp + 0x30]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4e9a18
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x4e9a18
mov edx, dword [esp + 0x30]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
mov eax, dword [esp + 0x24]
lea edi, [esi + 1]
push 0x2f
push edi
lea ecx, [esp + 0x50]
push eax
push ecx
mov dword [esp + 0x3c], edi
call fcn.005190f0
add esp, 0x10
test eax, eax
je 0x4e9ac4
mov eax, dword [esp + 0x6c]
xor esi, esi
test eax, eax
jle 0x4e9a6f
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x28]
push ecx
mov eax, dword [edx + esi*4]
push eax
call fcn.005322f9
add esp, 8
test eax, eax
je 0x4e9a6a
mov eax, dword [esp + 0x6c]
inc esi
cmp esi, eax
jl 0x4e9a46
jmp 0x4e9a6f
cmp esi, 0xffffffff
jne 0x4e9ab8
call dword [sym.imp.USER32.dll_CreatePopupMenu]
mov esi, eax
lea edx, [esp + 0x28]
push esi
push ecx
mov ecx, esp
push edx
call fcn.00405440
lea ecx, [esp + 0x6c]
call fcn.0052a1e0
mov eax, dword [esp + 0x98]
lea edx, [esp + 0x1c]
push eax
push ebp
push ecx
mov ecx, esp
push edx
call fcn.00405440
push esi
push 0x10
push ebx
call fcn.004e91a0
add esp, 0x18
inc ebp
mov ebx, esi
jmp 0x4e9cff
mov eax, dword [esp + 0x68]
mov ebx, dword [eax + esi*4]
jmp 0x4e9cff
push 0
push ecx
lea edx, [esp + 0x28]
mov ecx, esp
push edx
call fcn.00405440
lea eax, [esp + 0x20]
push eax
call fcn.004e2920
mov ecx, dword [0x547570]
mov edx, dword [esp + 0x24]
add esp, 0xc
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0x54]
push 0
push edx
call fcn.00510fb0
push 0
push 0x547824
lea ecx, [esp + 0x28]
call fcn.00405c70
mov edi, eax
cmp edi, 0xffffffff
je 0x4e9c48
test edi, edi
jge 0x4e9b1d
xor eax, eax
jmp 0x4e9b2a
mov ecx, dword [esp + 0x20]
mov ecx, dword [ecx - 8]
cmp edi, ecx
jle 0x4e9b2a
mov eax, ecx
mov edx, dword [0x547570]
push 0
push 0
push eax
lea eax, [esp + 0x40]
lea ecx, [esp + 0x2c]
push eax
mov dword [esp + 0x44], edx
call fcn.00412500
lea ecx, [esp + 0x34]
push ecx
lea ecx, [esp + 0x48]
call fcn.00405440
lea ecx, [esp + 0x34]
call fcn.00405700
push 0
push ecx
lea edx, [esp + 0x4c]
mov ecx, esp
push edx
call fcn.00405440
lea eax, [esp + 0x48]
push eax
call fcn.004e2920
mov ecx, dword [esp + 0x24]
mov esi, eax
add esp, 0xc
mov eax, dword [esi]
cmp ecx, eax
je 0x4e9bca
mov edx, dword [ecx - 0xc]
test edx, edx
jge 0x4e9b9a
mov edx, dword [0x547574]
add ecx, 0xfffffff4
cmp ecx, edx
jne 0x4e9ba1
mov ecx, dword [eax - 0xc]
test ecx, ecx
jge 0x4e9bb1
mov ecx, dword [eax - 8]
push eax
push ecx
lea ecx, [esp + 0x20]
call fcn.00405870
jmp 0x4e9bca
lea ecx, [esp + 0x18]
call fcn.004124c0
mov esi, dword [esi]
mov dword [esp + 0x18], esi
add esi, 0xfffffff4
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov eax, dword [esp + 0x40]
mov ecx, dword [0x547574]
lea edx, [eax - 0xc]
cmp edx, ecx
je 0x4e9bf9
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x4e9bf9
mov eax, dword [esp + 0x40]
add eax, 0xfffffff4
push eax
call fcn.00532222
add esp, 4
mov ecx, dword [esp + 0x18]
push 0
push ecx
lea ecx, [esp + 0x64]
call fcn.00510fb0
push eax
lea ecx, [esp + 0x58]
call fcn.00489610
lea ecx, [esp + 0x5c]
call fcn.00510740
inc edi
lea edx, [esp + 0x4c]
push edi
push edx
lea ecx, [esp + 0x28]
call fcn.0043dbd0
push eax
lea ecx, [esp + 0x3c]
call fcn.00412800
lea ecx, [esp + 0x4c]
call fcn.00405700
lea ecx, [esp + 0x44]
call fcn.00405700
mov eax, dword [esp + 0x1c]
push eax
push ebp
push 0
push ebx
call dword [sym.imp.USER32.dll_AppendMenuW]
push 0
push ebp
push ebx
call fcn.004e9100
add esp, 0xc
lea ecx, [esp + 0x7c]
call fcn.004a7720
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x84]
call fcn.00412800
push 1
lea ecx, [esp + 0x58]
call fcn.005114b0
lea edx, [esp + 0x38]
lea ecx, [esp + 0x84]
push edx
mov dword [esp + 0x80], eax
call fcn.00412800
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x8c]
push eax
call fcn.00412800
sub esp, 0x14
lea edx, [esp + 0x90]
mov ecx, esp
push edx
call fcn.004a7750
mov eax, dword [esp + 0xac]
push ebp
lea ecx, [eax + 0x84]
call fcn.004f1f40
lea ecx, [esp + 0x7c]
inc ebp
call fcn.004a8020
lea ecx, [esp + 0x54]
call fcn.00510740
lea ecx, [esp + 0x38]
call fcn.00405700
lea ecx, [esp + 0x18]
call fcn.00405700
mov edi, dword [esp + 0x2c]
push 0x554e48
lea ecx, [esp + 0x20]
call fcn.00433110
lea ecx, [esp + 0x48]
mov esi, edi
call fcn.00405700
mov ecx, dword [esp + 0x24]
push 0x2f
push esi
lea edx, [esp + 0x24]
push ecx
push edx
call fcn.005190f0
add esp, 0x10
test eax, eax
jne 0x4e9987
lea ecx, [esp + 0x1c]
call fcn.00405700
lea ecx, [esp + 0x28]
call fcn.00405700
lea ecx, [esp + 0x20]
call fcn.00405700
lea ecx, [esp + 0x24]
call fcn.00405700
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x50]
inc eax
cmp eax, ecx
mov dword [esp + 0x3c], eax
jl 0x4e98e3
mov edi, dword [esp + 0x98]
mov esi, dword [edi + 0x8c]
lea ecx, [esp + 0x64]
call fcn.004f23d0
lea ecx, [esp + 0x70]
call fcn.00405350
lea ecx, [esp + 0x10]
call fcn.00405700
lea ecx, [esp + 0x14]
call fcn.00405700
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x80
ret