Function at 0x406dff
Capabilities:
Create process on windows
Create process suspended

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x1d0
mov esi, esp
mov dword [esi + 0x1b8], ebp
lea eax, [esi + 0x1c0]
mov dword [esi + 0x14], ecx
mov dword [esi + 0x10], edx
mov dword [eax - 4], esp
or dword [eax + 8], 0xffffffff
mov dword [eax + 4], 0x4e8b10
mov ecx, dword fs:[0]
mov dword [eax], ecx
mov dword fs:[0], eax
and dword [esi + 0x48], 0
xor eax, eax
lea ecx, [esi + 0x3c]
and dword [esi + 0x54], 0
inc eax
and dword [ecx], 0
mov dword [esi + 0x4c], eax
mov dword [esi + 0x58], eax
mov dword [ecx + 4], eax
and dword [esi + 0x50], 0
and dword [esi + 0x5c], 0
and dword [ecx + 8], 0
call dword [sym.imp.kernel32.dll_GetTickCount]
lea ebx, [esi + 0xb0]
lea edx, [esi + 0x6c]
mov ecx, ebx
mov dword [edx], eax
call fcn.00401c20
mov edi, dword [ebx + 4]
mov edx, dword [ebx + 8]
lea ecx, [esi + 0x3c]
add edx, edi
push edi
call fcn.00416a75
pop eax
mov ecx, dword [ebx]
mov edx, edi
call fcn.0043d0cd
lea ecx, [esi + 0x3c]
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 8]
lea ecx, [esi + 0x20]
and dword [ecx], 0
mov dword [esi + 0x18], eax
lea edi, [eax + edx]
xor eax, eax
add edx, 3
inc eax
shr edx, 2
mov dword [ecx + 4], eax
and dword [ecx + 8], 0
call fcn.004e817e
cmp edi, dword [esi + 0x18]
je 0x40700c
mov al, byte [edi - 1]
test al, al
js 0x406ed8
dec edi
movzx ebx, al
jmp 0x406f31
movzx ecx, byte [edi - 2]
cmp cl, 0xc0
jge 0x406efe
movzx edx, byte [edi - 3]
cmp dl, 0xc0
jge 0x406f06
movzx ebx, byte [edi - 4]
and edx, 0x3f
add edi, 0xfffffffc
and ebx, 7
shl ebx, 6
or edx, ebx
jmp 0x406f0c
add edi, 0xfffffffe
and ecx, 0x1f
jmp 0x406f14
add edi, 0xfffffffd
and edx, 0xf
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov edx, ecx
and al, 0x3f
shl edx, 6
movzx ebx, al
or ebx, edx
cmp ebx, 0x110000
je 0x40700c
cmp ebx, 0x7f
ja 0x406f53
mov edx, dword [esi + 0x28]
cmp edx, dword [esi + 0x20]
jne 0x406f44
lea ecx, [esi + 0x20]
call fcn.004df13c
mov edx, dword [esi + 0x28]
mov eax, dword [esi + 0x24]
mov byte [eax + edx], bl
inc edx
mov dword [esi + 0x28], edx
jmp 0x406ec2
and dword [esi + 0xb0], 0
cmp ebx, 0x800
jae 0x406f77
or cl, 0xc0
or al, 0x80
mov byte [esi + 0xb0], cl
mov byte [esi + 0xb1], al
push 2
jmp 0x406fd8
mov edx, ecx
cmp ebx, 0x10000
jae 0x406fa5
shr edx, 6
and cl, 0x3f
or al, 0x80
or dl, 0xe0
or cl, 0x80
mov byte [esi + 0xb0], dl
mov byte [esi + 0xb1], cl
mov byte [esi + 0xb2], al
push 3
jmp 0x406fd8
shr edx, 0xc
or al, 0x80
or dl, 0xf0
mov byte [esi + 0xb0], dl
mov edx, ecx
and cl, 0x3f
shr edx, 6
or cl, 0x80
and dl, 0x3f
or dl, 0x80
mov byte [esi + 0xb1], dl
mov byte [esi + 0xb2], cl
mov byte [esi + 0xb3], al
push 4
pop eax
lea ecx, [esi + 0x20]
mov edx, eax
mov dword [esi + 0xc], eax
call fcn.004e817e
mov ebx, dword [esi + 0x28]
mov eax, dword [esi + 0x24]
add eax, ebx
push dword [esi + 0xc]
lea ecx, [esi + 0xb0]
push ecx
push eax
call fcn.004fea40
add esp, 0xc
add ebx, dword [esi + 0xc]
mov dword [esi + 0x28], ebx
jmp 0x406ec2
mov ecx, dword [esi + 0x24]
mov edx, dword [esi + 0x28]
mov dword [esi + 0x1c], ecx
call fcn.0040232b
lea ebx, [esi + 0x6c]
mov edi, eax
mov dword [esi + 0x38], edx
and dword [ebx], 0
mov dword [ebx + 4], 1
and dword [ebx + 8], 0
call fcn.0043eef9
mov ecx, dword [esi + 0x38]
mov dword [esi + 0xc], eax
lea eax, [esi + 0x60]
add ecx, edi
mov dword [eax], ecx
mov dword [eax + 4], edi
lea ecx, [esi + 0x60]
call fcn.00403d03
cmp eax, 0x110000
je 0x4070a0
mov ecx, ebx
mov edx, eax
call fcn.00403181
mov ecx, dword [esi + 0xc]
call fcn.00402f25
movzx eax, al
mov cl, 0xa
div cl
lea ecx, [esi + 0xb0]
movzx edx, ah
call fcn.00401c67
mov edi, dword [esi + 0xb4]
mov edx, dword [esi + 0xb8]
mov ecx, ebx
add edx, edi
push edi
call fcn.00416a75
pop eax
mov ecx, dword [esi + 0xb0]
mov edx, edi
call fcn.0043d0cd
jmp 0x407045
mov ebx, dword [esi + 0x70]
lea edi, [esi + 0xb0]
mov ecx, edi
mov edx, ebx
push dword [esi + 0x74]
call fcn.00416640
pop eax
mov ecx, dword [esi + 0xc]
call fcn.0043d4fa
mov ecx, dword [esi + 0x6c]
mov edx, ebx
call fcn.0043d0cd
mov ecx, dword [esi + 0x20]
mov edx, dword [esi + 0x1c]
call fcn.0043d0cd
mov ecx, dword [esi + 0x3c]
mov edx, dword [esi + 0x18]
call fcn.0043d0cd
mov eax, edi
mov edi, dword [edi + 4]
lea ecx, [esi + 0x48]
mov edx, dword [eax + 8]
mov ebx, eax
add edx, edi
push edi
call fcn.00416a75
pop eax
mov ecx, dword [ebx]
mov edx, edi
call fcn.0043d0cd
lea edi, [esi + 0x60]
mov eax, dword [esi + 0x14]
mov edx, dword [esi + 0x10]
and dword [edi], 0
mov dword [edi + 4], 1
and dword [edi + 8], 0
mov ecx, edi
add edx, eax
push eax
call fcn.00416a75
pop eax
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov ecx, edi
add edx, eax
push eax
call fcn.00416a75
pop eax
mov ebx, dword [edi + 8]
mov edx, dword [edi + 4]
lea edi, [esi + 0xb0]
mov ecx, edi
mov dword [esi + 0x14], edx
mov dword [esi + 0xc], ebx
push ebx
call fcn.004ca0d0
pop eax
mov eax, dword [edi]
xor eax, 2
or eax, dword [edi + 4]
jne 0x4071a7
mov eax, dword [esi + 0xb8]
cmp al, 4
je 0x4071c8
cmp al, 3
jne 0x40757e
mov ecx, dword [esi + 0xbc]
mov eax, dword [ecx]
mov dword [esi + 0xc], ecx
mov ecx, dword [ecx + 4]
and dword [esi + 0x1c8], 0
push eax
call dword [ecx]
add esp, 4
mov edi, dword [esi + 0xc]
mov eax, dword [edi + 4]
cmp dword [eax + 4], 0
je 0x407198
mov edx, dword [eax + 8]
mov ecx, dword [edi]
call fcn.004147c0
push 4
pop edx
mov ecx, edi
call fcn.004147c0
jmp 0x40757e
mov eax, dword [esi + 0xf0]
bt eax, 0xa
setae cl
bt dword [esi + 0xf4], 0x1d
setae dl
or dl, cl
test al, 0x10
sete ah
and ah, dl
test ah, ah
je 0x40757e
lea edi, [esi + 0xb0]
mov edx, 0x5128a0
mov ecx, edi
push 0x43
call fcn.004110e9
pop eax
mov eax, edi
mov edi, dword [edi + 4]
lea ebx, [esi + 0x54]
mov edx, dword [eax + 8]
mov ecx, ebx
add edx, edi
push edi
call fcn.00416a75
pop eax
lea eax, [esi + 0xb0]
mov edx, edi
mov ecx, dword [eax]
call fcn.0043d0cd
mov edi, dword [esi + 0x14]
mov eax, dword [esi + 0xc]
mov ecx, ebx
lea edx, [edi + eax]
mov dword [esi + 0x10], edx
push edi
call fcn.00416a75
pop eax
mov eax, 0x540988
lea edx, [0x54098a]
mov ecx, ebx
push eax
call fcn.00416a75
pop eax
mov eax, dword [esi + 0x4c]
mov edi, dword [esi + 0x50]
mov ecx, ebx
add edi, eax
mov dword [esi + 0x18], eax
mov edx, edi
push eax
call fcn.00416a75
pop eax
mov eax, 0x540978
lea edx, [0x540979]
mov ecx, ebx
push eax
call fcn.00416a75
pop eax
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp + 0x14]
lea ecx, [esi + 0x54]
lea edx, [ebx + eax]
mov dword [esi + 0x1c], edx
push ebx
call fcn.00416a75
pop eax
lea ebx, [esi + 0x3c]
lea edx, [0x547eed]
and dword [ebx], 0
xor eax, eax
mov ecx, ebx
inc eax
mov dword [ebx + 4], eax
and dword [ebx + 8], 0
mov eax, str._.cargo_registry_srcindex.crates.io_1cd66030c949c28d_tokio_1.28.2_srcutilwake_list.rs
push eax
call fcn.00416a75
pop eax
mov edx, dword [esi + 0x10]
mov ecx, ebx
push dword [esi + 0x14]
call fcn.00416a75
pop eax
mov eax, 0x540988
mov ecx, ebx
lea edx, [0x54098a]
push eax
call fcn.00416a75
pop eax
mov ecx, ebx
mov edx, edi
push dword [esi + 0x18]
call fcn.00416a75
pop eax
mov eax, 0x540978
mov ecx, ebx
lea edx, [0x540979]
push eax
call fcn.00416a75
pop eax
mov edx, dword [esi + 0x1c]
mov ecx, ebx
push dword [ebp + 0x10]
call fcn.00416a75
pop eax
mov edx, dword [ebx + 4]
lea edi, [esi + 0x7c]
mov ecx, edi
mov dword [esi + 0x10], edx
push dword [ebx + 8]
call fcn.004d0c50
pop eax
mov byte [edi + 0x10], 0
mov byte [edi - 4], 2
lea ecx, [esi + 0x90]
pxor xmm0, xmm0
mov eax, dword [edi + 8]
mov ebx, dword [edi + 4]
movdqa xmmword [esi + 0x20], xmm0
mov dword [esi + 0x34], eax
lea eax, [esi + 0xb0]
and dword [eax + 8], 0
and dword [eax + 4], 0
and dword [eax + 0x10], 0
and dword [eax + 0xc], 0
and dword [eax + 0x18], 0
and dword [eax + 0x14], 0
and dword [eax + 0x20], 0
and dword [eax + 0x1c], 0
and dword [eax + 0x28], 0
and dword [eax + 0x24], 0
and dword [eax + 0x30], 0
and dword [eax + 0x2c], 0
and dword [eax + 0x38], 0
and dword [eax + 0x34], 0
and dword [eax + 0x40], 0
and dword [eax + 0x3c], 0
xor edi, edi
mov dword [eax], 0x44
inc edi
mov dword [ecx], edi
and dword [ecx + 4], 0
call fcn.0040384c
mov edx, dword [esi + 0x34]
mov ecx, ebx
mov dword [esi + 0x38], eax
mov dword [esi + 0x1c], ebx
call fcn.004e80d7
lea ecx, [esi + 0x98]
mov dword [ecx], 2
mov dword [ecx + 4], eax
call fcn.0040384c
lea ecx, [esi + 0xa0]
mov dword [esi + 0x34], eax
and dword [ecx + 4], 0
mov dword [ecx], edi
call fcn.0040384c
lea ecx, [esi + 0xa8]
mov ebx, eax
mov dword [ecx], edi
and dword [ecx + 4], 0
call fcn.0040384c
lea ecx, [esi + 0x20]
push ecx
lea ecx, [esi + 0xb0]
push ecx
push eax
push 0
push 0
push ebx
push 0
push 0
push dword [esi + 0x34]
push dword [esi + 0x38]
call dword [sym.imp.kernel32.dll_CreateProcessW]
test eax, eax
je 0x407558
lea edi, [esi + 0x6c]
mov edx, dword [esi + 0x1c]
mov ecx, dword [edi + 0x10]
call fcn.0043d0cd
mov ecx, edi
call fcn.00487cab
mov ecx, dword [esi + 0x3c]
mov edx, dword [esi + 0x10]
call fcn.0043d0cd
cmp dword [ebp + 0x14], 0
je 0x4075b7
push 0x2ee0
call dword [sym.imp.kernel32.dll_Sleep]
lea ebx, [esi + 0x6c]
xor eax, eax
lea edi, [esi + 0xb0]
and dword [ebx + 5], 0
mov byte [ebx + 4], al
mov word [ebx + 2], 2
mov byte [ebx + 9], al
mov byte [ebx], 2
and word [ebx + 0xa], 0
mov ecx, edi
mov edx, ebx
mov byte [ebx + 0xc], al
call fcn.004d47cf
mov ecx, edi
call fcn.004d5e04
mov ecx, edi
xor edx, edx
call fcn.004d5ed5
mov ecx, dword [edi + 0xe4]
mov edx, dword [edi + 0xe8]
call fcn.004d61e6
mov ecx, edi
mov edx, 0x10101
call fcn.004d656a
mov ecx, dword [edi + 0xf0]
mov edx, dword [edi + 0xf4]
call fcn.004d6b60
lea edi, [esi + 0xd0]
mov ecx, edi
call fcn.004d6409
mov edx, dword [esi + 0x14]
lea ecx, [esi + 0x3c]
push dword [esi + 0xc]
call fcn.00415dd0
pop eax
mov eax, dword [edi - 4]
lea ecx, [eax + 0x10]
movdqa xmm0, xmmword [eax]
mov dword [ebx], ecx
mov ecx, dword [edi - 0x10]
lea ecx, [ecx + eax + 1]
mov dword [ebx + 4], ecx
mov ecx, dword [edi - 8]
mov dword [ebx + 8], eax
pmovmskb eax, xmm0
not eax
mov word [ebx + 0xc], ax
mov dword [ebx + 0x10], ecx
lea ecx, [esi + 0x3c]
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], ecx
lea ecx, [esi + 0x6c]
call fcn.00401079
test eax, eax
setne al
mov dword [esi + 0x18], eax
je 0x40753d
mov ecx, dword [edx + 0x24]
mov edx, dword [edx + 0x28]
call fcn.004d0bd0
mov ecx, eax
push 0x512890
call fcn.00402c67
pop ecx
mov edi, edx
lea ecx, [esi + 0x20]
mov edx, eax
push edi
call fcn.00415dd0
pop eax
mov edi, dword [esi + 0x24]
mov edx, dword [esi + 0x28]
mov ecx, edi
push dword [esi + 0x10]
push dword [esi + 0xc]
call fcn.004bd1ec
pop ecx
pop edx
mov ecx, dword [esi + 0x20]
mov edx, edi
mov ebx, eax
call fcn.0043d0cd
test bl, bl
je 0x4074e0
mov ecx, dword [esi + 0x3c]
mov edx, dword [esi + 0xc]
call fcn.0043d0cd
lea ecx, [esi + 0xb0]
call fcn.00401ed7
mov ebx, dword [esi + 0x18]
jmp 0x407580
call dword [sym.imp.kernel32.dll_GetLastError]
lea edi, [esi + 0x6c]
mov edx, dword [esi + 0x1c]
mov ecx, dword [edi + 0x10]
call fcn.0043d0cd
mov ecx, edi
call fcn.00487cab
mov ecx, dword [esi + 0x3c]
mov edx, dword [esi + 0x10]
call fcn.0043d0cd
xor ebx, ebx
mov ecx, dword [esi + 0x60]
mov edx, dword [esi + 0x14]
call fcn.0043d0cd
mov ecx, dword [esi + 0x54]
mov edx, dword [esi + 0x58]
call fcn.0043d0cd
mov ecx, dword [esi + 0x48]
mov edx, dword [esi + 0x4c]
call fcn.0043d0cd
mov eax, dword [esi + 0x1c0]
mov dword fs:[0], eax
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [esi + 0x60]
mov edx, dword [esi + 0x14]
call fcn.0043d0cd
mov ecx, dword [esi + 0x54]
mov edx, dword [esi + 0x58]
call fcn.0043d0cd
mov ecx, dword [esi + 0x48]
mov edx, dword [esi + 0x18]
call fcn.0043d0cd
xor ebx, ebx
jmp 0x4075a1