Function at 0x10003dd0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x180
mov eax, dword [0x10054670]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
call fcn.100038c0
cmp eax, 1
je 0x10003dfe
mov eax, 0x10056f4c
mov ecx, 0x10056f6c
call fcn.10004600
call fcn.10003620
fldz
fstp dword [ebp - 4]
mov byte [ebp - 0x30], 0x85
mov byte [ebp - 0x2f], 0xc0
mov byte [ebp - 0x2e], 0x75
mov byte [ebp - 0x2d], 0
mov byte [ebp - 0x2c], 0x8b
mov byte [ebp - 0x2b], 0x4e
mov byte [ebp - 0x2a], 0
mov byte [ebp - 0x29], 0xe8
mov byte [ebp - 0x28], 0
mov byte [ebp - 0x27], 0
mov byte [ebp - 0x26], 0
mov byte [ebp - 0x25], 0
mov byte [ebp - 0x24], 0x83
mov byte [ebp - 0x23], 0x4d
mov byte [ebp - 0x22], 0
mov byte [ebp - 0x21], 0
mov byte [ebp - 0x20], 0x8b
mov byte [ebp - 0x1f], 0
mov byte [ebp - 0x1e], 0
mov byte [ebp - 0x1c], 0
mov byte [ebp - 0x1b], 0
mov byte [ebp - 0x1a], 0
mov byte [ebp - 0x19], 1
mov byte [ebp - 0x18], 0
mov byte [ebp - 0x17], 0
mov byte [ebp - 0x16], 1
mov byte [ebp - 0x15], 0
mov byte [ebp - 0x14], 1
mov byte [ebp - 0x13], 1
mov byte [ebp - 0x12], 1
mov byte [ebp - 0x11], 1
mov byte [ebp - 0x10], 0
mov byte [ebp - 0xf], 0
mov byte [ebp - 0xe], 1
mov byte [ebp - 0xd], 1
mov byte [ebp - 0xc], 0
mov byte [ebp - 0xb], 1
mov byte [ebp - 0xa], 1
push 0x13
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x30]
push ecx
call fcn.1000a7e0
add esp, 0xc
mov dword [ebp - 0x13c], eax
cmp dword [ebp - 0x13c], 0
jne 0x10003ef7
mov edx, dword [ebp - 0x13c]
push edx
push str.failed_1
lea eax, [ebp - 0x138]
push eax
call fcn.10010540
add esp, 0xc
push 0
push str.ERROR
lea ecx, [ebp - 0x138]
push ecx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x1000422c
mov edx, dword [ebp - 0x13c]
sub edx, 5
mov dword [ebp - 0x13c], edx
push 0
push 4
lea eax, [ebp - 0x34]
push eax
mov ecx, dword [ebp - 0x13c]
add ecx, 1
push ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
or edx, 0xffffffff
sub edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x13c]
sub eax, edx
add eax, 4
mov dword [0x10056de4], eax
mov ecx, 0x10002ef0
sub ecx, dword [ebp - 0x13c]
sub ecx, 5
mov dword [ebp - 0x34], ecx
push 0
push 4
lea edx, [ebp - 0x34]
push edx
mov eax, dword [ebp - 0x13c]
add eax, 1
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov byte [ebp - 0x15c], 0x85
mov byte [ebp - 0x15b], 0xc9
mov byte [ebp - 0x15a], 0
mov byte [ebp - 0x159], 0
mov byte [ebp - 0x158], 0xff
mov byte [ebp - 0x157], 0x75
mov byte [ebp - 0x156], 0
mov byte [ebp - 0x155], 0x57
mov byte [ebp - 0x154], 0xe8
mov byte [ebp - 0x153], 0
mov byte [ebp - 0x152], 0
mov byte [ebp - 0x151], 0
mov byte [ebp - 0x150], 0
mov byte [ebp - 0x14f], 0x89
mov byte [ebp - 0x14e], 0x45
mov byte [ebp - 0x14c], 0
mov byte [ebp - 0x14b], 0
mov byte [ebp - 0x14a], 1
mov byte [ebp - 0x149], 1
mov byte [ebp - 0x148], 0
mov byte [ebp - 0x147], 0
mov byte [ebp - 0x146], 1
mov byte [ebp - 0x145], 0
mov byte [ebp - 0x144], 0
mov byte [ebp - 0x143], 1
mov byte [ebp - 0x142], 1
mov byte [ebp - 0x141], 1
mov byte [ebp - 0x140], 1
mov byte [ebp - 0x13f], 0
mov byte [ebp - 0x13e], 0
push 0xf
lea ecx, [ebp - 0x14c]
push ecx
lea edx, [ebp - 0x15c]
push edx
call fcn.1000a7e0
add esp, 0xc
mov dword [ebp - 0x13c], eax
cmp dword [ebp - 0x13c], 0
jne 0x1000409a
mov eax, dword [ebp - 0x13c]
push eax
push str.failed_2
lea ecx, [ebp - 0x138]
push ecx
call fcn.10010540
add esp, 0xc
push 0
push str.ERROR
lea edx, [ebp - 0x138]
push edx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x1000422c
mov eax, dword [ebp - 0x13c]
add eax, 8
mov dword [ebp - 0x13c], eax
push 0
push 4
lea ecx, [ebp - 0x34]
push ecx
mov edx, dword [ebp - 0x13c]
add edx, 1
push edx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
or eax, 0xffffffff
sub eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x13c]
sub ecx, eax
add ecx, 4
mov dword [0x10056df8], ecx
xor edx, edx
mov dword [0x10056e20], edx
mov dword [0x10056e24], edx
mov dword [0x10056e28], edx
mov dword [0x10056e2c], edx
mov dword [0x10056e30], edx
mov dword [0x10056e34], edx
mov dword [0x10056e38], edx
mov dword [0x10056e3c], edx
call fcn.10002c40
mov dword [0x10056df0], eax
call fcn.10003190
push 0x10001e40
push str._snprintf
push str.msvcr90.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, 0x10056dd4
mov ebx, eax
call fcn.10009c10
add esp, 4
push 0x10002020
push str.connect
push str.ws2_32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, 0x10056e14
mov ebx, eax
call fcn.10009c10
add esp, 4
cmp dword [0x10056e70], 0
jne 0x100041aa
push 0x10001df0
push str.LoadLibraryExW
push str.kernelbase.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, 0x10056dcc
mov ebx, eax
call fcn.10009c10
add esp, 4
call fcn.10003250
push 0x10056dec
push 0
push 0
push 0x100032c0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [0x10056ddc], eax
push 0x10056dfc
push 0
push 0
push 0x10003ac0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [0x10056e1c], eax
push 0x10056e40
push 0
push 0
push 0x10003d80
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [0x10056df4], eax
mov eax, dword [0x10056ddc]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x10056e1c]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [0x10056df4]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.100102d0
mov esp, ebp
pop ebp
ret