Function at 0x5453e0
Capabilities:
Create thread
Resume thread

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea eax, [ebp - 0x30]
push ebx
sub esp, 0x44
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x542a30
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.kernel32.dll_CreateThread]
sub esp, 0x18
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x5f810b
mov dword [eax + 4], 0x324
xor eax, eax
test ebx, ebx
setne al
mov dword [esp + 4], str.Create_Thread_failed_n
xor esi, esi
mov dword [esp], eax
call fcn.00543700
mov eax, dword [0x890450]
test eax, eax
je 0x54549c
mov edx, dword [ebp - 0x30]
mov dword [esp + 4], 0
mov dword [esp], 0x1f03bf
mov dword [esp + 8], edx
call eax
sub esp, 0xc
mov esi, eax
call fcn.0057d110
mov dword [eax], 0x5f810b
mov dword [eax + 4], 0x329
xor eax, eax
test esi, esi
setne al
mov dword [esp + 4], str.OpenThread_returned_an_invalid_handle_n
mov dword [esp], eax
call fcn.00543700
call fcn.0057d110
lea edi, [ebp - 0x14]
mov dword [eax], 0x5f810b
mov dword [eax + 4], 0x32c
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_ResumeThread]
sub esp, 4
cmp eax, 1
sete al
mov dword [esp + 4], str.Resume_thread_returned_an_invalid_value_n
movzx eax, al
mov dword [esp], eax
call fcn.00543700
call fcn.0057d110
mov dword [eax], 0x5f810b
mov dword [eax + 4], 0x32d
mov dword [esp + 4], 0x1388
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_WaitForSingleObject]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 4], str.ResumeThread_didnt_work_n
movzx eax, al
mov dword [esp], eax
call fcn.00543700
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x2c], 0x63
mov dword [ebp - 0x28], 0x63
mov dword [ebp - 0x24], 0x63
mov dword [ebp - 0x20], 0x63
mov dword [ebp - 0x1c], 0x63
mov dword [ebp - 0x18], 0x63
mov dword [ebp - 0x14], 0x63
mov dword [ebp - 0x10], 0x63
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x24]
mov dword [esp + 8], eax
lea eax, [ebp - 0x2c]
mov dword [esp + 4], eax
mov eax, dword [sym.imp.kernel32.dll_GetThreadTimes]
mov dword [esp + 0x10], edi
mov dword [esp], ebx
mov dword [ebp - 0x38], eax
call eax
sub esp, 0x14
mov edx, eax
test eax, eax
jne 0x54558b
mov eax, dword fs:[0x18]
cmp dword [eax + 0x34], 0x78
je 0x5457b8
mov dword [ebp - 0x34], edx
call fcn.0057d110
mov dword [eax], 0x5f810b
mov dword [eax + 4], 0x33a
xor eax, eax
mov dword [esp + 4], str.GetThreadTimes_failed_n
mov edx, dword [ebp - 0x34]
test edx, edx
setne al
mov dword [esp], eax
call fcn.00543700
call fcn.0057d110
mov dword [eax], 0x5f810b
cmp dword [ebp - 0x2c], 0x63
mov dword [eax + 4], 0x33b
mov eax, 1
jne 0x5455e0
xor eax, eax
cmp dword [ebp - 0x28], 0x63
setne al
mov dword [esp], eax
mov dword [esp + 4], str.creationTime_was_invalid_n
call fcn.00543700
call fcn.0057d110
mov dword [eax], 0x5f810b
cmp dword [ebp - 0x24], 0x63
mov dword [eax + 4], 0x33d
mov eax, 1
jne 0x545616
xor eax, eax
cmp dword [ebp - 0x20], 0x63
setne al
mov dword [esp], eax
mov dword [esp + 4], str.exitTime_was_invalid_n
call fcn.00543700
call fcn.0057d110
mov dword [eax], 0x5f810b
cmp dword [ebp - 0x1c], 0x63
mov dword [eax + 4], 0x33f
mov eax, 1
jne 0x54564c
xor eax, eax
cmp dword [ebp - 0x18], 0x63
setne al
mov dword [esp], eax
mov dword [esp + 4], str.kernelTimewas_invalid_n
call fcn.00543700
call fcn.0057d110
mov dword [eax], 0x5f810b
cmp dword [ebp - 0x14], 0x63
mov dword [eax + 4], 0x341
mov eax, 1
jne 0x545682
xor eax, eax
cmp dword [ebp - 0x10], 0x63
setne al
mov dword [esp], eax
mov dword [esp + 4], str.userTime_was_invalid_n
call fcn.00543700
call fcn.0057d110
mov dword [eax], 0x5f810b
mov dword [eax + 4], 0x343
mov dword [esp], ebx
mov ebx, dword [sym.imp.kernel32.dll_CloseHandle]
call ebx
sub esp, 4
test eax, eax
setne al
mov dword [esp + 4], str.CloseHandle_failed_n
movzx eax, al
mov dword [esp], eax
call fcn.00543700
test esi, esi
je 0x545739
lea eax, [ebp - 0x1c]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x24]
mov dword [esp + 8], eax
lea eax, [ebp - 0x2c]
mov dword [esp + 4], eax
mov dword [esp], esi
mov eax, dword [ebp - 0x38]
call eax
mov edi, eax
mov eax, dword [0x8903e0]
sub esp, 0x14
test eax, eax
jne 0x545748
test edi, edi
jne 0x545790
mov dword [0x8903e0], 1
mov eax, 0x34c
call fcn.00542db0
mov dword [esp], esi
call ebx
sub esp, 4
test eax, eax
setne al
mov dword [esp + 4], str.CloseHandle_Failed_n
movzx eax, al
mov dword [esp], eax
call fcn.00543700
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, 0x348
js 0x545770
call fcn.00542db0
xor eax, eax
test edi, edi
mov dword [esp + 4], str.access_restrictions_not_obeyed_n
sete al
mov dword [esp], eax
call fcn.00543700
jmp 0x54570f
call fcn.00542db0
xor eax, eax
test edi, edi
mov dword [esp + 4], str.access_restrictions_obeyed_n
setne al
mov dword [esp], eax
call fcn.00543700
jmp 0x54570f
mov dword [0x8903e0], 0xffffffff
mov eax, 0x348
call fcn.00542db0
mov dword [esp], str.not_restricted__assuming_consistent_behaviour_n
call fcn.00543170
jmp 0x54570f
mov eax, 0x338
call fcn.00542db0
mov dword [esp], str.GetThreadTimes_is_not_implemented_n
call fcn.005436d0
test esi, esi
je 0x545739
mov ebx, dword [sym.imp.kernel32.dll_CloseHandle]
jmp 0x54570f