Function at 0x42f920
Capabilities:
Access peb ldr_data

Disassembly:
sub esp, 0x40
mov eax, dword [esp + 0x48]
test eax, eax
jl 0x42f949
nop
call fcn.0045f660
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 0x42fa13
mov eax, dword fs:[0x14]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov ecx, dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
mov eax, dword [eax + 0x1cc]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0xffffffff
call fcn.004304d0
mov eax, dword [esp + 0xc]
cmp eax, 0x80
ja 0x42f9ab
test eax, eax
je 0x42f99f
cmp eax, 0x80
jne 0x42f9b7
lea eax, [0x67b82c]
mov dword [esp], eax
call fcn.0045d1c0
jmp 0x42f9f1
mov dword [esp + 0x4c], 0
add esp, 0x40
ret
cmp eax, 0x102
je 0x42f9fd
cmp eax, 0xffffffff
je 0x42f9e3
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
lea ecx, [0x42fc10]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x38]
mov dword [esp], eax
call fcn.0045d1c0
jmp 0x42f9f1
lea eax, [0x67b830]
mov dword [esp], eax
call fcn.0045d1c0
mov dword [esp + 0x4c], 0xffffffff
add esp, 0x40
ret
mov dword [esp + 0x4c], 0xffffffff
add esp, 0x40
ret
mov ecx, dword [esp + 0x1c]
mov ebx, eax
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x44]
mov esi, ebp
sub ebp, ebx
mov ebx, dword [esp + 0x48]
mov edi, ebx
sbb ebx, edx
xor edx, edx
mov edx, 0x1e
mov dword [esp + 0x28], edx
xor edx, edx
jmp 0x42fb51
cmp ebp, 0xf4240
xchg ebp, ebx
setae bl
xchg ebp, ebx
test ebx, ebx
sete bl
xchg esi, ebx
setg bl
xchg esi, ebx
and ebp, ebx
or esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
je 0x42fa5d
mov edx, 0x7fffffff
test edx, edx
sete bl
mov ebp, edx
sar edx, 0x1f
test edx, edx
sete dl
and edx, ebx
test dl, dl
je 0x42fa77
mov ebp, 1
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov eax, dword fs:[0x14]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0x1cc]
mov dword [esp + 0x30], eax
mov eax, dword fs:[0x14]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0x1d0]
mov dword [esp + 0x34], eax
mov eax, dword [sym.imp.KERNEL32.DLL_WaitForMultipleObjects]
lea ecx, [esp + 0x30]
mov dword [esp], eax
mov dword [esp + 4], 2
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], ebp
call fcn.00430570
mov eax, dword [esp + 0x14]
cmp eax, 1
jne 0x42f97d
call fcn.0045f660
mov eax, dword [esp]
mov ecx, dword [esp + 0x18]
sub eax, ecx
mov edx, dword [esp + 4]
mov ebx, dword [esp + 0x1c]
sbb edx, ebx
mov ebp, dword [esp + 0x48]
cmp ebp, edx
xchg esi, ebx
setl bl
xchg esi, ebx
xchg edi, ebx
sete bl
xchg edi, ebx
mov ebx, dword [esp + 0x44]
cmp eax, ebx
setae cl
and ecx, edi
or esi, ecx
xchg esi, eax
test al, al
xchg esi, eax
je 0x42fa09
jmp 0x42fbf7
lea eax, [ecx - 1]
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x48]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x28]
test esi, esi
jl 0x42fa35
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], edx
lea edi, [esi - 0x20]
mov dword [esp + 0x2c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
cmp edi, 0x20
sbb eax, eax
mov edx, dword [esp + 0x2c]
cmp edx, 0x20
sbb ebp, ebp
mov ecx, edx
mov esi, 0xf4240
shl esi, cl
and esi, ebp
mov ecx, edi
mov edx, 0xf4240
shr edx, cl
and edx, eax
or edx, esi
mov dword [esp + 0x2c], edx
cmp ebx, edx
sete al
mov ecx, dword [esp + 0x28]
cmp ecx, 0x20
sbb ebp, ebp
mov esi, 0xf4240
shl esi, cl
and esi, ebp
mov ebp, dword [esp + 0x24]
cmp ebp, esi
xchg edi, ebx
setae bl
xchg edi, ebx
cmp ebx, edx
setg dl
and edi, eax
or edx, edi
test dl, dl
je 0x42fbee
sub ebp, esi
mov eax, dword [esp + 0x2c]
sbb ebx, eax
cmp ecx, 0x20
sbb edx, edx
mov eax, 1
shl eax, cl
and edx, eax
mov eax, dword [esp + 0x20]
or edx, eax
jmp 0x42fb3a
mov edx, dword [esp + 0x20]
jmp 0x42fb3a
mov dword [esp + 0x4c], 0xffffffff
add esp, 0x40
ret