Function at 0x100039a0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x17c
mov eax, dword [0x10054670]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
call fcn.10003880
cmp eax, 1
je 0x100039ce
mov eax, 0x10056f08
mov ecx, 0x10056f28
call fcn.10004170
call fcn.10003640
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.1000a320
add esp, 0xc
mov dword [ebp - 0x13c], eax
cmp dword [ebp - 0x13c], 0
jne 0x10003ac7
mov edx, dword [ebp - 0x13c]
push edx
push str.failed_1
lea eax, [ebp - 0x138]
push eax
call fcn.10010070
add esp, 0xc
push 0
push str.ERROR
lea ecx, [ebp - 0x138]
push ecx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x10003d92
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 [0x10056ddc], eax
mov ecx, 0x10002f00
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.1000a320
add esp, 0xc
mov dword [ebp - 0x13c], eax
cmp dword [ebp - 0x13c], 0
jne 0x10003c6a
mov eax, dword [ebp - 0x13c]
push eax
push str.failed_2
lea ecx, [ebp - 0x138]
push ecx
call fcn.10010070
add esp, 0xc
push 0
push str.ERROR
lea edx, [ebp - 0x138]
push edx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x10003d92
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 [0x10056de8], ecx
xor edx, edx
mov dword [0x10056df4], edx
mov dword [0x10056df8], edx
mov dword [0x10056dfc], edx
mov dword [0x10056e00], edx
mov dword [0x10056e04], edx
mov dword [0x10056e08], edx
mov dword [0x10056e0c], edx
mov dword [0x10056e10], edx
call fcn.10002c80
mov dword [0x10056de4], eax
call fcn.100031a0
push 0x10001e80
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.10009750
add esp, 4
push 0x10002060
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, 0x10056dec
mov ebx, eax
call fcn.10009750
add esp, 4
push 0x10001e30
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.10009750
add esp, 4
call fcn.10003260
push 0
push 0
push 0
push 0x100032d0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.1000fe00
mov esp, ebp
pop ebp
ret