Function at 0x48b500
Capabilities:
Get geographical location
Get graphical window text
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f80a0
mov eax, dword fs:[0]
push eax
sub esp, 0xcf0
mov eax, dword [0x53ba20]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x18]
xorps xmm0, xmm0
mov edi, dword [ebp + 8]
mov dword [ebp - 0xc68], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0xc58], eax
lea eax, [ebp - 0xc44]
push eax
push 0x101
mov dword [ebp - 0xc64], edi
movups xmmword [ebp - 0xa48], xmm0
call dword [sym.imp.WS2_32.dll_WSAStartup]
push 0x10
push 0x5385e4
push 0xe
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
mov esi, dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push 0x556384
call esi
push 0x55639c
call esi
push 0x5563b4
call esi
push 0x5563cc
call esi
call fcn.0047b940
call fcn.00432aa0
mov byte [0x555f24], al
call fcn.004a83a0
push edi
mov byte [0x555f1f], al
call dword [sym.imp.USER32.dll_GetMenu]
mov esi, dword [sym.imp.USER32.dll_LoadCursorW]
mov edi, eax
mov eax, dword [ebp - 0xc64]
push 0x7f02
push 0
mov dword [0x555ec8], eax
call esi
push eax
call dword [sym.imp.USER32.dll_SetCursor]
push 0x7f00
push 0
mov dword [ebp - 0xc80], eax
call esi
push 0xa
push dword [0x5509e8]
mov dword [0x555f28], eax
call esi
push 0x11
mov dword [0x5563f0], eax
call dword [sym.imp.GDI32.dll_GetStockObject]
lea ecx, [ebp - 0xab4]
push ecx
push 0x5c
push eax
call dword [sym.imp.GDI32.dll_GetObjectW]
lea eax, [ebp - 0xab4]
mov byte [ebp - 0xa9f], 1
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
push 0x510cfc
mov dword [0x550f58], eax
call dword [sym.imp.USER32.dll_RegisterWindowMessageW]
mov esi, dword [sym.imp.USER32.dll_GetSubMenu]
push 0xe
push 2
push edi
mov dword [0x555ec4], eax
call esi
push eax
call esi
mov dword [0x5563f8], eax
push 0x400
push 0
push eax
call dword [sym.imp.USER32.dll_DeleteMenu]
test eax, eax
je 0x48b66f
mov eax, dword [0x5563f8]
jmp 0x48b656
mov eax, dword [0x5516e4]
xor esi, esi
test eax, eax
jle 0x48b70c
nop
imul ecx, esi, 0x5f4
lea edx, [esi + 1]
mov dword [ebp - 0xc50], edx
add ecx, 0x5516e8
cmp esi, 0xa
jge 0x48b6ba
xor eax, eax
cmp esi, 9
cmovne eax, edx
push eax
push ecx
lea eax, [ebp - 0x628]
push 0x510cac
push eax
call fcn.0042fa90
add esp, 0x10
jmp 0x48b6db
push ecx
lea eax, [ebp - 0x628]
push 0x104
push eax
call fcn.004c905a
mov eax, dword [ebp - 0xc50]
add esp, 0xc
mov dword [ebp - 0xc50], eax
lea eax, [ebp - 0x628]
push eax
lea eax, [esi + 0x9ed9]
push eax
push 0
push dword [0x5563f8]
call dword [sym.imp.USER32.dll_AppendMenuW]
mov esi, dword [ebp - 0xc50]
mov eax, dword [0x5516e4]
cmp esi, eax
jl 0x48b680
test eax, eax
jne 0x48b723
push 0x510cc4
push 0
push 2
push dword [0x5563f8]
call dword [sym.imp.USER32.dll_AppendMenuW]
push 0x510d24
push dword [0x5509e8]
call dword [sym.imp.USER32.dll_LoadMenuW]
push 0x510d38
push 0x9cba
push 0x400
push 1
push 0
push edi
mov dword [0x555f18], eax
call dword [sym.imp.USER32.dll_GetSubMenu]
mov esi, dword [sym.imp.USER32.dll_InsertMenuW]
push eax
call esi
inc dword [0x538628]
cmp dword [0x5509ec], 1
jl 0x48b77b
call fcn.0047d0f0
test al, al
jne 0x48b79e
push 0x510d68
jmp 0x48b780
push 0x510d9c
push 0x9cb9
push 0x400
push 1
push 0
push edi
call dword [sym.imp.USER32.dll_GetSubMenu]
push eax
call esi
inc dword [0x538628]
push 0x510db0
push 0x9cbf
push 0
push 0x9cbe
push edi
call esi
push 0x510db0
push 0x9cbf
push 0
push 0x9cbe
push dword [0x555f18]
call esi
push 0x510dd4
push 0x9cbd
push 0
push 0x9cbb
push edi
call esi
push 0x510dd4
push 0x9cbd
push 0
push 0x9cbb
push dword [0x555f18]
call esi
cmp dword [0x5509ec], 1
jl 0x48b886
push 0x510df8
push 0x9cbc
push 0
push 0x9cbb
push edi
call esi
push 0x510df8
push 0x9cbc
push 0
push 0x9cbb
push dword [0x555f18]
call esi
cmp dword [0x5509ec], 1
jl 0x48b886
call fcn.0047d0f0
test al, al
jne 0x48b886
push 0
push 0
push 0xc00
push 3
push 0
push edi
call dword [sym.imp.USER32.dll_GetSubMenu]
push eax
call esi
inc dword [0x538628]
push 0x510e58
push 0x9f12
push 0x400
push 4
push 0
push edi
call dword [sym.imp.USER32.dll_GetSubMenu]
push eax
call esi
inc dword [0x538628]
jmp 0x48b898
mov eax, dword [0x55b1c0]
test eax, eax
je 0x48b898
push 1
push 0x7f2
call eax
push 0x50e230
push 0x510e98
push dword [0x5509e8]
call dword [sym.imp.USER32.dll_LoadMenuW]
push eax
push 0x10
push 0x9c6e
push edi
call esi
push 0
push 0
push 0x800
push 0x9c6e
push edi
call esi
mov esi, dword [sym.imp.USER32.dll_CheckMenuItem]
xor eax, eax
cmp byte [0x555291], al
mov ecx, 8
cmovne eax, ecx
push eax
push 0x9cb2
push edi
call esi
xor eax, eax
mov edx, 8
cmp byte [0x5552a0], al
cmovne eax, edx
push eax
push 0x9cb3
push edi
call esi
xor eax, eax
cmp byte [0x5552a0], al
sete al
push eax
push 0x9f36
push edi
call dword [sym.imp.USER32.dll_EnableMenuItem]
cmp byte [0x5552a0], 0
je 0x48b928
call fcn.004bb670
xor eax, eax
mov ecx, 8
cmp byte [0x55527a], al
cmovne eax, ecx
push eax
push 0x9ec4
push edi
call esi
xor eax, eax
mov ecx, 8
cmp byte [0x55527d], al
cmovne eax, ecx
push eax
push 0x9f0f
push edi
call esi
xor eax, eax
mov ecx, 8
cmp byte [0x55527b], al
cmovne eax, ecx
push eax
push 0x9f16
push edi
call esi
xor eax, eax
mov ecx, 8
cmp byte [0x55527c], al
cmovne eax, ecx
push eax
push 0x9f17
push edi
call esi
xor eax, eax
mov ecx, 8
cmp byte [0x55528e], al
cmovne eax, ecx
push eax
push 0x9c83
push edi
call esi
xor eax, eax
mov ecx, 8
cmp byte [0x55528c], al
cmovne eax, ecx
push eax
push 0x9c75
push edi
call esi
xor eax, eax
mov ecx, 8
cmp byte [0x55528a], al
cmovne eax, ecx
push eax
push 0x9c99
push edi
call esi
cmp byte [0x55528d], 0
mov ecx, dword [0x555ec8]
setne al
mov dword [ebp - 0xc48], ecx
movzx esi, al
push ecx
mov byte [0x55528d], al
shl esi, 3
call dword [sym.imp.USER32.dll_GetMenu]
push esi
mov esi, dword [sym.imp.USER32.dll_CheckMenuItem]
push 0x9c82
push eax
call esi
cmp byte [0x55528d], 0
je 0x48ba4d
push 3
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push dword [ebp - 0xc48]
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [0x555ee0]
test eax, eax
je 0x48ba84
push 3
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
jmp 0x48ba84
mov ecx, dword [0x555ee0]
mov eax, dword [sym.imp.USER32.dll_SetWindowPos]
test ecx, ecx
je 0x48ba70
push 3
push 0
push 0
push 0
push 0
push 0xfffffffffffffffe
push ecx
call eax
mov eax, dword [sym.imp.USER32.dll_SetWindowPos]
push 3
push 0
push 0
push 0
push 0
push 0xfffffffffffffffe
push dword [ebp - 0xc48]
call eax
xor eax, eax
mov ecx, 8
cmp byte [0x555281], al
cmovne eax, ecx
push eax
push 0x9c6d
push edi
call esi
xor eax, eax
mov ecx, 8
cmp byte [0x55528f], al
cmovne eax, ecx
push eax
push 0x9c96
push edi
call esi
xor eax, eax
mov ecx, 8
cmp byte [0x555290], al
cmovne eax, ecx
push eax
push 0x9f25
push edi
call esi
xor eax, eax
mov ecx, 8
cmp byte [0x555294], al
cmovne eax, ecx
push eax
push 0x9f0d
push edi
call esi
mov esi, dword [sym.imp.USER32.dll_InsertMenuW]
push 0x510ea8
push 0x9c7c
push 0
push 0x9c67
push edi
call esi
lea eax, [ebp - 0xc90]
push eax
lea eax, [ebp - 0xc88]
push eax
call fcn.0045c570
movsd xmm0, qword [0x50d110]
add esp, 8
movsd qword [ebp - 0xc98], xmm0
test al, al
je 0x48bc1d
push 1
push 1
push 1
call fcn.00459820
movsd xmm0, qword [ebp - 0xc98]
mov dword [0x556ad8], eax
push 0
mov dword [eax + 0x1c], 4
mov eax, dword [0x556ad8]
push 1
push 1
mov dword [eax + 0x38], 0x8080ff
mov eax, dword [0x556ad8]
movsd qword [eax + 0x30], xmm0
call fcn.00459820
mov dword [0x556adc], eax
add esp, 0x18
mov dword [eax + 0x1c], 5
mov eax, dword [0x556adc]
mov dword [eax + 0x38], 0xaaaa
mov ecx, dword [ebp - 0xc88]
mov eax, ecx
mov edx, dword [ebp - 0xc84]
or eax, edx
movsd xmm0, qword [0x50cea0]
movsd qword [ebp - 0xc70], xmm0
je 0x48bbba
call fcn.004c3cd0
cvtsd2ss xmm0, xmm0
cvtss2sd xmm0, xmm0
mov eax, dword [0x556adc]
push 0
push 1
push 1
movsd qword [eax + 0x30], xmm0
call fcn.00459820
mov dword [0x556ae0], eax
add esp, 0xc
mov dword [eax + 0x1c], 6
mov eax, dword [0x556ae0]
mov dword [eax + 0x38], 0x4080ff
mov ecx, dword [ebp - 0xc90]
mov eax, ecx
mov edx, dword [ebp - 0xc8c]
or eax, edx
je 0x48bc0b
call fcn.004c3cd0
cvtsd2ss xmm0, xmm0
cvtss2sd xmm0, xmm0
jmp 0x48bc13
movsd xmm0, qword [ebp - 0xc70]
mov eax, dword [0x556ae0]
movsd qword [eax + 0x30], xmm0
push 0
push 0
push 0x800
push 0x9c67
push edi
call esi
push 0x510ee4
push 0x9c7b
push 0
push 0x9c75
push edi
call esi
call fcn.0047b6b0
movzx eax, al
neg eax
sbb eax, eax
and eax, 8
push eax
push 0x9c7b
push edi
call dword [sym.imp.USER32.dll_CheckMenuItem]
cmp dword [0x5509ec], 1
jl 0x48bdc8
call fcn.0047d0f0
test al, al
jne 0x48bdc8
mov eax, dword [0x550f38]
mov dword [ebp - 0xc60], eax
call fcn.0043b000
mov dword [ebp - 0xc54], eax
mov dword [ebp - 0xc6c], 0x9c7b
mov dword [ebp - 4], 0
call fcn.0042dbe0
mov ecx, eax
test ecx, ecx
je 0x48cd8e
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov dword [ebp - 0xc50], eax
mov eax, dword [ebp - 0xc54]
mov dword [ebp - 4], 0xffffffff
test eax, eax
je 0x48bce9
mov ecx, dword [ebp - 0xc60]
push eax
push 0xffffffffffffffff
push dword [ecx + 0x90]
call dword [sym.imp.COMCTL32.dll_ImageList_ReplaceIcon]
mov dword [ebp - 0xc48], eax
jmp 0x48bcf3
mov dword [ebp - 0xc48], 0xffffffff
mov eax, dword [ebp - 0xc60]
lea ecx, [ebp - 0xc6c]
push 0xa3b3df42
push ecx
add eax, 0x70
lea ecx, [ebp - 0xca4]
push ecx
mov ecx, eax
mov dword [ebp - 0xc54], eax
call fcn.004464d0
mov eax, dword [eax + 4]
test eax, eax
jne 0x48bd2c
mov eax, dword [ebp - 0xc54]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 0xc60]
cmp eax, dword [ecx + 0x74]
je 0x48bd42
mov ecx, dword [ebp - 0xc48]
mov dword [eax + 0x10], ecx
jmp 0x48bdad
mov eax, dword [ebp - 0xc50]
push eax
mov dword [ebp - 0xc74], 0x9c7b
mov dword [ebp - 0xc50], eax
call fcn.0043d610
mov ecx, dword [ebp - 0xc48]
add eax, 0x10
add esp, 4
mov dword [ebp - 0xc70], eax
lea eax, [ebp - 0xc74]
mov dword [ebp - 0xc6c], ecx
mov ecx, dword [ebp - 0xc54]
push eax
lea eax, [ebp - 0xca4]
push eax
call fcn.004668a0
mov edx, dword [ebp - 0xc70]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x48bdad
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xc50]
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x48bdc8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.0047b6b0
test al, al
je 0x48bde1
push 0
push dword [0x555ec8]
call fcn.0047bab0
add esp, 8
call fcn.0047b3e0
movzx eax, al
neg eax
sbb eax, eax
and eax, 8
push eax
push 0x9f30
push edi
call dword [sym.imp.USER32.dll_CheckMenuItem]
xor eax, eax
mov ecx, 8
cmp byte [0x55528b], al
cmovne eax, ecx
push eax
push 0x9c77
push edi
call dword [sym.imp.USER32.dll_CheckMenuItem]
push 0x510f10
push 0x9c78
push 0
push 0x9c81
push edi
call esi
push 0
push 0x9c50
push edi
call dword [sym.imp.USER32.dll_DeleteMenu]
push 0x510f3c
push 0x9c80
push 0
push 0x9c81
push edi
call esi
lea eax, [ebp - 0xc78]
push eax
lea eax, [ebp - 0xc7c]
push eax
push 1
push 0
push 0
call sub.WTSAPI32.dll_WTSEnumerateSessionsW
test eax, eax
je 0x48bece
cmp dword [ebp - 0xc78], 0
je 0x48bece
lea eax, [ebp - 0xcc0]
mov dword [ebp - 0xcc0], 0x1c
push eax
push edi
mov dword [ebp - 0xcbc], reloc.OLEAUT32.dll_SafeArrayGetDim
mov dword [ebp - 0xcb8], 0x8000000
call dword [sym.imp.USER32.dll_SetMenuInfo]
call dword [sym.imp.USER32.dll_CreateMenu]
push 0x510f68
push eax
push 0x410
push 5
push edi
mov dword [0x556408], eax
call esi
push dword [ebp - 0xc7c]
inc dword [0x53862c]
call sub.WTSAPI32.dll_WTSFreeMemory
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push 0
push 0
push 0
push 0
push 0
push 0
push 0x104
lea ecx, [ebp - 0xa38]
push ecx
push 0x104
lea ecx, [ebp - 0x830]
push ecx
push 0
push esi
push eax
call fcn.004aa5d0
add esp, 0x34
cmp word [ebp - 0xa38], 0
je 0x48bf25
cmp word [ebp - 0x830], 0
mov eax, 0x4fbdfc
jne 0x48bf2a
mov eax, 0x4fbd20
lea ecx, [ebp - 0x830]
push ecx
push eax
lea eax, [ebp - 0xa38]
push eax
push 0x50e8cc
push 0x555cb8
call fcn.0042fa90
add esp, 0x14
lea eax, [ebp - 0x218]
push 0x104
push eax
push dword [0x555ec8]
call dword [sym.imp.USER32.dll_GetWindowTextW]
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x48bf70
sub ecx, edx
mov eax, 0x104
sar ecx, 1
push 0x555cb8
sub eax, ecx
push 0x510f78
push eax
lea eax, [ebp - 0x218]
lea eax, [eax + ecx*2]
push eax
call fcn.00415290
add esp, 0x10
call fcn.0047d0f0
test al, al
je 0x48bfc5
push 0x510f84
lea eax, [ebp - 0x218]
push 0x104
push eax
call fcn.004d6277
add esp, 0xc
lea eax, [ebp - 0x218]
push eax
push dword [0x555ec8]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push 0x5556c8
call fcn.0046d6a0
push 0x5556d0
mov dword [0x556410], eax
call fcn.0046d6a0
push 0x5556d8
mov dword [0x556414], eax
call fcn.0046d6a0
push 0x5556e0
mov dword [0x556418], eax
call fcn.0046d6a0
push 0x5556e8
mov dword [0x55641c], eax
call fcn.0046d6a0
push 0x555ec0
mov dword [0x556420], eax
call fcn.0047cf00
add esp, 0x18
cmp dword [0x555f60], 1
jbe 0x48c270
push 0x510fa8
push 0x4a7
push 0x400
push 2
push 3
push edi
call dword [sym.imp.USER32.dll_GetSubMenu]
mov esi, dword [sym.imp.USER32.dll_InsertMenuW]
push eax
call esi
xor eax, eax
cmp byte [0x555292], al
push 8
setne al
add eax, 0x9cb6
push eax
push edi
call dword [sym.imp.USER32.dll_CheckMenuItem]
cmp dword [0x55b1ac], 0
mov dword [ebp - 0xc4c], 0
je 0x48c0de
call fcn.004a9900
mov dword [0x556abc], eax
lea eax, [ebp - 0xc4c]
push eax
push 0
push 0xffff
call dword [0x55b1ac]
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x48c12d
push dword [ebp - 0xc4c]
call fcn.004c8c9a
add esp, 4
mov dword [0x556ac0], eax
lea ecx, [ebp - 0xc4c]
push ecx
push eax
push 0xffff
call dword [0x55b1ac]
jmp 0x48c12d
lea eax, [ebp - 0xc4c]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetLogicalProcessorInformation]
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x48c12d
push dword [ebp - 0xc4c]
call fcn.004c8c9a
add esp, 4
mov dword [0x556ac0], eax
lea ecx, [ebp - 0xc4c]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetLogicalProcessorInformation]
mov eax, 0xaaaaaaab
mul dword [ebp - 0xc4c]
shr edx, 4
mov dword [0x556abc], edx
mov eax, dword [0x556abc]
shl eax, 2
push eax
call fcn.004c8c9a
mov dword [0x556ac8], eax
add esp, 4
xor eax, eax
mov dword [ebp - 0xc48], eax
mov eax, dword [0x556abc]
test eax, eax
jle 0x48c276
xor esi, esi
nop word [eax + eax]
push 0
push 2
push eax
call fcn.00459820
mov ecx, dword [0x556ac8]
mov dword [ecx + esi*4], eax
mov eax, dword [0x556ac8]
mov eax, dword [eax + esi*4]
mov dword [eax + 0x880], esi
mov eax, dword [0x556ac8]
mov ecx, dword [eax + esi*4]
lea eax, [ecx + 0x878]
push eax
lea eax, [ecx + 0x87c]
push eax
xor eax, eax
cmp dword [0x55b1ac], eax
push esi
push dword [0x556abc]
setne al
push eax
push dword [0x556ac0]
call fcn.00479e20
mov eax, dword [0x556ac8]
add esp, 0x24
movsd xmm0, qword [ebp - 0xc98]
mov eax, dword [eax + esi*4]
mov dword [eax + 0x20], 2
mov eax, dword [0x556ac8]
mov eax, dword [eax + esi*4]
mov dword [eax + 0x1c], 0
mov eax, dword [0x556ac8]
mov eax, dword [eax + esi*4]
mov dword [eax + 0x38], 0x3c943c
mov eax, dword [0x556ac8]
mov eax, dword [eax + esi*4]
movsd qword [eax + 0x30], xmm0
mov eax, dword [0x556ac8]
mov eax, dword [eax + esi*4]
mov dword [eax + 0x50], 0xff
mov eax, dword [0x556ac8]
mov eax, dword [eax + esi*4]
movsd qword [eax + 0x48], xmm0
mov eax, dword [0x556ac8]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x556ad4]
mov dword [ecx + 0x884], eax
test esi, esi
je 0x48c25c
mov esi, dword [0x556ac8]
mov eax, dword [esi]
mov ecx, dword [eax + 0x86c]
mov edx, dword [eax + 0x870]
mov eax, dword [ebp - 0xc48]
mov eax, dword [esi + eax*4]
mov esi, dword [ebp - 0xc48]
mov dword [eax + 0x86c], ecx
mov dword [eax + 0x870], edx
mov eax, dword [0x556abc]
inc esi
mov dword [ebp - 0xc48], esi
cmp esi, eax
jl 0x48c160
mov esi, dword [sym.imp.USER32.dll_InsertMenuW]
call sub.POWRPROF.dll_IsPwrHibernateAllowed
test al, al
je 0x48c293
push 0x510fcc
push 0x9c87
push 0
push 0x9c86
push edi
call esi
call sub.POWRPROF.dll_IsPwrSuspendAllowed
test al, al
je 0x48c2b0
push 0x510fe4
push 0x9c88
push 0
push 0x9c86
push edi
call esi
push 0x510ff8
push 0x9c92
push 0
push 0x9c86
push edi
call esi
push 0x511004
push dword [0x5509e8]
call dword [sym.imp.USER32.dll_LoadMenuW]
xor ecx, ecx
mov dword [0x556400], eax
cmp byte [0x555289], cl
mov edx, 8
cmovne ecx, edx
push ecx
push 0x9c50
push eax
call dword [sym.imp.USER32.dll_CheckMenuItem]
push 0x511014
push dword [0x5509e8]
call dword [sym.imp.USER32.dll_LoadMenuW]
mov ecx, dword [0x550f38]
push ecx
mov dword [0x556404], eax
lea edx, [ecx + 0x6c]
mov ecx, esp
mov dword [ecx], eax
mov ecx, edx
call fcn.00466cb0
xor eax, eax
mov ecx, 8
cmp byte [0x555282], al
cmovne eax, ecx
push eax
push 0x9c47
push edi
call dword [sym.imp.USER32.dll_CheckMenuItem]
lea eax, [ebp - 0xc5c]
push eax
push 0x511030
push SysReAllocStringLen
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
test eax, eax
je 0x48c427
xor eax, eax
push eax
push eax
push 0x4fbf5c
mov word [0x555f70], ax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov dword [ebp - 0xc54], eax
test eax, eax
je 0x48c46f
lea ecx, [eax*2 + 2]
push ecx
call fcn.004c8c9a
add esp, 4
mov dword [ebp - 0xc48], eax
push dword [ebp - 0xc54]
push eax
push 0x4fbf5c
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
push 0x555f70
push dword [ebp - 0xc54]
push dword [ebp - 0xc48]
push 0x511070
call fcn.004799e0
add esp, 0x10
test al, al
je 0x48c40f
push 0x511088
push 0x9c64
push 0
push 0x9f22
push edi
call esi
push 0x511088
push 0x9c60
push 0
push 0x9caf
push dword [0x556400]
call esi
push dword [ebp - 0xc48]
mov byte [0x555f25], 1
call fcn.004c8c7f
add esp, 4
jmp 0x48c46f
push dword [ebp - 0xc48]
xor eax, eax
mov word [0x555f70], ax
call fcn.004c8c7f
add esp, 4
jmp 0x48c46f
push 0x511088
push 0x9c64
push 0
push 0x9f22
push edi
mov byte [0x555f25], 1
call esi
push 0x511088
push 0x9c60
push 0
push 0x9caf
push dword [0x556400]
call esi
push dword [ebp - 0xc5c]
xor eax, eax
mov word [0x555f70], ax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [0x556400]
mov edx, dword [0x550f38]
push ecx
mov eax, esp
mov dword [eax], ecx
lea ecx, [edx + 0x6c]
call fcn.00466cb0
lea eax, [ebp - 0xc5c]
push eax
push 0x5110b0
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
test eax, eax
jne 0x48c573
lea eax, [ebp - 0xc4c]
mov dword [ebp - 0xc4c], 0x208
push eax
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0xc9c]
push eax
push 0
push 0x5019a4
push dword [ebp - 0xc5c]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x48c567
push 0x104
push 0x556178
call fcn.004c97d5
add esp, 8
cmp word [ebp - 0x420], 0x22
jne 0x48c52a
lea eax, [ebp - 0x41e]
push eax
push 0x104
push 0x556178
call fcn.004c905a
push 0x22
push 0x556178
call fcn.004c55d8
add esp, 0x14
test eax, eax
je 0x48c567
push 0x22
jmp 0x48c555
lea eax, [ebp - 0x420]
push eax
push 0x104
push 0x556178
call fcn.004c905a
push 0x20
push 0x556178
call fcn.004c55d8
add esp, 0x14
test eax, eax
je 0x48c567
push 0x20
push 0x556178
call fcn.004c55d8
add esp, 8
xor ecx, ecx
mov word [eax], cx
push dword [ebp - 0xc5c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp word [0x556178], 0
je 0x48c591
push 0x51111c
push 0x9c68
push 0
push 0x9f22
push edi
call esi
push 0
push 0x9f22
push edi
call dword [sym.imp.USER32.dll_DeleteMenu]
push 0x67
push dword [ebp - 0xc64]
call fcn.004baca0
add esp, 8
mov dword [0x555edc], eax
test eax, eax
je 0x48cd70
push 3
push 0
call fcn.0046d020
add esp, 8
lea eax, [ebp - 0xa48]
push eax
push dword [0x555edc]
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0xa3c]
xorps xmm0, xmm0
sub eax, dword [ebp - 0xa44]
add eax, 2
mov dword [0x55680c], eax
lea eax, [ebp - 0xa58]
push eax
push 0x52010000
push 0x65
push dword [0x5509e8]
movups xmmword [ebp - 0xa58], xmm0
push dword [ebp - 0xc68]
call fcn.00432ed0
add esp, 0x14
mov dword [0x555ecc], eax
test eax, eax
je 0x48cd70
push dword [0x550f50]
push eax
call fcn.0046e0c0
push dword [0x555ecc]
call fcn.00434e00
add esp, 0xc
mov esi, eax
mov ecx, esi
push 0
mov dword [esi + 0xd0], 0x4739f0
call fcn.00434b00
push 0x6a
mov dword [esi + 0xd4], 0x473bf0
push dword [0x5509e8]
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
mov ecx, esi
call fcn.00438250
push 1
mov ecx, esi
call fcn.00434af0
push 0
mov ecx, esi
call fcn.00438240
push 0
mov ecx, esi
call fcn.00438260
mov ecx, esi
call fcn.00435600
push eax
call fcn.004798f0
add esp, 4
mov ecx, esi
call fcn.00435220
push eax
call fcn.004798f0
add esp, 4
mov ecx, esi
call fcn.00435230
push eax
call fcn.004798f0
push 0x5510f0
call fcn.00489370
add esp, 8
push 0
push 0
push dword [0x5512fc]
push 0x551300
push 0x5513c0
push dword [0x555ecc]
call fcn.00470040
test eax, eax
je 0x48cd70
push 0
push dword [0x556620]
mov ecx, esi
call fcn.00438210
mov esi, dword [sym.imp.USER32.dll_LoadIconW]
push 0xffffffffffffffff
push 0x7f00
push 0
call esi
push eax
mov ecx, 0x556620
call fcn.00489430
push 0xffffffffffffffff
push 0x7f00
push 0
call esi
push eax
mov ecx, 0x556450
call fcn.00489430
cmp byte [0x5512fa], 0
jne 0x48c75b
movzx eax, byte [0x551544]
push eax
push dword [0x551540]
push 0xffffffffffffffff
push dword [0x555ecc]
call fcn.00473100
add esp, 0x10
mov eax, dword [ebp - 0xc58]
push 0x66
push dword [0x55154c]
push 0x551550
push 0x55165c
push 0x40810405
push dword [eax + 4]
call fcn.0046c920
mov esi, eax
add esp, 0x18
mov dword [0x555ed0], esi
test esi, esi
je 0x48cd70
mov eax, dword [ebp - 0xc58]
push 0
push 0
push 0x1304
push dword [eax + 0x24]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0
push 0x51112c
push esi
mov esi, dword [ebp - 0xc58]
mov ecx, esi
push eax
call fcn.00476540
movzx eax, byte [0x5516e0]
push eax
push dword [0x5516dc]
push 0xffffffffffffffff
push dword [0x555ed0]
call fcn.00473100
push 0x68
push dword [0x551618]
push 0x55161c
push 0x551590
push 0x40810405
push dword [esi + 4]
call fcn.0046c920
mov esi, eax
add esp, 0x28
mov dword [0x555ed4], esi
test esi, esi
je 0x48cd70
mov eax, dword [ebp - 0xc58]
push 0
push 0
push 0x1304
push dword [eax + 0x24]
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [ebp - 0xc58]
push 0
push 1
push 0x51113c
push esi
push eax
call fcn.00476540
movzx eax, byte [0x551614]
push eax
push dword [0x551610]
push 0xffffffffffffffff
push dword [0x555ed4]
call fcn.00473100
add esp, 0x10
push 0x6a
push dword [0x555ec8]
push 0x4fbd20
push 0x50000000
call dword [sym.imp.COMCTL32.dll_CreateStatusWindowW]
push eax
mov dword [0x555ed8], eax
call fcn.004b9ba0
mov esi, dword [sym.imp.USER32.dll_LoadCursorW]
add esp, 4
push 0x69
push dword [0x5509e8]
call esi
mov dword [0x556810], eax
test eax, eax
jne 0x48c8a8
push 0x7f00
push eax
call esi
mov dword [0x556810], eax
push 0x6a
push dword [0x5509e8]
call esi
mov dword [0x556814], eax
test eax, eax
jne 0x48c8c8
push 0x7f00
push eax
call esi
mov dword [0x556814], eax
xor eax, eax
mov ecx, 8
cmp byte [0x555289], al
cmovne eax, ecx
push eax
push 0x9c50
push edi
call dword [sym.imp.USER32.dll_CheckMenuItem]
push 5
push dword [0x555ecc]
call dword [sym.imp.USER32.dll_ShowWindow]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
xor eax, eax
cmp byte [0x5512fa], al
sete al
push eax
push 0x9c67
push 0x401
push dword [0x555edc]
call esi
push dword [0x555ec8]
xor eax, eax
cmp byte [0x5512fa], al
setne al
mov dword [ebp - 0xc68], eax
call dword [sym.imp.USER32.dll_GetMenu]
push dword [ebp - 0xc68]
push 0x9c67
push eax
call dword [sym.imp.USER32.dll_EnableMenuItem]
push 1
push 0x9c6c
push dword [0x555ec8]
call dword [sym.imp.USER32.dll_GetMenu]
push eax
call dword [sym.imp.USER32.dll_EnableMenuItem]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
push 0x555f2c
push dword [ebp - 0xc64]
mov dword [0x5563e4], eax
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [0x555f30]
mov ecx, dword [0x55680c]
dec eax
add ecx, eax
mov dword [0x555f3c], 0
mov eax, dword [0x555f38]
sub eax, ecx
mov dword [0x555f30], ecx
mov dword [0x555f38], eax
sub eax, ecx
push 0x511148
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x5510d8]
cvttsd2si eax, xmm0
add eax, ecx
mov dword [0x555f40], eax
add eax, 7
mov dword [0x555f48], eax
mov eax, dword [0x555f34]
mov dword [0x555f44], eax
call dword [sym.imp.USER32.dll_RegisterWindowMessageW]
mov dword [0x5563fc], eax
call fcn.00454d70
push 1
push dword [0x555ecc]
call fcn.004ad620
movzx eax, byte [0x5512fa]
add esp, 8
push eax
push 0x65
push 0x7e8
push dword [0x555ec8]
call esi
push dword [0x555ecc]
call dword [sym.imp.USER32.dll_SetFocus]
lea eax, [ebp - 0xcfc]
mov dword [ebp - 0xcec], 3
push eax
push 0
push 0x102b
push dword [0x555ed4]
mov dword [ebp - 0xcf0], 3
call esi
lea eax, [ebp - 0xcfc]
mov dword [ebp - 0xcec], 3
push eax
push 0
push 0x102b
push dword [0x555ed0]
mov dword [ebp - 0xcf0], 3
call esi
call fcn.0047d0f0
test al, al
je 0x48cafb
push 1
mov ecx, 0x550a60
call fcn.0047f9c0
mov esi, dword [sym.imp.USER32.dll_InsertMenuW]
test eax, eax
jne 0x48cb01
push 0x511168
push 0x9f2a
push eax
push 0x9f16
push edi
call esi
xor eax, eax
mov ecx, 8
cmp byte [0x55527f], al
cmovne eax, ecx
push eax
push 0x9f2a
push edi
call dword [sym.imp.USER32.dll_CheckMenuItem]
push 0x511184
push 0x9f2b
push 0
push 0x9f16
push edi
call esi
xor eax, eax
mov ecx, 8
cmp byte [0x55527e], al
cmovne eax, ecx
push eax
push 0x9f2b
push edi
call dword [sym.imp.USER32.dll_CheckMenuItem]
jmp 0x48cb01
mov esi, dword [sym.imp.USER32.dll_InsertMenuW]
cmp dword [0x5509d0], 0
je 0x48cb3f
push 0x5111a8
push 0x9f2c
push 0
push 0x9f16
push edi
call esi
mov esi, dword [sym.imp.USER32.dll_CheckMenuItem]
xor eax, eax
cmp byte [0x555280], al
mov ecx, 8
cmovne eax, ecx
push eax
push 0x9f2c
push edi
call esi
jmp 0x48cb45
mov esi, dword [sym.imp.USER32.dll_CheckMenuItem]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
push 0
push 0
push 0
push 0
mov dword [0x555f00], eax
call dword [sym.imp.KERNEL32.dll_CreateEventW]
push 0
push 0
push 1
push 0
mov dword [0x555f04], eax
call dword [sym.imp.KERNEL32.dll_CreateEventW]
push 0
push 0
push 0
push 0
mov dword [0x5563ec], eax
call dword [sym.imp.KERNEL32.dll_CreateEventW]
push 0
push 0
push 1
push 0
mov dword [0x555f08], eax
call dword [sym.imp.KERNEL32.dll_CreateEventW]
push 0
push 0
push 0
push 0
mov dword [0x555f0c], eax
call dword [sym.imp.KERNEL32.dll_CreateEventW]
push 0
push 0
push 0
push 0x489740
push 0
push 0
mov dword [0x555f10], eax
call fcn.004d6048
mov dword [0x5563e8], eax
add esp, 0x18
mov eax, dword [0x5510e8]
cmp eax, 0x7d0
jg 0x48cc51
je 0x48cc48
test eax, eax
je 0x48cc09
cmp eax, 0x1f4
je 0x48cc00
cmp eax, 0x3e8
jne 0x48cc8c
push 0
push 0x9c55
jmp 0x48cc6f
push 0
push 0x9c57
jmp 0x48cc6f
push 0
push 0x9c52
push 0x9c57
push 0x9c52
push dword [0x555ec8]
call dword [sym.imp.USER32.dll_GetMenu]
push eax
call dword [sym.imp.USER32.dll_CheckMenuRadioItem]
mov eax, dword [0x570310]
mov ecx, dword [0x550f38]
dec eax
push 0
push 0x5111c4
push eax
call fcn.00477e80
jmp 0x48cc8c
push 0
push 0x9c53
jmp 0x48cc6f
cmp eax, 0x1388
je 0x48cc68
cmp eax, 0x2710
jne 0x48cc8c
push 0
push 0x9c56
jmp 0x48cc6f
push 0
push 0x9c54
push 0x9c57
push 0x9c52
push dword [0x555ec8]
call dword [sym.imp.USER32.dll_GetMenu]
push eax
call dword [sym.imp.USER32.dll_CheckMenuRadioItem]
push 1
push 0
push dword [0x555edc]
call dword [sym.imp.USER32.dll_InvalidateRect]
push dword [ebp - 0xc80]
call dword [sym.imp.USER32.dll_SetCursor]
cmp dword [0x5679ec], 0
jne 0x48ccbf
push 0
push 0x9f0f
push edi
call dword [sym.imp.USER32.dll_DeleteMenu]
call fcn.0048ad60
mov ecx, dword [0x5552a4]
cmp ecx, 0x64
je 0x48cd38
push 0xffffffffffffffec
push dword [0x555ec8]
call dword [sym.imp.USER32.dll_GetWindowLongW]
or eax, 0x80000
push eax
push 0xffffffffffffffec
push dword [0x555ec8]
call dword [sym.imp.USER32.dll_SetWindowLongW]
imul ecx, dword [0x5552a4], 0xff
mov eax, 0x51eb851f
push 2
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push 0
push dword [0x555ec8]
call dword [sym.imp.USER32.dll_SetLayeredWindowAttributes]
push 0x485
push 0
push 0
push dword [0x555ec8]
call dword [sym.imp.USER32.dll_RedrawWindow]
mov ecx, dword [0x5552a4]
mov eax, 0x66666667
imul ecx
push 8
sar edx, 2
mov eax, edx
add edx, 0x9c9d
shr eax, 0x1f
add eax, edx
push eax
push edi
call esi
cmp byte [0x555f1c], 0
je 0x48cd6c
push dword [0x555ec8]
call fcn.0047b810
add esp, 4
xor eax, eax
jmp 0x48cd73
or eax, 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004c3287
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.0042d2e0
int3