Function at 0x407280
Capabilities:
Acquire debug privileges
Get keyboard layout

Disassembly:
sub esp, 0x18
push ebx
push esi
push edi
mov esi, ecx
xor edi, edi
mov ebx, 1
push edi
mov dword [esi + 0x34], ebx
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push ebx
mov ecx, esi
mov dword [0x6e108c], eax
call fcn.004066a0
test eax, eax
jne 0x4072b3
pop edi
pop esi
pop ebx
add esp, 0x18
ret 4
cmp dword [0x5e8078], edi
je 0x4072cd
call fcn.00485550
push str.tw.windows7.taskbar
call fcn.00485600
add esp, 4
push ebp
push edi
push section..taihang
call fcn.00469330
mov ebp, dword [esp + 0x34]
mov eax, dword [0x6b4094]
lea ecx, [esp + 0x1c]
mov dword [0x5e82a8], eax
push ecx
push 0x4f69e8
push ebp
mov dword [esp + 0x28], edi
call fcn.00433530
mov dword [0x5e82ac], eax
mov eax, dword [esp + 0x28]
add esp, 0x14
cmp eax, edi
jne 0x407317
mov edx, dword [0x6b408c]
mov dword [0x5e82ac], edx
mov ecx, esi
call fcn.00407190
call fcn.0043fbb0
call fcn.004138c0
test eax, eax
je 0x407335
push ebx
call fcn.00414840
add esp, 4
push 0x6e0e74
push 0x4f69d8
push str.Main
call fcn.004083e0
push 0x103
push 0x6e0e78
push str.Skin
push str.Path
call fcn.00408320
mov eax, dword [0x6b40d0]
mov ecx, dword [0x5eb514]
push str.TheWorld_Default
push eax
push 0x34
push 0x33
push ecx
push 0x64
push 0x66
call fcn.0048b950
add esp, 0x38
push 0x16
push str.FavoriteCY
push str.ToolBar
call fcn.0049cf00
mov ecx, eax
call fcn.0049d9f0
lea edx, [esp + 0x10]
mov dword [0x6d5520], eax
push edx
push 0x28
mov dword [esp + 0x18], edi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x4073f9
lea eax, [esp + 0x1c]
push eax
push str.SeDebugPrivilege
push edi
call dword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueW]
mov edx, dword [esp + 0x10]
push edi
push edi
lea ecx, [esp + 0x20]
push edi
push ecx
push edi
push edx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x3c], 2
call dword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
mov eax, dword [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push edi
push 0x1f0fff
mov dword [esi + 0x38], eax
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [esi + 0x10], eax
call fcn.0042bee0
mov edi, eax
call fcn.00468f80
mov ebx, eax
call fcn.004608f0
mov ecx, eax
call fcn.00460940
call fcn.0041afd0
mov ecx, eax
call fcn.0041b280
mov ecx, 0x5e83a8
call fcn.004803e0
test edi, edi
je 0x407456
push ebp
mov ecx, esi
call fcn.004074d0
mov edx, dword [edi]
push 1
mov ecx, edi
call dword [edx]
call fcn.00410a40
test eax, eax
pop ebp
je 0x407468
mov edx, dword [eax]
push 1
mov ecx, eax
call dword [edx]
test ebx, ebx
je 0x407474
mov eax, dword [ebx]
push 1
mov ecx, ebx
call dword [eax]
mov ecx, 0x5eb638
call fcn.00495050
call fcn.0048b9a0
call fcn.004697c0
push 0
call fcn.00414840
add esp, 4
mov ecx, esi
push 0
call fcn.004066a0
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4074b0
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 0xc], 0
mov esi, dword [esi + 0x10]
test esi, esi
je 0x4074be
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x18
ret 4