Function at 0x443be0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [0x61c868]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x44405b
sub esp, 0x60
mov eax, dword [0x61c868]
mov eax, dword fs:[eax]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0x58]
mov dword [esp], eax
call sym.runtime.puintptr.ptr
mov eax, dword [esp + 4]
mov dword [esp + 0x58], eax
xor ecx, ecx
xor edx, edx
mov ebx, dword [esp + 0x68]
xor ebp, ebp
mov esi, dword [esp + 0x64]
xor edi, edi
jmp 0x443c4a
mov eax, dword [esp + 0x2c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x50]
mov esi, dword [esp + 0x48]
movzx edi, byte [esp + 0x22]
cmp ecx, 4
jge 0x443cae
mov dword [esp + 0x2c], ecx
xchg edi, eax
mov byte [esp + 0x22], al
xchg edi, eax
mov dword [esp + 0x54], edx
mov dword [esp + 0x50], ebp
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x48], esi
call sym.runtime.cheaprand
mov eax, dword [esp]
lea ecx, [0x5fcca0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sym.runtime._randomOrder_.start
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x2c]
cmp ebp, 3
xchg esi, ebx
sete bl
xchg esi, ebx
xchg esi, eax
mov byte [esp + 0x21], al
xchg esi, eax
mov edi, 1
jmp 0x443d1b
mov dword [esp + 0x6c], 0
mov byte [esp + 0x70], 0
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x80], edx
xchg edi, eax
mov byte [esp + 0x84], al
xchg edi, eax
add esp, 0x60
ret
mov dword [esp + 0x54], eax
mov edi, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x48], ebp
xchg esi, eax
mov byte [esp + 0x22], al
xchg esi, eax
mov ebp, dword [esp + 0x2c]
movzx esi, byte [esp + 0x21]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x50], ebx
mov ebx, eax
mov eax, edi
movzx edi, byte [esp + 0x23]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], ebx
xchg edi, eax
test al, al
xchg edi, eax
je 0x443d35
xor eax, eax
jmp 0x443d4c
xchg edi, eax
mov byte [esp + 0x23], al
xchg edi, eax
lea eax, [esp + 0x30]
mov dword [esp], eax
call sym.runtime._randomEnum_.next
movzx eax, byte [esp + 0x23]
mov byte [esp + 0x23], al
lea ecx, [esp + 0x30]
mov dword [esp], ecx
call sym.runtime._randomEnum_.done
movzx eax, byte [esp + 4]
test al, al
jne 0x443c2a
lea eax, [0x5fef14]
mov dword [esp], eax
call sym.internal_runtime_atomic._Bool_.Load
movzx eax, byte [esp + 4]
test al, al
jne 0x44401f
lea eax, [esp + 0x30]
mov dword [esp], eax
call sym.runtime._randomEnum_.position
mov eax, dword [0x5fcbd8]
mov ecx, dword [esp + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x58]
cmp eax, ecx
jne 0x443dbf
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x48]
movzx esi, byte [esp + 0x22]
jmp 0x443cdb
mov dword [esp + 0x5c], eax
mov edx, dword [esp + 0x2c]
cmp edx, 3
je 0x443dd0
xor ebx, ebx
jmp 0x443e19
lea eax, [esp + 0x30]
mov dword [esp], eax
call sym.runtime._randomEnum_.position
mov eax, dword [0x5fcbf8]
mov ecx, dword [0x5fcbfc]
mov edx, dword [0x5fcc00]
mov ebx, dword [esp + 4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call sym.runtime.pMask.read
movzx eax, byte [esp + 0x10]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x2c]
mov ebx, eax
mov eax, dword [esp + 0x5c]
test bl, bl
jne 0x443e37
mov ecx, dword [esp + 0x54]
mov ebp, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x48]
movzx edx, byte [esp + 0x22]
jmp 0x443f0d
test byte [eax], al
lea ecx, [eax + 0x1198]
mov dword [esp], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 8], ecx
call sym.runtime._timers_.check
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test eax, eax
setne dl
test ecx, ecx
setne bl
or ebx, edx
test bl, bl
je 0x443eb0
mov edx, dword [esp + 0x54]
test edx, edx
sete bl
mov ebp, dword [esp + 0x50]
test ebp, ebp
xchg esi, ebx
sete bl
xchg esi, ebx
and ebx, esi
test bl, bl
jne 0x443eb8
cmp edx, ecx
setg bl
xchg esi, ebx
sete bl
xchg esi, ebx
cmp ebp, eax
xchg edi, ebx
seta bl
xchg edi, ebx
and edi, esi
or edi, ebx
xchg edi, eax
test al, al
xchg edi, eax
jne 0x443eb8
mov ecx, edx
mov eax, ebp
jmp 0x443eb8
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
movzx edx, byte [esp + 0x1c]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
test dl, dl
jne 0x443ed0
movzx edx, byte [esp + 0x22]
jmp 0x443f0d
mov dword [esp + 0x28], ebp
mov dword [esp + 0x24], ebx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x58]
mov dword [esp], eax
call sym.runtime.runqget
mov eax, dword [esp + 4]
test eax, eax
jne 0x443fdf
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x28]
mov edx, 1
mov byte [esp + 0x22], dl
mov dword [esp + 0x54], ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x48], ebx
lea esi, [esp + 0x30]
mov dword [esp], esi
call sym.runtime._randomEnum_.position
mov eax, dword [0x5fcbe8]
mov ecx, dword [0x5fcbec]
mov edx, dword [0x5fcbf0]
mov ebx, dword [esp + 4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call sym.runtime.pMask.read
movzx eax, byte [esp + 0x10]
test al, al
jne 0x443f85
mov eax, dword [esp + 0x58]
mov dword [esp], eax
mov ecx, dword [esp + 0x5c]
mov dword [esp + 4], ecx
movzx ecx, byte [esp + 0x21]
mov byte [esp + 8], cl
call sym.runtime.runqsteal
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x443fa3
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x48]
movzx esi, byte [esp + 0x22]
jmp 0x443cdb
mov dword [esp + 0x6c], eax
mov byte [esp + 0x70], 0
mov eax, dword [esp + 0x48]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x80], eax
movzx eax, byte [esp + 0x22]
mov byte [esp + 0x84], al
add esp, 0x60
ret
movzx ecx, byte [esp + 8]
mov dword [esp + 0x6c], eax
mov byte [esp + 0x70], cl
mov eax, dword [esp + 0x24]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x80], eax
movzx eax, byte [esp + 0x22]
mov byte [esp + 0x84], al
add esp, 0x60
ret
mov dword [esp + 0x6c], 0
mov byte [esp + 0x70], 0
mov eax, dword [esp + 0x48]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x80], eax
mov byte [esp + 0x84], 1
add esp, 0x60
ret
call sym.runtime.morestack_noctxt
jmp sym.runtime.stealWork