Function at 0x5242f0
Capabilities:
Resume thread
Terminate thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5a31e0
mov eax, dword fs:[0]
push eax
sub esp, 0x318
mov eax, dword [0x60ef40]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x5d520c
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x2e4], eax
cmp dword [ebp - 0x2e4], 0
jne 0x52434a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov eax, 0x1010000b
jmp 0x524647
push str.NtCreateThreadEx
mov edx, dword [ebp - 0x2e4]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x2f4], eax
cmp dword [ebp - 0x2f4], 0
jne 0x524380
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov eax, 0x10100001
jmp 0x524647
mov dword [ebp - 0x2e8], 0
movzx edx, byte [ebp + 0x18]
test edx, edx
je 0x5243d6
lea ecx, [ebp - 0x324]
call fcn.00523820
mov dword [ebp - 4], 0
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x324]
call fcn.00523920
lea ecx, [ebp - 0x324]
call fcn.00523d80
mov dword [ebp - 0x2e8], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x324]
call fcn.005238f0
mov dword [ebp - 0x300], 7
mov dword [ebp - 0x2e0], 0
movzx ecx, byte [ebp + 0x18]
test ecx, ecx
je 0x524400
mov edx, dword [ebp - 0x300]
mov dword [ebp - 0x2ec], edx
jmp 0x52440a
mov dword [ebp - 0x2ec], 0
movzx eax, byte [ebp + 0x18]
test eax, eax
je 0x524420
mov ecx, dword [ebp - 0x2e8]
mov dword [ebp - 0x2f0], ecx
jmp 0x524429
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x2f0], edx
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 0x2ec]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp - 0x2f0]
push edx
mov eax, dword [ebp + 8]
push eax
push 0
push 0x1fffff
lea ecx, [ebp - 0x2e0]
push ecx
call dword [ebp - 0x2f4]
mov dword [ebp - 0x2f8], eax
cmp dword [ebp - 0x2f8], 0
jl 0x524473
cmp dword [ebp - 0x2e0], 0
jne 0x524488
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp - 0x2f8]
mov dword [edx], eax
mov eax, 0x10100004
jmp 0x524647
movzx ecx, byte [ebp + 0x18]
test ecx, ecx
je 0x524592
push 0x2cc
push 0
lea edx, [ebp - 0x2dc]
push edx
call fcn.00537090
add esp, 0xc
mov dword [ebp - 0x2dc], 0x10002
lea eax, [ebp - 0x2dc]
push eax
mov ecx, dword [ebp - 0x2e0]
push ecx
call dword [sym.imp.KERNEL32.dll_GetThreadContext]
test eax, eax
jne 0x5244fd
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp + 0x14]
mov dword [edx], eax
push 0
mov eax, dword [ebp - 0x2e0]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateThread]
mov ecx, dword [ebp - 0x2e0]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0x10100005
jmp 0x524647
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x22c], edx
lea eax, [ebp - 0x2dc]
push eax
mov ecx, dword [ebp - 0x2e0]
push ecx
call dword [sym.imp.KERNEL32.dll_SetThreadContext]
test eax, eax
jne 0x52454f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp + 0x14]
mov dword [edx], eax
push 0
mov eax, dword [ebp - 0x2e0]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateThread]
mov ecx, dword [ebp - 0x2e0]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0x10100006
jmp 0x524647
mov edx, dword [ebp - 0x2e0]
push edx
call dword [sym.imp.KERNEL32.dll_ResumeThread]
cmp eax, 0xffffffff
jne 0x524592
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
push 0
mov edx, dword [ebp - 0x2e0]
push edx
call dword [sym.imp.KERNEL32.dll_TerminateThread]
mov eax, dword [ebp - 0x2e0]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0x10100007
jmp 0x524647
push 0x4e20
mov ecx, dword [ebp - 0x2e0]
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0x304], eax
cmp dword [ebp - 0x304], 0
je 0x5245e1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp + 0x14]
mov dword [edx], eax
push 0
mov eax, dword [ebp - 0x2e0]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateThread]
mov ecx, dword [ebp - 0x2e0]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0x10100009
jmp 0x524647
mov dword [ebp - 0x2fc], 0
lea edx, [ebp - 0x2fc]
push edx
mov eax, dword [ebp - 0x2e0]
push eax
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
mov dword [ebp - 0x308], eax
cmp dword [ebp - 0x308], 0
jne 0x52462d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2e0]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0x1010000a
jmp 0x524647
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 0x2fc]
mov dword [eax], ecx
mov edx, dword [ebp - 0x2e0]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00534c20
mov esp, ebp
pop ebp
ret