Function at 0x13184648
Capabilities:
Create thread
Print debug messages

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push ebx
push esi
mov eax, 0x13183d50
call fcn.1314717c
mov ebx, 0x1318bbc8
mov esi, 0x1318bd90
xor eax, eax
push ebp
push 0x13184930
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [0x13179fb0]
call fcn.131442e4
mov dword [esi], eax
push 0x13184940
call sub.kernel32.dll_OutputDebugStringA
push 0x13184970
call sub.kernel32.dll_OutputDebugStringA
push 0x13184998
call sub.kernel32.dll_OutputDebugStringA
push 0x7d0
call sub.kernel32.dll_Sleep_2
mov eax, 0x1318bd8c
call fcn.1317fe74
test al, al
je 0x131848ae
mov edx, 0x1318bbf8
mov ecx, 0x64
mov eax, dword [0x1318bd8c]
call fcn.1317ff58
mov eax, dword [0x1318bbf8]
call fcn.131835a4
mov eax, dword [0x1318bbfc]
call fcn.1317c0c0
mov dword [0x13186cf0], eax
mov eax, 0x13186cec
mov edx, dword [0x1318bc00]
call fcn.13145194
mov eax, dword [esi]
add eax, 0x20
mov edx, dword [0x1318bc04]
call fcn.13145194
mov eax, dword [esi]
add eax, 0x14
mov edx, dword [0x1318bc08]
call fcn.13145194
mov eax, dword [esi]
add eax, 0x18
mov edx, dword [0x1318bc0c]
call fcn.13145194
mov eax, dword [esi]
add eax, 0x1c
mov edx, dword [0x1318bc10]
call fcn.13145194
mov eax, 0x13186cf4
mov edx, dword [0x1318bc34]
call fcn.13145194
mov eax, dword [0x1318bc14]
mov edx, 0x131849c4
call fcn.13145568
jne 0x13184760
mov eax, dword [esi]
mov byte [eax + 4], 1
jmp 0x13184766
mov eax, dword [esi]
mov byte [eax + 4], 0
mov eax, dword [0x1318bc18]
mov edx, 0x131849c4
call fcn.13145568
jne 0x1318477f
mov eax, dword [esi]
mov byte [eax + 5], 1
jmp 0x13184785
mov eax, dword [esi]
mov byte [eax + 5], 0
mov eax, dword [0x1318bc1c]
mov edx, 0x131849c4
call fcn.13145568
jne 0x1318479e
mov eax, dword [esi]
mov byte [eax + 7], 1
jmp 0x131847a4
mov eax, dword [esi]
mov byte [eax + 7], 0
mov eax, dword [0x1318bc20]
mov edx, 0x131849c4
call fcn.13145568
jne 0x131847bd
mov eax, dword [esi]
mov byte [eax + 6], 1
jmp 0x131847c3
mov eax, dword [esi]
mov byte [eax + 6], 0
mov eax, dword [0x1318bc24]
call fcn.131455d0
push eax
push 0xffffffffffffffff
push 0
call fcn.13147284
call sub.kernel32.dll_GetLastError_1
cmp eax, 0xb7
jne 0x131847ea
push 0
call sub.kernel32.dll_ExitProcess_1
mov eax, dword [esi]
add eax, 0x24
mov edx, dword [0x1318bc24]
call fcn.13145194
mov eax, dword [0x1318bc28]
mov edx, 0x131849c4
call fcn.13145568
jne 0x13184813
mov eax, dword [esi]
mov byte [eax + 0xa], 1
jmp 0x13184819
mov eax, dword [esi]
mov byte [eax + 0xa], 0
mov eax, dword [0x1318bc2c]
mov edx, 0x131849c4
call fcn.13145568
jne 0x13184832
mov eax, dword [esi]
mov byte [eax + 9], 1
jmp 0x13184838
mov eax, dword [esi]
mov byte [eax + 9], 0
mov eax, dword [0x1318bc30]
mov edx, 0x131849c4
call fcn.13145568
jne 0x13184851
mov eax, dword [esi]
mov byte [eax + 8], 1
jmp 0x13184857
mov eax, dword [esi]
mov byte [eax + 8], 0
mov eax, dword [0x1318bc38]
mov edx, 0x131849c4
call fcn.13145568
jne 0x13184870
mov eax, dword [esi]
mov byte [eax + 0xb], 1
jmp 0x13184876
mov eax, dword [esi]
mov byte [eax + 0xb], 0
mov eax, dword [0x1318bc3c]
mov edx, 0x131849c4
call fcn.13145568
jne 0x1318488f
mov eax, dword [esi]
mov byte [eax + 0xc], 1
jmp 0x13184895
mov eax, dword [esi]
mov byte [eax + 0xc], 0
mov eax, dword [esi]
add eax, 0x10
mov edx, dword [0x13186cfc]
call fcn.13145194
mov eax, dword [esi]
call fcn.1317b098
jmp 0x131848b8
mov eax, 0x131849d0
call fcn.131835a4
call fcn.13183b24
xor eax, eax
mov dword [0x1318bbf0], eax
mov dword [0x1318bbe8], 0xffffffff
call fcn.13183668
push 0x1318bbe8
push 0
push 0
push 0x13183c70
push 0
push 0
call sub.kernel32.dll_CreateThread
mov eax, dword [esi]
cmp byte [eax + 8], 0
je 0x1318490a
mov eax, dword [0x1318bb8c]
call fcn.1317fadc
jmp 0x1318490a
push ebx
call sub.user32.dll_TranslateMessage
push ebx
call sub.user32.dll_DispatchMessageA
push 0
push 0
push 0
push ebx
call sub.user32.dll_GetMessageA
test eax, eax
jne 0x131848fe
mov eax, dword [ebx + 8]
call fcn.13145128
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x13184937
ret