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

Disassembly:
push ebp
mov ebp, esp
push esi
and esp, 0xfffffff8
sub esp, 0x148
mov eax, dword [sym.imp.KERNEL32.dll_GetLastError]
call eax
mov ecx, esp
mov dword [ecx], 0x211
mov ecx, dword [sym.imp.USER32.dll_GetThreadDesktop]
mov dword [esp + 0xc4], eax
call ecx
sub esp, 4
xor ecx, ecx
mov edx, 0x1c
lea esi, [esp + 0x128]
mov dword [esp], esi
mov dword [esp + 4], 0
mov dword [esp + 8], 0x1c
mov dword [esp + 0xc0], eax
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xb8], edx
call sub.msvcrt.dll_memset
mov eax, esp
lea ecx, [esp + 0x128]
mov dword [eax + 4], ecx
mov dword [eax], 0xe64190
mov eax, dword [sym.imp.KERNEL32.dll_SetCommState]
call eax
sub esp, 8
mov dword [esp + 0xb4], eax
lea eax, [esp + 0xd0]
lea ecx, [esp + 0xe8]
mov edx, esp
mov dword [edx], 0x8b92b7
mov edx, dword [sym.imp.KERNEL32.dll_FindNextChangeNotification]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xac], eax
call edx
sub esp, 4
xor ecx, ecx
lea edx, [esp + 0x110]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xa4], edx
mov dword [esp + 0xa0], ecx
jmp 0x100012f3
xor eax, eax
xor ecx, ecx
mov edx, dword [esp + 0x9c]
sub edx, 0x13
mov dword [esp + 0x98], eax
mov dword [esp + 0x94], ecx
mov dword [esp + 0x90], edx
je 0x10001405
jmp 0x1000126d
mov eax, dword [esp + 0x9c]
sub eax, 0x2f
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x88], ecx
je 0x100013ef
jmp 0x100014a6
mov eax, esp
mov dword [eax + 4], 0x9756d4
mov dword [eax], 0x9756d4
mov eax, dword [sym.imp.GDI32.dll_EqualRgn]
call eax
sub esp, 8
mov ecx, 0x33507c
mov dword [esp + 0x11c], ecx
mov ecx, esp
lea edx, [esp + 0x11c]
mov dword [ecx + 8], edx
mov dword [ecx + 4], 0x387
mov dword [ecx], 0x76fd61
mov ecx, dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
mov dword [esp + 0x84], eax
call ecx
sub esp, 0xc
mov dword [esp + 0x80], eax
jmp 0x100013d5
mov eax, dword [esp + 0xa0]
mov ecx, esp
mov dword [ecx], 0xddc939
mov ecx, dword [sym.imp.KERNEL32.dll_GetFileType]
mov dword [esp + 0x9c], eax
call ecx
sub esp, 4
mov ecx, esp
mov dword [ecx], 0x8aa068
mov ecx, dword [sym.imp.USER32.dll_UnloadKeyboardLayout]
mov dword [esp + 0x7c], eax
call ecx
sub esp, 4
mov ecx, esp
lea edx, [esp + 0x120]
mov dword [ecx + 4], edx
mov dword [ecx], 0xfd40d3
mov ecx, dword [sym.imp.GDI32.dll_GetBrushOrgEx]
mov dword [esp + 0x78], eax
call ecx
sub esp, 8
mov ecx, esp
mov dword [ecx + 4], 0x663
mov dword [ecx], 0x6e507b
mov ecx, dword [sym.imp.GDI32.dll_SetArcDirection]
mov dword [esp + 0x74], eax
call ecx
sub esp, 8
xor ecx, ecx
mov dword [esp + 0x70], eax
mov dword [esp + 0x6c], ecx
mov eax, dword [esp + 0x6c]
mov ecx, 0xaaaaaaab
mov dword [esp + 0x68], eax
mul ecx
shr edx, 3
imul eax, edx, 0xc
mov ecx, dword [esp + 0x68]
sub ecx, eax
mov eax, ecx
sub eax, 7
mov dword [esp + 0x64], ecx
mov dword [esp + 0x60], eax
je 0x10001297
jmp 0x100013a4
mov eax, dword [esp + 0x64]
sub eax, 6
mov dword [esp + 0x5c], eax
jne 0x100013d5
jmp 0x100013b3
mov eax, esp
mov dword [eax + 4], 0xa86
mov dword [eax], 0xa86
mov eax, dword [sym.imp.KERNEL32.dll_GenerateConsoleCtrlEvent]
call eax
sub esp, 8
mov dword [esp + 0x58], eax
jmp 0x10001297
mov eax, dword [esp + 0x68]
add eax, 1
cmp eax, 0x2ed
mov dword [esp + 0x6c], eax
je 0x10001242
jmp 0x10001374
mov eax, esp
mov dword [eax], 0x9a7dc2
mov eax, dword [sym.imp.GDI32.dll_SwapBuffers]
call eax
sub esp, 4
mov dword [esp + 0x54], eax
xor eax, eax
mov ecx, 0xc
mov edx, dword [esp + 0xa4]
mov dword [esp], edx
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], ecx
call sub.msvcrt.dll_memset
mov eax, esp
lea ecx, [esp + 0x110]
mov dword [eax], ecx
mov eax, dword [sym.imp.ADVAPI32.dll_SetUserFileEncryptionKey]
call eax
sub esp, 4
xor ecx, ecx
mov edx, 0x24
mov esi, dword [esp + 0xb0]
mov dword [esp], esi
mov dword [esp + 4], 0
mov dword [esp + 8], 0x24
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], edx
call sub.msvcrt.dll_memset
mov eax, esp
lea ecx, [esp + 0xe8]
mov dword [eax + 8], ecx
mov dword [eax + 4], 0xe16
mov dword [eax], 0x2b6883
mov eax, dword [sym.imp.GDI32.dll_GetRegionData]
call eax
sub esp, 0xc
mov dword [esp + 0x3c], eax
jmp 0x1000157f
mov eax, dword [esp + 0x88]
xor ecx, ecx
mov edx, 0x18
mov esi, dword [esp + 0xac]
mov dword [esp], esi
mov dword [esp + 4], 0
mov dword [esp + 8], 0x18
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], edx
call sub.msvcrt.dll_memset
mov eax, dword [esp + 0x38]
add eax, 1
mov ecx, esp
lea edx, [esp + 0xd0]
mov dword [ecx], edx
mov dword [ecx + 4], 0xfca
mov ecx, dword [sym.imp.KERNEL32.dll_SetCriticalSectionSpinCount]
mov dword [esp + 0x2c], eax
call ecx
sub esp, 8
mov ecx, esp
lea edx, [esp + 0xc8]
mov dword [ecx + 4], edx
mov dword [ecx], 0x16b9f4
mov ecx, dword [sym.imp.GDI32.dll_GetAspectRatioFilterEx]
mov dword [esp + 0x28], eax
call ecx
sub esp, 8
mov ecx, esp
mov dword [ecx + 0x14], 0x62b
mov dword [ecx + 0x10], 0x6aa
mov dword [ecx + 0xc], 0x6aa
mov dword [ecx + 8], 0x6aa
mov dword [ecx + 4], 0xfd0
mov dword [ecx], 0xae2a0b
mov ecx, dword [sym.imp.KERNEL32.dll_SetTapePosition]
mov dword [esp + 0x24], eax
call ecx
sub esp, 0x18
mov ecx, dword [esp + 0x2c]
cmp ecx, 0xa
mov dword [esp + 0x20], eax
mov dword [esp + 0x88], ecx
jne 0x100014a6
mov eax, dword [esp + 0x9c]
add eax, 1
mov ecx, esp
mov dword [ecx + 4], 0x410
mov dword [ecx], 0x20df32
mov ecx, dword [sym.imp.USER32.dll_WaitForInputIdle]
mov dword [esp + 0x1c], eax
call ecx
sub esp, 8
mov ecx, dword [esp + 0x1c]
cmp ecx, 0x4b
mov dword [esp + 0x18], eax
mov dword [esp + 0xa0], ecx
jne 0x100012f3
lea esp, [ebp - 4]
pop esi
pop ebp
ret