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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x422027
sub esp, 0x24
mov eax, dword [esp + 0x28]
test byte [eax], al
lea ecx, [eax + 4]
mov dword [esp + 0x20], ecx
mov dword [esp], ecx
call dbg.runtime.lock
mov eax, dword [esp + 0x28]
movzx ecx, byte [eax + 0xc]
test cl, cl
jne 0x422017
mov ecx, dword [eax + 0x10]
inc ecx
mov dword [eax + 0x10], ecx
mov ecx, dword [eax + 0x30]
lea edx, [eax + 0x30]
mov dword [esp + 0x1c], edx
test ecx, ecx
jne 0x421fd4
mov ecx, dword [eax + 0x64]
lea ebx, [eax + 0x64]
mov dword [esp + 0x18], ebx
test ecx, ecx
jne 0x421f8d
mov ecx, dword [esp + 0x30]
test ecx, ecx
xchg ebp, ebx
setne bl
xchg ebp, ebx
mov esi, dword [esp + 0x2c]
test esi, esi
xchg edi, ebx
setne bl
xchg edi, ebx
or ebp, edi
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x421f2c
mov ebp, dword [esp + 0x34]
cmp ebp, 0x72
jne 0x421f1b
mov dword [eax + 0x40], esi
mov dword [eax + 0x44], ecx
cmp ebp, 0x77
jne 0x421f0a
mov dword [eax + 0x74], esi
mov dword [eax + 0x78], ecx
mov ecx, dword [eax + 0x40]
mov ebp, dword [eax + 0x44]
test ecx, ecx
xchg esi, ebx
seta bl
xchg esi, ebx
test ebp, ebp
xchg edi, ebx
sete bl
xchg edi, ebx
and esi, edi
test ebp, ebp
xchg edi, ebx
setg bl
xchg edi, ebx
or edi, esi
xchg edi, eax
test al, al
xchg edi, eax
je 0x421de2
mov esi, dword [eax + 0x74]
cmp ecx, esi
sete cl
mov esi, dword [eax + 0x78]
cmp ebp, esi
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebp, ecx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x421dde
mov ecx, dword [0x5d9ed0]
test ecx, ecx
jne 0x421dc3
lea ecx, [0x52ecc0]
mov dword [eax + 0x30], ecx
mov ecx, dword [eax + 0x40]
mov edx, dword [eax + 0x44]
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], edx
lea ecx, [0x4f8a40]
mov dword [eax + 0x34], ecx
mov ecx, dword [0x5d9ed0]
lea edx, [eax + 0x38]
test ecx, ecx
jne 0x421dae
mov dword [eax + 0x38], eax
mov ecx, dword [eax + 0x10]
mov dword [eax + 0x3c], ecx
lea ecx, [eax + 0x18]
mov dword [esp], ecx
call dbg.runtime.addtimer
mov dword [esp + 0x10], 0
lea eax, [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], 0
call dbg.runtime.atomicstorep
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 0x40]
mov edx, dword [eax + 0x44]
test edx, edx
sete bl
test ecx, ecx
setb cl
and ecx, ebx
test edx, edx
setl dl
or edx, ecx
test dl, dl
jne 0x421d8c
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov edx, dword [eax + 0x74]
mov ebx, dword [eax + 0x78]
test edx, edx
setb dl
test ebx, ebx
xchg ebp, ebx
sete bl
xchg ebp, ebx
and edx, ebp
test ebx, ebx
setl bl
or ebx, edx
test bl, bl
jne 0x421d6d
mov eax, dword [esp + 0x20]
mov dword [esp], eax
call dbg.runtime.unlock
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x421d5b
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x421d49
add esp, 0x24
ret
mov dword [esp], eax
mov dword [esp + 4], 3
call dbg.runtime.netpollgoready
jmp 0x421d45
mov dword [esp], eax
mov dword [esp + 4], 3
call dbg.runtime.netpollgoready
jmp 0x421d3d
mov dword [esp], eax
mov dword [esp + 4], 0x77
mov byte [esp + 8], 0
call dbg.runtime.netpollunblock
mov eax, dword [esp + 0xc]
mov dword [esp + 0x10], eax
jmp 0x421d29
mov dword [esp], eax
mov dword [esp + 4], 0x72
mov byte [esp + 8], 0
call dbg.runtime.netpollunblock
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x28]
jmp 0x421d04
mov dword [esp], edx
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x28]
jmp 0x421cb0
mov dword [esp], edx
lea eax, [0x52ecc0]
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x28]
jmp 0x421c87
xchg edi, eax
test al, al
xchg edi, eax
je 0x421e35
mov ecx, dword [0x5d9ed0]
test ecx, ecx
jne 0x421eeb
lea ecx, [0x52ecc4]
mov dword [eax + 0x30], ecx
mov ecx, dword [eax + 0x44]
mov edx, dword [eax + 0x40]
mov dword [eax + 0x20], edx
mov dword [eax + 0x24], ecx
lea ecx, [0x4f8a40]
mov dword [eax + 0x34], ecx
mov edx, dword [0x5d9ed0]
lea ebp, [eax + 0x38]
test edx, edx
jne 0x421ed6
mov dword [eax + 0x38], eax
mov ecx, dword [eax + 0x10]
mov dword [eax + 0x3c], ecx
lea ecx, [eax + 0x18]
mov dword [esp], ecx
call dbg.runtime.addtimer
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 0x74]
mov edx, dword [eax + 0x78]
test ecx, ecx
seta cl
test edx, edx
sete bl
and ecx, ebx
test edx, edx
setg dl
or ecx, edx
test cl, cl
je 0x421cc1
mov ecx, dword [0x5d9ed0]
test ecx, ecx
jne 0x421eba
lea ecx, [0x52ecc8]
mov dword [eax + 0x64], ecx
mov ecx, dword [eax + 0x74]
mov edx, dword [eax + 0x78]
mov dword [eax + 0x54], ecx
mov dword [eax + 0x58], edx
lea ecx, [0x4f8a40]
mov dword [eax + 0x68], ecx
mov ecx, dword [0x5d9ed0]
lea edx, [eax + 0x6c]
test ecx, ecx
jne 0x421ea8
mov dword [eax + 0x6c], eax
mov ecx, dword [eax + 0x10]
mov dword [eax + 0x70], ecx
lea ecx, [eax + 0x4c]
mov dword [esp], ecx
call dbg.runtime.addtimer
jmp 0x421cc1
mov dword [esp], edx
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x28]
jmp 0x421e92
mov eax, dword [esp + 0x18]
mov dword [esp], eax
lea eax, [0x52ecc8]
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x28]
jmp 0x421e6d
mov dword [esp], ebp
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x28]
jmp 0x421e24
mov dword [esp], edx
lea eax, [0x52ecc4]
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x18]
jmp 0x421dfb
cmp ebp, 0xe9
je 0x421c1b
jmp 0x421c21
cmp ebp, 0xe9
je 0x421c0c
jmp 0x421c12
call dbg.runtime.nanotime
mov eax, dword [esp]
mov ecx, dword [esp + 0x2c]
cmp ecx, eax
setbe al
mov edx, dword [esp + 4]
mov ebx, dword [esp + 0x30]
cmp ebx, edx
xchg ebp, ebx
sete bl
xchg ebp, ebx
and eax, ebp
cmp ebx, edx
setl dl
or eax, edx
test al, al
je 0x421f76
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov esi, 0xffffffff
mov ecx, 0xffffffff
jmp 0x421bff
mov eax, dword [esp + 0x28]
mov ecx, ebx
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x2c]
jmp 0x421bff
lea ecx, [eax + 0x4c]
mov dword [esp], ecx
call dbg.runtime.deltimer
mov eax, dword [0x5d9ed0]
test eax, eax
jne 0x421fba
mov eax, dword [esp + 0x28]
mov dword [eax + 0x64], 0
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
jmp 0x421bd9
mov eax, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], 0
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x28]
jmp 0x421fad
lea ecx, [eax + 0x18]
mov dword [esp], ecx
call dbg.runtime.deltimer
mov eax, dword [0x5d9ed0]
test eax, eax
jne 0x421ffd
mov eax, dword [esp + 0x28]
mov dword [eax + 0x30], 0
mov edx, dword [esp + 0x1c]
jmp 0x421bc7
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
mov dword [esp + 4], 0
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x28]
jmp 0x421ff4
mov eax, dword [esp + 0x20]
mov dword [esp], eax
call dbg.runtime.unlock
add esp, 0x24
ret
call dbg.runtime.morestack_noctxt
jmp dbg.internal/poll.runtime_pollSetDeadline