Function at 0x40a790
Capabilities:
Create process on windows

Disassembly:
push 0xffffffffffffffff
push 0x46bb7b
mov eax, dword fs:[0]
push eax
sub esp, 0xe4
mov eax, dword [0x4844f0]
xor eax, esp
mov dword [esp + 0xe0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4844f0]
xor eax, esp
push eax
lea eax, [esp + 0xf8]
mov dword fs:[0], eax
mov ebx, dword [sym.imp.USER32.dll_PostMessageA]
xor ebp, ebp
cmp dword [0x486248], ebp
je 0x40a877
mov edi, 1
cmp dword [0x48624c], edi
jne 0x40a877
push ebp
push str.DimmedWindowClass
call dword [sym.imp.USER32.dll_FindWindowA]
test eax, eax
je 0x40a851
push 0x470063
call fcn.00404b50
push 0x4708a8
call fcn.00404b50
push str.Find_suspend_window_____
call fcn.00404b50
push 0x4708a8
call fcn.00404b50
push 0x470063
call fcn.00404b50
add esp, 0x14
call fcn.00408900
mov esi, eax
cmp esi, ebp
je 0x40a851
push esi
push ebp
call fcn.00405530
add esp, 8
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0x48d1a8], 0x14
jle 0x40a871
mov eax, dword [0x48cd88]
push ebp
push ebp
push 0x8004
push eax
call ebx
mov dword [0x48d1a8], ebp
jmp 0x40a877
add dword [0x48d1a8], edi
cmp dword [0x486254], ebp
je 0x40a986
push 0x9c
lea ecx, [esp + 0x5c]
push ebp
push ecx
call fcn.00440bc0
add esp, 0xc
push ebp
lea edx, [esp + 0x5c]
push edx
push 0xffffffffffffffff
push ebp
mov word [esp + 0x8c], 0x9c
call dword [sym.imp.USER32.dll_EnumDisplaySettingsExA]
mov eax, dword [esp + 0x8c]
cmp eax, 3
ja case.default.0x40a8bb
jmp dword [eax*4 + 0x40abd4]
xor esi, esi
jmp 0x40a906
cmp dword [0x486250], ebp
mov esi, 0x5a
jne 0x40a906
mov esi, 0x10e
jmp 0x40a906
mov esi, 0xb4
jmp 0x40a906
cmp dword [0x486250], ebp
mov esi, 0x10e
jne 0x40a906
mov esi, 0x5a
jmp 0x40a906
push str.Rotation_:_Default
call fcn.00404b50
mov esi, dword [esp + 0x1c]
add esp, 4
add esi, dword [0x486238]
mov eax, 0x49f49f49
imul esi
sub edx, esi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x168
add esi, eax
cmp dword [0x486258], esi
je 0x40a986
call fcn.00408900
mov edi, eax
cmp edi, ebp
je 0x40aba7
push edi
push esi
mov dword [0x486258], esi
call fcn.004083a0
add esp, 8
test eax, eax
jne 0x40a96b
push str.Set_Rotation_Failed_
call fcn.00404b50
add esp, 4
mov dword [0x486258], 0x3e7
jmp 0x40a97f
mov ecx, dword [0x486258]
push ecx
push str.Set_Rotation__d
call fcn.00404b50
add esp, 8
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0x486364], ebp
je 0x40aba7
lea edx, [esp + 0x18]
push edx
push str.StopPolling
push 0x486578
call fcn.004077e0
add esp, 0xc
cmp dword [esp + 0x18], ebp
jne 0x40aba7
call fcn.00408900
mov edi, eax
cmp edi, ebp
je 0x40aba7
push edi
call fcn.00405440
add eax, 0xffffffff
add esp, 4
cmp eax, 0x62
ja case.0x40a9de.2
movzx eax, byte [eax + 0x40abf8]
jmp dword [eax*4 + 0x40abe4]
push str.snapshut
call fcn.00404b50
add esp, 4
call fcn.00405c10
mov esi, eax
cmp esi, ebp
je 0x40aa54
push str.Twain_is_actived__
call fcn.00404b50
add esp, 4
push ebp
push ebp
push 0x8003
push esi
call ebx
mov dword [esp + 0x50], ebp
lea ecx, [esp + 0x1c]
push ecx
mov dword [esp + 0x104], ebp
call fcn.00409160
mov edx, dword [esp + 0x24]
add esp, 4
push edx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov eax, dword [esp + 0x50]
cmp eax, ebp
mov dword [esp + 0x100], 0xffffffff
je 0x40aa69
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x40aa69
mov eax, dword [0x4866a4]
mov ecx, dword [0x48cd88]
push ebp
push eax
push 0x111
push ecx
call ebx
cmp dword [0x48d1b8], ebp
je 0x40aaae
movzx eax, word [0x48d1bc]
lea edx, [esp + 0x14]
push edx
push eax
push edi
mov dword [esp + 0x20], ebp
call fcn.00405170
add esp, 0xc
test eax, eax
je 0x40aaae
mov eax, dword [esp + 0x14]
test al, 1
je 0x40aaae
movzx ecx, word [0x48d1bc]
and eax, 0xfe
push eax
push ecx
push edi
call fcn.00405310
add esp, 0xc
push 0x6a4
mov dword [0x48668c], 1
mov dword [0x486688], ebp
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x40aba0
push str.launchAP
call fcn.00404b50
add esp, 4
push 5
push 0x48cda8
mov dword [0x48668c], 1
mov dword [0x486688], ebp
call dword [sym.imp.KERNEL32.dll_WinExec]
cmp eax, 0x1f
push 0x48cda8
jbe 0x40ab09
push str.Launch___s_succeed___n
jmp 0x40ab0e
push str.Launch___s_failed___n
call fcn.00404b50
add esp, 8
push 0xc8
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x40aba0
push str.STREAMCLOSE___n
call fcn.00404b50
add esp, 4
cmp dword [0x48d1b8], ebp
je 0x40aba0
movzx eax, word [0x48d1bc]
lea edx, [esp + 0x14]
push edx
push eax
push edi
mov dword [esp + 0x20], ebp
call fcn.00405170
add esp, 0xc
test eax, eax
je 0x40aba0
mov eax, dword [esp + 0x14]
test al, 1
je 0x40aba0
movzx ecx, word [0x48d1bc]
and eax, 0xfe
push eax
push ecx
push edi
call fcn.00405310
push str.launchAP
call fcn.00404b50
add esp, 0x10
jmp 0x40aadb
push str.Error__Device_no_response.
call fcn.00404b50
add esp, 4
add dword [0x486688], 1
jmp 0x40aba0
mov dword [0x486688], ebp
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
mov ecx, dword [esp + 0xf8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xe0]
xor ecx, esp
call fcn.0043e789
add esp, 0xf0
ret