Function at 0x42f620
Capabilities:
Access peb ldr_data
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4b9790
mov eax, dword fs:[0]
push eax
sub esp, 0x16c
mov eax, dword [0x4e02dc]
xor eax, esp
mov dword [esp + 0x168], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4e02dc]
xor eax, esp
push eax
lea eax, [esp + 0x180]
mov dword fs:[0], eax
mov eax, dword [0x4e3844]
mov edx, dword [eax + 0xc]
mov edi, dword [esp + 0x190]
mov esi, dword [esp + 0x194]
mov ebp, ecx
mov ecx, 0x4e3844
mov dword [esp + 0x30], 0xffffffff
call edx
add eax, 0x10
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x98]
push eax
mov dword [esp + 0x18c], 0
call fcn.0041afd0
mov byte [esp + 0x188], 1
mov edx, dword [0x4e3844]
mov eax, dword [edx + 0xc]
mov ecx, 0x4e3844
call eax
add eax, 0x10
mov dword [esp + 0x2c], eax
mov byte [esp + 0x188], 2
mov edx, dword [0x4e3844]
mov eax, dword [edx + 0xc]
mov ecx, 0x4e3844
call eax
add eax, 0x10
mov dword [esp + 0x3c], eax
mov byte [esp + 0x188], 3
mov edx, dword [0x4e3844]
mov eax, dword [edx + 0xc]
mov ecx, 0x4e3844
call eax
add eax, 0x10
mov dword [esp + 0x18], eax
mov byte [esp + 0x188], 4
mov edx, dword [0x4e3844]
mov eax, dword [edx + 0xc]
mov ecx, 0x4e3844
call eax
add eax, 0x10
mov dword [esp + 0x28], eax
mov byte [esp + 0x188], 5
mov edx, dword [0x4e3844]
mov eax, dword [edx + 0xc]
mov ecx, 0x4e3844
call eax
add eax, 0x10
mov dword [esp + 0x24], eax
lea ecx, [esp + 0x20]
push ecx
mov ecx, esi
mov byte [esp + 0x18c], 6
call fcn.00401400
lea edx, [esp + 0x34]
push edx
mov ecx, esi
mov byte [esp + 0x18c], 7
call fcn.00401400
push 0x5c
push 0x2f
lea eax, [esp + 0x28]
push eax
mov byte [esp + 0x194], 8
call fcn.004075a0
push 0x2f
push 0x5c
lea ecx, [esp + 0x3c]
push ecx
call fcn.004075a0
test edi, edi
jne 0x42f790
xor eax, eax
jmp 0x42f7a4
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x42f795
sub eax, edx
sar eax, 1
mov ebx, eax
push edi
lea eax, [esp + 0x50]
call fcn.00401750
lea ecx, [esp + 0x4c]
call fcn.0041c8e0
push edi
lea edi, [esp + 0x9c]
call fcn.0041b110
xor esi, esi
cmp eax, esi
mov dword [esp + 0x50], eax
je 0x42ff5f
push 0x4c9dfc
mov ecx, 0x4c7be0
mov edx, edi
call fcn.0041b290
cmp eax, esi
mov dword [esp + 0x84], eax
je 0x42ff5b
mov dword [esp + 0x38], esi
jle 0x42ff5b
mov edi, edi
mov edx, dword [esp + 0x38]
push edx
push 0x4c9e00
lea edi, [esp + 0x2c]
call fcn.00401250
mov ecx, dword [esp + 0x2c]
add esp, 8
push 0x64
lea eax, [esp + 0xb8]
push eax
push ecx
mov ecx, 0x4c7be0
lea edx, [esp + 0xa4]
call fcn.0041b420
cmp eax, esi
je 0x42ff5b
lea edx, [esp + 0xb4]
push 0x4c9e08
push edx
call fcn.00496488
add esp, 8
test eax, eax
je 0x42ff41
lea eax, [esp + 0xb4]
push str.lang_
push eax
call fcn.00496488
add esp, 8
test eax, eax
je 0x42ff41
lea edx, [esp + 0xb4]
lea edi, [esp + 0x28]
call fcn.00401710
lea edx, [esp + 0xb4]
lea edi, [esp + 0x18]
call fcn.00401710
push 0x5c
push 0x2f
mov ecx, edi
push ecx
call fcn.004075a0
mov edx, dword [esp + 0x38]
push edx
push 0x4ca390
lea edi, [esp + 0x2c]
call fcn.00401250
mov ecx, dword [esp + 0x2c]
add esp, 8
push 0x64
lea eax, [esp + 0xb8]
push eax
push ecx
mov ecx, 0x4c7be0
lea edx, [esp + 0xa4]
call fcn.0041b420
cmp eax, esi
je 0x42ff5f
lea edx, [esp + 0xb4]
lea edi, [esp + 0x3c]
call fcn.00401710
mov dword [esp + 0x1c], esi
jmp 0x42f900
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x42fc05
mov eax, dword [ebp + 0x10]
sub eax, ecx
sar eax, 2
cmp dword [esp + 0x1c], eax
jae 0x42fc05
test ecx, ecx
je 0x42f92f
mov eax, dword [ebp + 0x10]
sub eax, ecx
sar eax, 2
cmp dword [esp + 0x1c], eax
jb 0x42f934
call fcn.0049445b
mov edx, dword [ebp + 0xc]
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x34]
lea ebx, [edx + eax*4]
push ecx
lea edx, [esp + 0x98]
push edx
call fcn.0040e5b0
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x98]
push edx
mov ebx, eax
mov byte [esp + 0x198], 9
call fcn.0040e5b0
lea ecx, [esp + 0x4c]
push ecx
lea edx, [esp + 0x74]
push edx
mov ebx, eax
mov byte [esp + 0x1a0], 0xa
call fcn.0040e5b0
add esp, 0x18
lea edi, [esp + 0x2c]
mov byte [esp + 0x188], 0xb
call fcn.0040a8e0
mov byte [esp + 0x188], 0xa
mov eax, dword [esp + 0x60]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42f9c1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x188], 9
mov eax, dword [esp + 0x8c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42f9ec
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x188], 8
mov eax, dword [esp + 0x94]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42fa17
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x8c]
push edx
mov ebx, ebp
call fcn.0040e5b0
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x7c]
push edx
mov ebx, eax
mov byte [esp + 0x198], 0xc
call fcn.0040e5b0
push eax
lea eax, [esp + 0xa4]
push eax
mov ebx, str.index.txt
mov byte [esp + 0x1a0], 0xd
call fcn.0040e670
mov esi, eax
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x84]
push edx
mov ebx, ebp
mov byte [esp + 0x1a8], 0xe
call fcn.0040e5b0
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0xa4]
push edx
mov ebx, eax
mov byte [esp + 0x1b0], 0xf
call fcn.0040e5b0
push eax
lea eax, [esp + 0x80]
push eax
mov ebx, str.index.dat
mov byte [esp + 0x1b8], 0x10
call fcn.0040e670
mov byte [esp + 0x1b8], 0x11
mov ecx, dword [esp + 0x6c]
mov eax, dword [eax]
mov edx, dword [esp + 0x5c]
mov esi, dword [esi]
push ecx
push eax
push edx
call fcn.00412720
mov esi, eax
mov byte [esp + 0x1c4], 0x10
mov eax, dword [esp + 0x90]
add eax, 0xfffffff0
add esp, 0x3c
mov dword [esp + 0x50], esi
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42fb04
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x188], 0xf
mov eax, dword [esp + 0x80]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42fb2f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x188], 0xe
mov eax, dword [esp + 0x68]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42fb57
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x188], 0xd
mov eax, dword [esp + 0x90]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42fb82
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x188], 0xc
mov eax, dword [esp + 0x70]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42fbaa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x188], 8
mov eax, dword [esp + 0x88]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42fbd5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp + 0xc]
test ecx, ecx
jne 0x42fbe0
xor eax, eax
jmp 0x42fbe8
mov eax, dword [ebp + 0x10]
sub eax, ecx
sar eax, 2
add eax, 0xffffffff
cmp dword [esp + 0x1c], eax
jne 0x42fbf7
push esi
call fcn.0040e4b0
test esi, esi
je 0x42fc05
add dword [esp + 0x1c], 1
jmp 0x42f900
mov edx, dword [0x4e3844]
mov eax, dword [edx + 0xc]
mov ecx, 0x4e3844
call eax
mov edx, dword [0x4e3844]
add eax, 0x10
mov dword [esp + 0x40], eax
mov eax, dword [edx + 0xc]
mov ecx, 0x4e3844
call eax
add eax, 0x10
mov dword [esp + 0x44], eax
mov byte [esp + 0x188], 0x12
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x40]
lea eax, [ecx - 0x10]
add edi, 0xfffffff0
cmp eax, edi
je 0x42fc8f
cmp dword [edi + 0xc], 0
lea ebx, [edi + 0xc]
jl 0x42fc82
mov edx, dword [eax]
cmp edx, dword [edi]
jne 0x42fc82
call fcn.00401270
mov esi, eax
or eax, 0xffffffff
lock xadd dword [ebx], eax
dec eax
test eax, eax
jg 0x42fc79
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push edi
call eax
add esi, 0x10
mov dword [esp + 0x40], esi
jmp 0x42fc8f
mov ebx, dword [ecx - 0xc]
push ecx
lea eax, [esp + 0x44]
call fcn.00401750
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x60]
push edx
mov ebx, ebp
call fcn.0040e5b0
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x64]
push edx
mov ebx, eax
mov byte [esp + 0x198], 0x13
call fcn.0040e5b0
push eax
lea eax, [esp + 0x8c]
push eax
mov ebx, str.index.txt
mov byte [esp + 0x1a0], 0x14
call fcn.0040e670
add esp, 0x18
mov byte [esp + 0x188], 0x15
mov ecx, dword [eax]
mov edi, dword [esp + 0x44]
lea eax, [ecx - 0x10]
add edi, 0xfffffff0
cmp eax, edi
je 0x42fd31
cmp dword [edi + 0xc], 0
lea ebx, [edi + 0xc]
jl 0x42fd24
mov edx, dword [eax]
cmp edx, dword [edi]
jne 0x42fd24
call fcn.00401270
mov esi, eax
or eax, 0xffffffff
lock xadd dword [ebx], eax
dec eax
test eax, eax
jg 0x42fd1b
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push edi
call eax
add esi, 0x10
mov dword [esp + 0x44], esi
jmp 0x42fd31
mov ebx, dword [ecx - 0xc]
push ecx
lea eax, [esp + 0x48]
call fcn.00401750
mov byte [esp + 0x188], 0x14
mov eax, dword [esp + 0x78]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42fd59
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x188], 0x13
mov eax, dword [esp + 0x58]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42fd81
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x188], 0x12
mov eax, dword [esp + 0x5c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42fda9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, dword [esp + 0x50]
push 0
lea ecx, [esp + 0x44]
push ecx
push 8
mov ecx, 0x4e1fe4
mov dword [esp + 0x54], esi
call fcn.00433060
mov byte [esp + 0x188], 8
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42fdec
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42fe0c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test esi, esi
jne 0x42ff5f
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x80]
push edx
lea ebx, [esp + 0x3c]
call fcn.0040e5b0
mov esi, eax
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x80]
push ecx
mov ebx, ebp
mov byte [esp + 0x198], 0x16
call fcn.0040e5b0
lea edx, [esp + 0x28]
push edx
lea ecx, [esp + 0x80]
push ecx
mov ebx, eax
mov byte [esp + 0x1a0], 0x17
call fcn.0040e5b0
push eax
lea edx, [esp + 0x80]
push edx
mov ebx, str.index.txt
mov byte [esp + 0x1a8], 0x18
call fcn.0040e670
add esp, 0x20
mov byte [esp + 0x188], 0x19
mov esi, dword [esi]
mov eax, dword [eax]
push esi
push eax
mov ecx, ebp
call fcn.0042f620
mov esi, eax
mov byte [esp + 0x188], 0x18
mov eax, dword [esp + 0x64]
add eax, 0xfffffff0
mov dword [esp + 0x50], esi
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42fec5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x188], 0x17
mov eax, dword [esp + 0x6c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42feed
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x188], 0x16
mov eax, dword [esp + 0x74]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42ff15
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x188], 8
mov eax, dword [esp + 0x7c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42ff3d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test esi, esi
jne 0x42ff5f
mov eax, dword [esp + 0x38]
add eax, 1
xor esi, esi
cmp eax, dword [esp + 0x84]
mov dword [esp + 0x38], eax
jl 0x42f800
mov dword [esp + 0x30], esi
mov byte [esp + 0x188], 7
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42ff87
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x188], 6
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42ffaf
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x188], 5
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42ffd7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x188], 4
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42ffff
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x188], 3
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x430027
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x188], 2
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43004f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x188], 1
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x430077
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x98]
push ecx
mov byte [esp + 0x18c], 0
call fcn.0041b080
mov dword [esp + 0x188], 0xffffffff
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4300b7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x180]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x168]
xor ecx, esp
call fcn.004935b6
add esp, 0x178
ret 8