Function at 0x100044a0
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.10003df0
cmp eax, 1
je 0x100044ce
mov eax, 0x10056f80
mov ecx, 0x10056fa0
call fcn.10004d00
call fcn.10003b50
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.1000abc0
add esp, 0xc
mov dword [ebp - 0x13c], eax
cmp dword [ebp - 0x13c], 0
jne 0x100045c7
mov edx, dword [ebp - 0x13c]
push edx
push str.failed_1
lea eax, [ebp - 0x138]
push eax
call fcn.10010930
add esp, 0xc
push 0
push str.ERROR
lea ecx, [ebp - 0x138]
push ecx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x10004925
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 [0x10056df0], eax
mov ecx, 0x10003420
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.1000abc0
add esp, 0xc
mov dword [ebp - 0x13c], eax
cmp dword [ebp - 0x13c], 0
jne 0x1000476a
mov eax, dword [ebp - 0x13c]
push eax
push str.failed_2
lea ecx, [ebp - 0x138]
push ecx
call fcn.10010930
add esp, 0xc
push 0
push str.ERROR
lea edx, [ebp - 0x138]
push edx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x10004925
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 [0x10056e04], ecx
xor edx, edx
mov dword [0x10056e48], edx
mov dword [0x10056e4c], edx
mov dword [0x10056e50], edx
mov dword [0x10056e54], edx
mov dword [0x10056e58], edx
mov dword [0x10056e5c], edx
mov dword [0x10056e60], edx
mov dword [0x10056e64], edx
call fcn.10003030
mov dword [0x10056df8], eax
call fcn.100036c0
push 0x10001eb0
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, 0x10056de0
mov ebx, eax
call fcn.10009f80
add esp, 4
push 0x10002090
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, 0x10056e24
mov ebx, eax
call fcn.10009f80
add esp, 4
cmp dword [0x10056ea0], 0
jne 0x1000487a
push 0x10001e60
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, 0x10056dd8
mov ebx, eax
call fcn.10009f80
add esp, 4
call fcn.10003780
push 0x10056df4
push 0
push 0
push 0x100037f0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [0x10056de8], eax
push 0x10056e0c
push 0
push 0
push 0x10003ff0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [0x10056e40], eax
push 0x10056e68
push 0
push 0
push 0x10004460
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [0x10056dfc], eax
push 0x10056e08
push 0
push 0
push 0x100041a0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [0x10056e00], eax
mov eax, dword [0x10056de8]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x10056e40]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [0x10056dfc]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x10056e00]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.100106c0
mov esp, ebp
pop ebp
ret