Function at 0x423a30
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push 0xffffffffffffffff
push 0x465480
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x4835f0]
xor eax, esp
mov dword [esp + 0x30], eax
push ebp
push esi
mov eax, dword [0x4835f0]
xor eax, esp
push eax
lea eax, [esp + 0x40]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x50]
lea ecx, [esp + 0x10]
mov dword [esp + 0x48], 0
call fcn.00436588
push 0x473dfc
lea ecx, [esp + 0x10]
mov byte [esp + 0x4c], 1
call fcn.0040bad0
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x5c]
push edx
mov byte [esp + 0x54], 2
call fcn.00429b50
mov byte [esp + 0x54], 1
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
add esp, 0xc
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x423ac9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov word [esp + 0x30], ax
cmp dword [esp + 0x58], eax
je 0x423af2
push 0x4707b0
lea ecx, [esp + 0x2c]
push 0xa
push ecx
call fcn.0044acec
add esp, 0xc
mov eax, dword [esp + 0x18]
xor esi, esi
test eax, eax
jbe 0x423c39
test esi, esi
jl 0x423c98
cmp esi, eax
jge 0x423c98
mov eax, dword [esp + 0x14]
mov edx, dword [eax + esi*4]
cmp dword [edx - 0xc], 0
je 0x423c2c
mov eax, edx
mov ecx, 0x4748c8
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x423b4e
test dx, dx
je 0x423b4a
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x423b4e
add eax, 4
add ecx, 4
test dx, dx
jne 0x423b28
xor eax, eax
jmp 0x423b53
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
setne al
test al, al
je 0x423c2c
call fcn.00434084
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x423c8e
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0xc], eax
mov eax, edi
mov byte [esp + 0x48], 3
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x423b90
sub eax, edx
sar eax, 1
je 0x423bcd
cmp esi, dword [esp + 0x18]
jge 0x423c98
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + esi*4]
push edx
push edi
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x18]
push 0x4748cc
push ecx
call fcn.004012d0
add esp, 0x14
jmp 0x423bf6
cmp esi, dword [esp + 0x18]
jge 0x423c98
mov edx, dword [esp + 0x14]
mov eax, dword [edx + esi*4]
push eax
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x14]
push 0x4707dc
push edx
call fcn.004012d0
add esp, 0x10
mov eax, dword [ebp + 0xc]
lea ecx, [ebp + 4]
lea edx, [esp + 0xc]
push edx
push eax
call fcn.004368a6
mov byte [esp + 0x48], 1
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x423c2c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x18]
inc esi
cmp esi, eax
jb 0x423b00
lea ecx, [esp + 0x10]
mov byte [esp + 0x48], 0
call fcn.004367ad
mov dword [esp + 0x48], 0xffffffff
mov eax, dword [esp + 0x54]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x423c6f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x40]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebp
mov ecx, dword [esp + 0x30]
xor ecx, esp
call fcn.0044a6e6
add esp, 0x40
ret 0xc
push 0x80004005
call fcn.00401200
call fcn.00433f65
int3