Function at 0x41f810
Capabilities:
Hide graphical window
Log keystrokes via input method manager

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5635ce
mov eax, dword fs:[0]
push eax
sub esp, 0x48
mov eax, dword [0x661850]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x4c], ecx
push str.Wed_Sep_30_22:04:02_2015
push 0x1427
push str.CGameProcess::DefMainWndProc
push str.GameProcessGameProc.cpp
lea ecx, [ebp - 0xd]
call fcn.004024e0
mov dword [ebp - 4], 0
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0x100
ja 0x41f894
cmp dword [ebp - 0x50], 0x100
je 0x41fbd2
mov ecx, dword [ebp - 0x50]
sub ecx, 2
mov dword [ebp - 0x50], ecx
cmp dword [ebp - 0x50], 6
ja case.0x41f922.5
mov edx, dword [ebp - 0x50]
jmp dword [edx*4 + 0x41fec0]
cmp dword [ebp - 0x50], 0x113
ja 0x41f8d0
cmp dword [ebp - 0x50], 0x113
je 0x41faea
mov eax, dword [ebp - 0x50]
sub eax, 0x101
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0xe
ja case.0x41f922.5
mov ecx, dword [ebp - 0x50]
movzx edx, byte [ecx + 0x41fef8]
jmp dword [edx*4 + 0x41fedc]
cmp dword [ebp - 0x50], 0x200
ja 0x41f8f4
cmp dword [ebp - 0x50], 0x200
je 0x41faff
cmp dword [ebp - 0x50], 0x133
je 0x41f948
jmp case.0x41f922.5
cmp dword [ebp - 0x50], 0x7e8
ja 0x41f929
cmp dword [ebp - 0x50], 0x7e8
je 0x41fd7b
mov eax, dword [ebp - 0x50]
sub eax, 0x201
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 9
ja case.0x41f922.5
mov ecx, dword [ebp - 0x50]
jmp dword [ecx*4 + 0x41ff08]
cmp dword [ebp - 0x50], 0x7ed
je 0x41fd51
cmp dword [ebp - 0x50], 0x81f4
je 0x41fd92
jmp case.0x41f922.5
mov ecx, 0x7c0e48
call fcn.0043b450
cmp dword [ebp + 0x14], eax
je 0x41f9de
mov ecx, 0x79b890
call fcn.004e6cf0
cmp dword [ebp + 0x14], eax
je 0x41f9de
mov ecx, 0x79b890
call fcn.004e6d30
cmp dword [ebp + 0x14], eax
je 0x41f9de
mov ecx, 0x77b1b8
call fcn.00474ca0
cmp dword [ebp + 0x14], eax
je 0x41f9de
mov edx, dword [ebp + 0x14]
cmp edx, dword [0x7941e0]
je 0x41f9de
mov eax, dword [ebp + 0x14]
cmp eax, dword [0x7941e4]
je 0x41f9de
mov ecx, 0x79c200
call fcn.0043bb10
cmp dword [ebp + 0x14], eax
je 0x41f9de
mov ecx, 0x79f2e8
call fcn.0043baf0
cmp dword [ebp + 0x14], eax
je 0x41f9de
mov ecx, 0x785f40
call fcn.0043ba80
cmp dword [ebp + 0x14], eax
je 0x41f9de
mov ecx, 0x7a59d8
call fcn.0043bb90
cmp dword [ebp + 0x14], eax
jne 0x41fa64
mov ecx, dword [ebp - 0x4c]
add ecx, 0xe0524
call fcn.0043b9f0
movzx ecx, al
test ecx, ecx
je 0x41fa04
push 0x181818
mov edx, dword [ebp + 0x10]
push edx
call dword [sym.imp.GDI32.dll_SetBkColor]
jmp 0x41fa10
push 0
mov eax, dword [ebp + 0x10]
push eax
call dword [sym.imp.GDI32.dll_SetBkColor]
push 0xffffff
mov ecx, dword [ebp + 0x10]
push ecx
call dword [sym.imp.GDI32.dll_SetTextColor]
mov edx, dword [ebp - 0x4c]
mov eax, dword [edx + 0x100b28]
push eax
call dword [sym.imp.GDI32.dll_UnrealizeObject]
lea ecx, [ebp - 0x18]
push ecx
push 0
push 0
mov edx, dword [ebp + 0x10]
push edx
call dword [sym.imp.GDI32.dll_SetBrushOrgEx]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax + 0x100b28]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xd]
call fcn.00402620
mov eax, dword [ebp - 0x30]
jmp 0x41feae
jmp case.0x41f922.5
mov edx, dword [ebp - 0x4c]
mov byte [edx + 0x112702], 1
call fcn.0040ada0
mov ecx, dword [ebp - 0x4c]
mov dword [ecx + 0x112704], eax
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp - 0x4c]
call fcn.0041a380
jmp case.0x41f922.5
movzx ecx, byte [0x69d4b6]
test ecx, ecx
je 0x41fab2
mov byte [0x69ee7a], 0
mov ecx, 0x69ec08
call fcn.00533ea0
jmp case.0x41f922.5
cmp dword [ebp + 0x10], 0
jne 0x41fae5
movzx edx, byte [0x69d4b6]
test edx, edx
je 0x41fae5
push 6
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov byte [0x69ee7a], 1
push 0
push 0
call dword [sym.imp.USER32.dll_ChangeDisplaySettingsA]
jmp case.0x41f922.5
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp - 0x4c]
call fcn.0041a400
jmp case.0x41f922.5
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov ecx, dword [ebp - 0x4c]
call fcn.0041c050
jmp case.0x41f922.5
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp - 0x4c]
call fcn.0041bc40
jmp case.0x41f922.5
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp - 0x4c]
call fcn.0041c1c0
jmp case.0x41f922.5
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov ecx, dword [ebp - 0x4c]
call fcn.0041c950
jmp case.0x41f922.5
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp - 0x4c]
call fcn.0041d0b0
jmp case.0x41f922.5
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp - 0x4c]
add ecx, 0x41fe0
call fcn.0049d6a0
jmp case.0x41f922.5
mov eax, dword [ebp + 8]
push eax
call sub.IMM32.dll_ImmGetContext
mov dword [ebp - 0x20], eax
push 0xa
push 0
mov ecx, dword [ebp - 0x20]
push ecx
call sub.IMM32.dll_ImmSetConversionStatus
push 1
call fcn.00545848
add esp, 4
mov dword [ebp - 0x34], eax
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x1c], edx
push 1
mov eax, dword [ebp - 0x1c]
push eax
push 8
mov ecx, dword [ebp - 0x20]
push ecx
call sub.IMM32.dll_ImmGetCompositionStringA
mov edx, dword [ebp - 0x20]
push edx
mov eax, dword [ebp + 8]
push eax
call sub.IMM32.dll_ImmReleaseContext
jmp case.0x41f922.5
push 0
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp - 0x4c]
call fcn.0041d780
jmp case.0x41f922.5
cmp dword [ebp + 0x10], 0x2c
jne 0x41fc33
mov ecx, 0x69ec08
call fcn.00538bb0
push 3
call fcn.004764c0
add esp, 4
mov dword [ebp - 0x24], eax
push 2
call fcn.004764c0
add esp, 4
mov dword [ebp - 0x28], eax
push 0
push 0
push 0x5777b4
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0x28]
push ecx
mov ecx, 0x6eeef8
call fcn.0048ce80
jmp case.0x41f922.5
cmp dword [ebp + 0x10], 0x7a
jne 0x41fc4d
push 0
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp - 0x4c]
call fcn.0041d780
jmp 0x41fc5d
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp - 0x4c]
call fcn.0041ced0
jmp case.0x41f922.5
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov ecx, dword [ebp - 0x4c]
call fcn.0041ccd0
jmp case.0x41f922.5
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp - 0x4c]
call fcn.0041ce00
jmp case.0x41f922.5
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp - 0x4c]
call fcn.0041bf80
jmp case.0x41f922.5
cmp dword [ebp + 0x10], 0x79
jne 0x41fcb9
push 0
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov ecx, dword [ebp - 0x4c]
call fcn.0041d780
cmp dword [ebp + 0x10], 0x12
jne 0x41fcd3
push 0
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp - 0x4c]
call fcn.0041d780
jmp case.0x41f8c9.4
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp - 0x4c]
call fcn.0041be70
mov dword [ebp - 0x38], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xd]
call fcn.00402620
mov eax, dword [ebp - 0x38]
jmp 0x41feae
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov ecx, dword [ebp - 0x4c]
call fcn.0041bf40
mov dword [ebp - 0x3c], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xd]
call fcn.00402620
mov eax, dword [ebp - 0x3c]
jmp 0x41feae
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp - 0x4c]
call fcn.0041bd00
mov dword [ebp - 0x40], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xd]
call fcn.00402620
mov eax, dword [ebp - 0x40]
jmp 0x41feae
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp - 0x4c]
call fcn.0041e430
mov dword [ebp - 0x44], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xd]
call fcn.00402620
mov eax, dword [ebp - 0x44]
jmp 0x41feae
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov ecx, 0x7c46b0
call fcn.00505fb0
jmp case.0x41f922.5
mov ecx, 0x69e66c
call fcn.00522000
jmp case.0x41f922.5
mov edx, dword [ebp - 0x4c]
movzx eax, byte [edx + 0xff514]
test eax, eax
jne case.0x41f922.5
movzx ecx, byte [0x7d83e5]
test ecx, ecx
je 0x41fe0b
mov edx, dword [ebp - 0x4c]
movzx eax, byte [edx + 0xfb298]
test eax, eax
je 0x41fddb
mov ecx, dword [ebp - 0x4c]
movzx edx, byte [ecx + 0xfb298]
cmp edx, 0x1d
jne 0x41fe09
mov eax, dword [ebp - 0x4c]
movzx ecx, byte [eax + 0xfe050]
test ecx, ecx
je 0x41fdfa
push 0x5777ac
mov ecx, 0x7c46b0
call fcn.005072e0
jmp 0x41fe09
push 0x5777a4
mov ecx, 0x7c46b0
call fcn.005072e0
jmp case.0x41f922.5
mov byte [ebp - 0x29], 0
mov edx, dword [0x7d83e8]
mov dword [ebp - 0x54], edx
cmp dword [ebp - 0x54], 0xb
ja case.default.0x41fe21
mov eax, dword [ebp - 0x54]
jmp dword [eax*4 + 0x41ff30]
mov byte [ebp - 0x29], 0x70
jmp case.default.0x41fe21
mov byte [ebp - 0x29], 0x71
jmp case.default.0x41fe21
mov byte [ebp - 0x29], 0x72
jmp case.default.0x41fe21
mov byte [ebp - 0x29], 0x73
jmp case.default.0x41fe21
mov byte [ebp - 0x29], 0x74
jmp case.default.0x41fe21
mov byte [ebp - 0x29], 0x75
jmp case.default.0x41fe21
mov byte [ebp - 0x29], 0x76
jmp case.default.0x41fe21
mov byte [ebp - 0x29], 0x77
jmp case.default.0x41fe21
mov byte [ebp - 0x29], 0x78
jmp case.default.0x41fe21
mov byte [ebp - 0x29], 0x79
jmp case.default.0x41fe21
mov byte [ebp - 0x29], 0x7a
jmp case.default.0x41fe21
mov byte [ebp - 0x29], 0x7b
push 0
push 0
movzx ecx, byte [ebp - 0x29]
push ecx
mov ecx, 0x6acf18
call fcn.0041d780
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x4c]
call fcn.00539c50
mov dword [ebp - 0x48], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xd]
call fcn.00402620
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret 0x10