Function at 0x436990
Capabilities:
Access peb ldr_data

Disassembly:
sub esp, 0x3c
mov eax, dword [esp + 0x44]
test eax, eax
jl 0x4369b9
nop
call sym.runtime.nanotime1
mov eax, dword [esp]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x1c], ecx
xor edx, edx
xor ebx, ebx
jmp 0x436a83
mov eax, dword [sym.imp.kernel32.dll_WaitForSingleObject]
mov ecx, dword [0x664c04]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x368]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xffffffff
call sym.runtime.stdcall2
mov eax, dword [esp + 0xc]
cmp eax, 0x80
ja 0x436a19
test eax, eax
je 0x436a0d
cmp eax, 0x80
jne 0x436a25
lea eax, [0x5434e0]
mov dword [esp], eax
call sym.runtime.systemstack
jmp 0x436a5f
mov dword [esp + 0x48], 0
add esp, 0x3c
ret
cmp eax, 0x102
je 0x436a6b
cmp eax, 0xffffffff
je 0x436a51
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
lea ecx, [sym.runtime.semasleep.func3]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], eax
lea eax, [esp + 0x34]
mov dword [esp], eax
call sym.runtime.systemstack
jmp 0x436a5f
lea eax, [0x5434e4]
mov dword [esp], eax
call sym.runtime.systemstack
mov dword [esp + 0x48], 0xffffffff
add esp, 0x3c
ret
mov dword [esp + 0x48], 0xffffffff
add esp, 0x3c
ret
mov edx, ecx
mov ebx, eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x40]
mov esi, ebp
sub ebp, ebx
mov ebx, dword [esp + 0x44]
mov edi, ebx
sbb ebx, edx
mov edx, 0x1e
xor edx, edx
mov dword [esp + 0x24], edx
mov edx, 0x1e
jmp 0x436bc8
test ebx, ebx
setg dl
sete bl
cmp ebp, 0xf4240
xchg ebp, ebx
setae bl
xchg ebp, ebx
and ebp, ebx
or ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x436ace
mov edx, 0x7fffffff
jmp 0x436ad2
mov edx, dword [esp + 0x24]
mov ebx, edx
sar edx, 0x1f
test edx, edx
sete dl
test ebx, ebx
xchg ebp, ebx
sete bl
xchg ebp, ebx
and edx, ebp
test dl, dl
je 0x436af0
mov ebx, 1
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov eax, dword [0x664c04]
mov eax, dword fs:[eax]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0x368]
mov dword [esp + 0x2c], eax
mov eax, dword [0x664c04]
mov eax, dword fs:[eax]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0x36c]
mov dword [esp + 0x30], eax
mov eax, dword [sym.imp.kernel32.dll_WaitForMultipleObjects]
lea ecx, [esp + 0x2c]
mov dword [esp], eax
mov dword [esp + 4], 2
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], ebx
call sym.runtime.stdcall4
mov eax, dword [esp + 0x14]
cmp eax, 1
jne 0x4369eb
call sym.runtime.nanotime1
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x18]
sub eax, edx
mov ebx, dword [esp + 0x1c]
sbb ecx, ebx
mov ebp, dword [esp + 0x44]
cmp ebp, ecx
xchg esi, ebx
setl bl
xchg esi, ebx
xchg edi, ebx
sete bl
xchg edi, ebx
mov ebx, dword [esp + 0x40]
cmp eax, ebx
setae dl
and edx, edi
or esi, edx
xchg esi, eax
test al, al
xchg esi, eax
je 0x436a77
jmp 0x436c58
dec ecx
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
mov dword [esp + 0x24], edx
mov ebx, eax
mov eax, dword [esp + 0x18]
mov edx, ecx
mov ecx, dword [esp + 0x1c]
test edx, edx
jl 0x436aa8
mov dword [esp + 0x28], edx
mov dword [esp + 0x20], ebx
mov ecx, edx
mov esi, 0xf4240
shl esi, cl
lea edi, [ecx - 0x20]
mov ecx, edi
mov eax, 0xf4240
shl eax, cl
neg ecx
mov ebx, 0xf4240
shr ebx, cl
cmp edx, 0x20
sbb edx, edx
and esi, edx
cmp ebp, esi
setae dl
cmp ecx, 0x20
sbb ecx, ecx
and ebx, ecx
cmp edi, 0x20
sbb edi, edi
and eax, edi
or ebx, eax
mov eax, dword [esp + 0x20]
cmp eax, ebx
xchg edi, ebx
sete bl
xchg edi, ebx
setg cl
and edi, edx
or ecx, edi
test cl, cl
je 0x436c4b
mov ecx, dword [esp + 0x28]
cmp ecx, 0x20
sbb edx, edx
mov edi, 1
shl edi, cl
and edi, edx
mov edx, dword [esp + 0x24]
or edx, edi
sub ebp, esi
sbb eax, ebx
jmp 0x436baf
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
jmp 0x436baf
mov dword [esp + 0x48], 0xffffffff
add esp, 0x3c
ret