Function at 0x4232a0
Capabilities:
Access peb ldr_data
Get number of processors
Get process heap force flags

Disassembly:
push 0xffffffffffffffff
push 0x472aa0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x18
push ebx
push ebp
push esi
push edi
mov edi, ecx
call fcn.0045c368
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
mov dword [esp + 0x30], 0
call fcn.0045c368
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea esi, [eax + 0x10]
mov dword [esp + 0x14], esi
mov eax, dword [edi + 0x234]
test eax, eax
mov ebx, dword [esp + 0x38]
mov byte [esp + 0x30], 1
je 0x4234ed
jmp 0x423310
mov eax, dword [esp + 0x18]
lea esp, [esp]
mov ecx, dword [eax]
mov dword [esp + 0x18], ecx
mov ecx, dword [eax + 8]
mov eax, dword [ecx + 0x99c]
test eax, eax
mov dword [esp + 0x38], ecx
je 0x4234e1
lea edx, [esp + 0x24]
push edx
call fcn.004035c0
mov ecx, dword [eax]
lea eax, [ecx - 0x10]
lea ebp, [esi - 0x10]
cmp eax, ebp
mov byte [esp + 0x30], 2
je 0x423398
mov edx, dword [ebp + 0xc]
test edx, edx
lea esi, [ebp + 0xc]
jl 0x423386
mov edx, dword [eax]
cmp edx, dword [ebp]
jne 0x423386
push eax
call fcn.004026d0
mov dword [esp + 0x24], eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [esi], eax
dec eax
test eax, eax
jg 0x423379
mov ecx, dword [ebp]
mov edx, dword [ecx]
push ebp
call dword [edx + 4]
mov esi, dword [esp + 0x20]
add esi, 0x10
mov dword [esp + 0x14], esi
jmp 0x423398
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.00403ad0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
mov byte [esp + 0x30], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4233bb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
push 1
mov ecx, 0x494220
call fcn.00464b76
push esi
lea eax, [esp + 0x14]
push 0x478e34
push eax
call fcn.00403c50
mov ecx, dword [esp + 0x1c]
add esp, 0xc
push 1
push ecx
lea ebp, [edi + 0x144]
push 0
mov ecx, ebp
mov dword [edi + 0x2dc], 0xc8
call fcn.00466076
push esi
lea edx, [esp + 0x14]
push 0x478f30
push edx
call fcn.00403c50
add esp, 0xc
test ebx, ebx
je 0x42341d
lea eax, [esp + 0x10]
push eax
mov ecx, ebx
call fcn.00405f40
mov ecx, dword [edi + 0x250]
push ecx
mov ecx, dword [esp + 0x3c]
push 0
call fcn.00405740
mov edx, dword [esp + 0x38]
push edx
mov ecx, edi
call fcn.00421990
test eax, eax
push esi
jne 0x42348a
lea eax, [esp + 0x14]
push 0x478e1c
push eax
call fcn.00403c50
mov ecx, dword [esp + 0x1c]
add esp, 0xc
push 1
push ecx
push 0
mov ecx, ebp
mov dword [edi + 0x2dc], 6
call fcn.00466076
push esi
lea edx, [esp + 0x14]
push 0x478f14
push edx
call fcn.00403c50
add esp, 0xc
test ebx, ebx
je 0x4234d9
lea eax, [esp + 0x10]
push eax
jmp 0x4234d2
lea ecx, [esp + 0x14]
push 0x478e28
push ecx
call fcn.00403c50
mov edx, dword [esp + 0x1c]
add esp, 0xc
push 1
push edx
push 0
mov ecx, ebp
mov dword [edi + 0x2dc], 6
call fcn.00466076
push esi
lea eax, [esp + 0x14]
push 0x478ef8
push eax
call fcn.00403c50
add esp, 0xc
test ebx, ebx
je 0x4234d9
lea ecx, [esp + 0x10]
push ecx
mov ecx, ebx
call fcn.00405f40
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x423305
mov ebp, dword [0x493fb8]
test ebp, ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x38], 0
jle 0x4236d7
nop
lea edx, [esp + 0x38]
push edx
call fcn.00402500
add esp, 4
test eax, eax
je 0x4236c6
mov eax, dword [esp + 0x38]
test eax, eax
jl 0x42376f
cmp eax, dword [0x493fb8]
jge 0x42376f
mov ecx, dword [0x493fb4]
mov ecx, dword [ecx + eax*4]
test ecx, ecx
je 0x4236c6
lea edx, [esp + 0x24]
push edx
call fcn.00403590
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x34], 3
call fcn.00403d30
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
mov byte [esp + 0x30], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42358a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
lea eax, [esp + 0x14]
push eax
call fcn.00419100
add esp, 4
cmp eax, 0xffffffff
mov dword [esp + 0x1c], eax
je 0x4236c2
push 1
mov ecx, 0x494220
call fcn.00464b76
mov esi, dword [esp + 0x14]
push esi
lea ecx, [esp + 0x14]
push 0x478e34
push ecx
call fcn.00403c50
mov edx, dword [esp + 0x1c]
add esp, 0xc
push 1
push edx
lea ebp, [edi + 0x144]
push 0
mov ecx, ebp
mov dword [edi + 0x2dc], 0xc8
call fcn.00466076
push esi
lea eax, [esp + 0x14]
push 0x478f30
push eax
call fcn.00403c50
add esp, 0xc
test ebx, ebx
je 0x42360a
lea ecx, [esp + 0x10]
push ecx
mov ecx, ebx
call fcn.00405f40
lea edx, [esp + 0x1c]
push edx
mov ecx, edi
call fcn.00420400
test eax, eax
push esi
jne 0x423665
lea eax, [esp + 0x14]
push 0x478e1c
push eax
call fcn.00403c50
mov ecx, dword [esp + 0x1c]
add esp, 0xc
push 1
push ecx
push 0
mov ecx, ebp
mov dword [edi + 0x2dc], 6
call fcn.00466076
push esi
lea edx, [esp + 0x14]
push 0x478f14
push edx
call fcn.00403c50
add esp, 0xc
test ebx, ebx
je 0x4236b4
lea eax, [esp + 0x10]
push eax
jmp 0x4236ad
lea ecx, [esp + 0x14]
push 0x478e28
push ecx
call fcn.00403c50
mov edx, dword [esp + 0x1c]
add esp, 0xc
push 1
push edx
push 0
mov ecx, ebp
mov dword [edi + 0x2dc], 6
call fcn.00466076
push esi
lea eax, [esp + 0x14]
push 0x478ef8
push eax
call fcn.00403c50
add esp, 0xc
test ebx, ebx
je 0x4236b4
lea ecx, [esp + 0x10]
push ecx
mov ecx, ebx
call fcn.00405f40
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ebp, dword [esp + 0x20]
jmp 0x4236c6
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x38]
inc eax
cmp eax, ebp
mov dword [esp + 0x38], eax
jl 0x423510
mov ecx, edi
call fcn.00420d30
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x476ba8
call fcn.00404830
mov ecx, edi
call fcn.0041a670
push 0xffffffffffffffff
mov ecx, 0x494220
call fcn.00464b76
push 0x3e8
mov ecx, edi
call fcn.00460845
mov ecx, eax
call fcn.00460a44
add esi, 0xfffffff0
mov byte [esp + 0x30], 0
lea edx, [esi + 0xc]
or eax, 0xffffffff
lock xadd dword [edx], eax
dec eax
test eax, eax
jg 0x423734
mov ecx, dword [esi]
mov edx, dword [ecx]
push esi
call dword [edx + 4]
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x30], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42375a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov ecx, dword [esp + 0x28]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x24
ret 4
call fcn.004594a8
int3