Function at 0x40e060
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42cb59
mov eax, dword fs:[0]
push eax
sub esp, 0x48c
mov eax, dword [0x43a680]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x18]
mov dword [ebp - 0x470], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x440], eax
mov eax, dword [ebp + 0x14]
mov esi, dword [edi]
mov dword [ebp - 0x478], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x474], edi
mov byte [0x43b8f1], 0
mov dword [ebp - 0x43c], eax
cmp esi, eax
je 0x40e10f
nop word [eax + eax]
cmp dword [esi + 4], 0
je 0x40e504
call sub.KERNEL32.dll_GetCurrentThreadId
cmp dword [esi + 4], eax
je 0x40e4fd
push 0
push dword [esi + 4]
push dword [esi]
call fcn.004106dd
add esp, 0xc
test eax, eax
jne 0x40e4f6
mov dword [esi], eax
mov dword [esi + 4], eax
add esi, 8
cmp esi, dword [ebp - 0x43c]
jne 0x40e0d0
mov edx, dword [edi]
mov ecx, dword [edi + 4]
cmp edx, ecx
je 0x40e134
mov eax, edx
nop word [eax + eax]
cmp dword [eax + 4], 0
jne 0x40e50b
add eax, 8
cmp eax, ecx
jne 0x40e120
mov dword [edi + 4], edx
lea ecx, [ebp - 0x46c]
call fcn.0040b150
mov eax, dword [ebp - 0x440]
mov dword [ebp - 4], 0
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x43c], edi
mov dword [ebp - 0x44c], eax
cmp edi, eax
je 0x40e374
push 0x60
call fcn.00411893
mov esi, eax
add esp, 4
mov dword [ebp - 0x488], esi
mov byte [ebp - 4], 1
test esi, esi
je 0x40e1be
xorps xmm0, xmm0
lea ecx, [esi + 0x24]
movq qword [esi], xmm0
mov dword [esi + 8], 0
mov dword [esi + 4], 1
mov dword [esi + 8], 1
mov dword [esi], vtable.._AV___Ref_count_obj2_UScreenInfo__A0x2cd55ac4___std__.0
movups xmm0, xmmword [edi]
movups xmmword [esi + 0xc], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [esi + 0x1c], xmm0
push dword [edi]
call fcn.00405d40
jmp 0x40e1c0
xor esi, esi
lea eax, [esi + 0xc]
mov dword [ebp - 0x48c], esi
mov dword [ebp - 0x490], eax
push dword [ebp + 0xc]
lea ecx, [eax + 0x18]
mov byte [ebp - 4], 2
push dword [ebp - 0x470]
call fcn.00406990
test al, al
je 0x40e451
push 0xc
mov byte [0x43b8f1], 1
call fcn.00411893
mov edi, eax
add esp, 4
test edi, edi
je 0x40e229
mov dword [edi], 0
mov dword [edi + 4], 0
test esi, esi
je 0x40e218
lock inc dword [esi + 4]
lea eax, [esi + 0xc]
mov dword [edi + 4], esi
mov dword [edi], eax
mov dword [edi + 8], 0x40ccc0
jmp 0x40e22b
xor edi, edi
lea ecx, [ebp - 0x440]
mov dword [ebp - 0x440], 0
call fcn.0040ba50
mov dword [ebp - 0x440], edi
lea eax, [ebp - 0x444]
mov byte [ebp - 4], 4
push eax
push 0
push edi
push 0x40a510
push 0
push 0
call fcn.004174e5
mov edi, eax
add esp, 0x18
mov dword [ebp - 0x448], edi
test edi, edi
je 0x40e510
mov ecx, dword [ebp - 0x474]
mov byte [ebp - 4], 5
mov edx, dword [ecx + 4]
cmp edx, dword [ecx + 8]
je 0x40e2a3
mov eax, dword [ebp - 0x444]
xorps xmm0, xmm0
movlpd qword [ebp - 0x448], xmm0
mov dword [edx], edi
mov dword [edx + 4], eax
add dword [ecx + 4], 8
jmp 0x40e2b0
lea eax, [ebp - 0x448]
push eax
push edx
call fcn.0040a360
cmp dword [ebp - 0x444], 0
mov byte [ebp - 4], 2
jne 0x40e50b
mov eax, dword [ebp - 0x43c]
mov eax, dword [eax]
mov dword [ebp - 0x484], eax
test esi, esi
je 0x40e2d7
lock inc dword [esi + 4]
lea eax, [esi + 0xc]
mov dword [ebp - 0x47c], esi
mov dword [ebp - 0x480], eax
lea eax, [ebp - 0x484]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0x498]
push eax
lea ecx, [ebp - 0x46c]
call fcn.0040a660
mov edi, dword [ebp - 0x47c]
test edi, edi
je 0x40e32e
or eax, 0xffffffff
lock xadd dword [edi + 4], eax
jne 0x40e32e
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [edi + 8], eax
jne 0x40e32e
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov byte [ebp - 4], 0
test esi, esi
je 0x40e359
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x40e359
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or ecx, 0xffffffff
mov eax, ecx
lock xadd dword [esi + 8], eax
jne 0x40e359
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov edi, dword [ebp - 0x43c]
add edi, 0x18
mov dword [ebp - 0x43c], edi
cmp edi, dword [ebp - 0x44c]
jne 0x40e165
mov edx, dword [ebp - 0x478]
lea eax, [ebp - 0x46c]
cmp edx, eax
je 0x40e41e
mov ecx, dword [edx + 4]
mov eax, dword [ebp - 0x468]
movss xmm1, dword [edx]
movss xmm0, dword [ebp - 0x46c]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x464]
mov dword [ebp - 0x468], ecx
mov ecx, dword [edx + 8]
mov dword [edx + 8], eax
mov eax, dword [ebp - 0x460]
mov dword [ebp - 0x464], ecx
mov ecx, dword [edx + 0xc]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 0x45c]
mov dword [ebp - 0x460], ecx
mov ecx, dword [edx + 0x10]
mov dword [edx + 0x10], eax
mov eax, dword [ebp - 0x458]
mov dword [ebp - 0x45c], ecx
mov ecx, dword [edx + 0x14]
mov dword [edx + 0x14], eax
mov eax, dword [ebp - 0x454]
mov dword [ebp - 0x458], ecx
mov ecx, dword [edx + 0x18]
mov dword [edx + 0x18], eax
mov eax, dword [ebp - 0x450]
mov dword [ebp - 0x454], ecx
mov ecx, dword [edx + 0x1c]
movss dword [edx], xmm0
movss dword [ebp - 0x46c], xmm1
mov dword [edx + 0x1c], eax
mov dword [ebp - 0x450], ecx
mov byte [ebp - 0x435], 1
lea ecx, [ebp - 0x46c]
call fcn.0040b6c0
mov al, byte [ebp - 0x435]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004118d1
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x414]
mov dword [ebp - 0x434], 1
mov dword [ebp - 0x430], str.C:BuildAgent_work1_s_agent_rcapi_sourcekvm_rckvmwin32_rckvm_app.cpp
mov dword [ebp - 0x42c], 0xf0
mov dword [ebp - 0x428], str.RCKvm
mov dword [ebp - 0x424], eax
mov byte [ebp - 0x420], 0
mov dword [ebp - 0x418], 0
mov dword [ebp - 0x41c], 0x400
push dword [edi]
lea eax, [ebp - 0x434]
mov byte [ebp - 4], 3
push str.Failed_to_open_screen__u
push eax
call fcn.00410070
add esp, 0xc
lea ecx, [ebp - 0x434]
call fcn.00410000
test esi, esi
je 0x40e4ea
or edi, 0xffffffff
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x40e4ea
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], edi
dec edi
jne 0x40e4ea
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 0x435], 0
jmp 0x40e425
push 2
call fcn.00410a11
push 5
call fcn.00410a11
push 1
call fcn.00410a11
call fcn.0041734d
push 6
mov dword [ebp - 0x444], 0
call fcn.00410a11
int3