Function at 0x692264
Capabilities:
Access peb ldr_data
Get number of processors

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xe
push 0
push 0
dec ecx
jne 0x69226c
push ecx
push ebx
push esi
push edi
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x692cbc
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
cmp dword [eax + 0x30], 0
je 0x692c8c
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 8]
call fcn.0068bc6c
mov eax, dword [ebp - 0x2c]
lea edx, [ebp - 0x28]
call fcn.0040a510
cmp dword [ebp - 0x28], 0
jne 0x6922c6
mov eax, dword [ebp - 8]
cmp dword [eax + 0xf0], 0
je 0x692c8c
mov eax, dword [ebp - 8]
mov byte [eax + 0xc4], 1
mov byte [ebp - 0xd], 0
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax + 0xec], edx
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xdc]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
mov al, byte [eax + 0x2c]
mov byte [ebp - 0x15], al
mov eax, dword [ebp - 8]
mov al, byte [eax + 0x3d]
mov byte [ebp - 0x16], al
mov eax, dword [ebp - 8]
mov byte [eax + 0x3d], 1
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xd8]
mov edx, dword [ebp - 8]
mov dword [edx + 0xdc], eax
mov eax, dword [ebp - 8]
mov byte [eax + 0x2c], 7
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0x1a0]
cmp byte [ebx + 0x11], 0
je 0x69237d
cmp byte [ebx + 0x10], 0
je 0x69237d
mov eax, dword [ebp - 8]
cmp byte [eax + 0x196], 0
je 0x692345
mov esi, 0x19
jmp 0x692347
xor esi, esi
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
mov edx, dword [eax]
call dword [edx + 0x14]
add esi, 0x3a
imul esi
add eax, dword [ebx + 0xc]
add eax, 0x16
mov edx, dword [ebp - 8]
mov edx, dword [edx + 0x144]
movzx edx, word [edx + 0x18]
add eax, edx
add eax, 0x800
mov edx, dword [ebp - 8]
mov edx, dword [edx + 0x1a0]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x1a0]
mov al, byte [ecx + 0x11]
cmp al, 1
jne 0x6923be
mov eax, dword [ebp - 8]
call fcn.00692ef8
push edx
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x1a0]
mov eax, dword [eax + 0xc]
cdq
sub dword [esp], eax
sbb dword [esp + 4], edx
pop eax
pop edx
mov ecx, dword [ebp - 8]
mov dword [ecx + 0x200], eax
mov dword [ecx + 0x204], edx
jmp 0x6923d5
cmp al, 2
jne 0x6923d5
mov eax, dword [ecx + 8]
cdq
mov ecx, dword [ebp - 8]
mov dword [ecx + 0x200], eax
mov dword [ecx + 0x204], edx
mov eax, dword [ebp - 8]
cmp byte [eax + 0x195], 0
je 0x6923f0
mov dl, 1
mov eax, dword [0x4127b0]
call fcn.00403230
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 8]
cmp byte [eax + 0x240], 0
jne 0x69242a
mov eax, dword [ebp - 8]
cmp byte [eax + 0x168], 0
jne 0x69242a
mov eax, dword [ebp - 8]
cmp byte [eax + 0x169], 0
jne 0x69242a
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x69242a
push ebp
call fcn.00691a2c
pop ecx
xor ecx, ecx
push ebp
push 0x692c82
push dword fs:[ecx]
mov dword fs:[ecx], esp
mov eax, dword [ebp - 8]
cmp byte [eax + 0xce], 0
je 0x692456
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xf0]
call fcn.004165f8
test eax, eax
jg 0x69246d
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 8]
call fcn.0068bc6c
mov eax, dword [ebp - 0x30]
call fcn.0068589c
test al, al
je 0x6924c9
push ebp
call fcn.00692110
pop ecx
mov eax, dword [ebp - 8]
mov byte [eax + 0x208], 1
mov eax, dword [ebp - 8]
cmp byte [eax + 0xce], 0
jne 0x6924b0
lea edx, [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.006948b4
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x34]
call fcn.00685bcc
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 8]
add eax, 0x238
call fcn.004040dc
mov eax, dword [ebp - 8]
call fcn.00692d00
mov eax, dword [ebp - 8]
call fcn.0068c514
push ebp
call fcn.00691424
pop ecx
jmp 0x692509
push ebp
call fcn.00692110
pop ecx
mov eax, dword [ebp - 8]
cmp byte [eax + 0xce], 0
jne 0x6924f7
lea edx, [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.0068bc6c
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
add eax, 0x238
call fcn.004040dc
mov eax, dword [ebp - 8]
mov byte [eax + 0x208], 0
mov eax, dword [ebp - 8]
call fcn.00692d00
mov eax, dword [ebp - 8]
cmp byte [eax + 0x240], 0
jne 0x69259b
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x69259b
mov byte [ebp - 0x1d], 0
mov eax, dword [ebp - 8]
cmp word [eax + 0x1c2], 0
je 0x692574
mov eax, dword [ebp - 8]
push dword [eax + 0x184]
push dword [eax + 0x180]
mov eax, dword [ebp - 8]
add eax, 0x230
push eax
lea eax, [ebp - 0x1d]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
mov edx, dword [eax]
call dword [edx + 0x14]
mov ecx, eax
mov ebx, dword [ebp - 8]
mov edx, dword [ebp - 8]
mov eax, dword [ebx + 0x1c4]
call dword [ebx + 0x1c0]
cmp byte [ebp - 0x1d], 0
je 0x69259b
lea edx, [ebp - 0x40]
mov eax, 0xbb
call fcn.0040aa2c
mov ecx, dword [ebp - 0x40]
mov dl, 1
mov eax, dword [0x686268]
call fcn.0040e274
call fcn.00403ab8
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x1a0]
cmp byte [eax + 0x11], 0
je 0x6925c3
mov eax, dword [ebp - 8]
fild qword [eax + 0x180]
fmul dword [0x692cd0]
mov eax, dword [ebp - 8]
fistp qword [eax + 0x180]
wait
mov eax, dword [ebp - 8]
cmp byte [eax + 0x240], 0
jne 0x69269f
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x69269f
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x69269f
inc esi
xor ebx, ebx
mov dl, 1
mov eax, dword [0x683500]
call fcn.00683784
mov edx, dword [ebp - 8]
mov dword [edx + 0x234], eax
xor eax, eax
push ebp
push 0x69266f
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0x44]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 8]
call fcn.006936d0
test al, al
je 0x69264c
push ebp
mov eax, ebx
call fcn.0069101c
pop ecx
jmp 0x692665
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
call fcn.00403260
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax + 0x234], edx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x692697
inc ebx
dec esi
jne 0x6925ff
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x214]
call fcn.004165dc
mov edx, dword [ebp - 8]
mov ebx, dword [edx + 0x230]
mov dword [ebx + 0x14], eax
mov eax, dword [ebp - 8]
mov ax, word [eax + 0xec]
mov word [ebx + 0xa], ax
xor eax, eax
mov dword [ebp - 0x24], eax
mov edi, dword [ebx + 0x14]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x22c]
mov esi, dword [eax + 0xc]
dec esi
test esi, esi
jl 0x6927a2
inc esi
xor ebx, ebx
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x22c]
mov edx, ebx
call fcn.00682284
mov edx, dword [0x683500]
call fcn.004033f0
mov edx, dword [ebp - 8]
mov dword [edx + 0x234], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x1a0]
cmp byte [eax + 0x11], 0
je 0x692783
mov eax, dword [ebp - 8]
call fcn.00692f80
push edx
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
call fcn.0068424c
cdq
cmp edx, dword [esp + 4]
jne 0x692742
cmp eax, dword [esp]
pop edx
pop eax
jbe 0x692783
jmp 0x692746
pop edx
pop eax
jle 0x692783
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x214]
call fcn.004165dc
sub eax, edi
add dword [ebp - 0x24], eax
xor edi, edi
mov eax, dword [ebp - 8]
call fcn.006930f8
test ebx, ebx
jne 0x692783
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x230]
xor edx, edx
mov dword [eax + 0x14], edx
mov edx, dword [ebp - 8]
mov dx, word [edx + 0xec]
mov word [eax + 0xa], dx
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x214]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x234]
call fcn.00683c8c
inc ebx
dec esi
jne 0x6926e7
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x214]
call fcn.004165dc
sub eax, edi
add dword [ebp - 0x24], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x230]
mov edx, dword [ebp - 0x24]
mov dword [eax + 0x10], edx
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x1a0]
cmp byte [eax + 0x11], 0
je 0x692807
mov eax, dword [ebp - 8]
call fcn.00692f80
push edx
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x230]
call fcn.0068476c
cdq
cmp edx, dword [esp + 4]
jne 0x6927fb
cmp eax, dword [esp]
pop edx
pop eax
jbe 0x692807
jmp 0x6927ff
pop edx
pop eax
jle 0x692807
mov eax, dword [ebp - 8]
call fcn.006930f8
mov edx, dword [ebp - 8]
mov dx, word [edx + 0xec]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x230]
mov word [eax + 8], dx
mov edx, dword [ebp - 8]
mov edx, dword [edx + 0x214]
call fcn.00684568
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x1a0]
cmp byte [eax + 0x11], 1
jne 0x692843
mov eax, dword [ebp - 8]
call fcn.00692fbc
mov byte [ebp - 0xd], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x692c8c
push ebp
call fcn.006921ac
pop ecx
mov eax, dword [ebp - 8]
cmp byte [eax + 0xce], 0
jne 0x692880
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x214]
call fcn.00403260
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax + 0x214], edx
cmp byte [ebp - 0xd], 0
je 0x692bdc
mov eax, dword [ebp - 8]
cmp byte [eax + 0xce], 0
jne 0x6928ad
mov eax, dword [ebp - 8]
cmp byte [eax + 0x209], 0
jne 0x6928ad
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 8]
call fcn.0068bc6c
mov eax, dword [ebp - 8]
cmp byte [eax + 0x209], 0
jne 0x6928d9
mov eax, dword [ebp - 8]
cmp byte [eax + 0xce], 0
jne 0x6928d9
mov eax, dword [ebp - 8]
cmp byte [eax + 0x208], 0
je 0x6928d9
mov eax, dword [ebp - 8]
call fcn.0068c880
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x1a0]
cmp byte [eax + 0x11], 2
jne 0x6929b2
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0xec]
test ebx, ebx
jle 0x692942
lea eax, [ebp - 0x50]
push eax
inc ebx
mov dword [ebp - 0x58], ebx
mov byte [ebp - 0x54], 0
lea edx, [ebp - 0x58]
xor ecx, ecx
mov eax, 0x692cdc
call fcn.0040bab4
mov ecx, dword [ebp - 0x50]
lea eax, [ebp - 0x4c]
mov edx, 0x692cec
call fcn.00404364
mov edx, dword [ebp - 0x4c]
lea ecx, [ebp - 0x48]
mov eax, dword [ebp - 0x1c]
call fcn.0040ae38
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x30]
jmp 0x6929d5
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x30]
lea eax, [ebp - 0x64]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xec]
inc eax
mov dword [ebp - 0x58], eax
mov byte [ebp - 0x54], 0
lea edx, [ebp - 0x58]
xor ecx, ecx
mov eax, 0x692cdc
call fcn.0040bab4
mov ecx, dword [ebp - 0x64]
lea eax, [ebp - 0x60]
mov edx, 0x692cec
call fcn.00404364
mov edx, dword [ebp - 0x60]
lea ecx, [ebp - 0x5c]
mov eax, dword [ebp - 0x1c]
call fcn.0040ae38
mov edx, dword [ebp - 0x5c]
lea eax, [ebp - 0x1c]
call fcn.00404120
lea edx, [ebp - 0x68]
mov eax, dword [ebp - 8]
call fcn.0068bc6c
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x1c]
call fcn.0040ad94
jmp 0x6929d5
mov eax, dword [ebp - 8]
cmp byte [eax + 0xce], 0
jne 0x6929d5
mov eax, dword [ebp - 8]
cmp byte [eax + 0x209], 0
jne 0x6929d5
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x30]
mov eax, dword [ebp - 8]
cmp byte [eax + 0x208], 0
je 0x6929eb
mov eax, dword [ebp - 8]
call fcn.00694340
jmp 0x692a02
mov eax, dword [ebp - 8]
cmp byte [eax + 0xce], 0
je 0x692a02
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax + 0x214], edx
mov eax, dword [ebp - 8]
cmp byte [eax + 0x195], 0
je 0x692a15
push ebp
call fcn.006910cc
pop ecx
mov eax, dword [ebp - 8]
cmp byte [eax + 0x209], 0
jne 0x692a5c
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x230]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x144]
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x22c]
mov edx, dword [ebp - 8]
mov dword [edx + 0xd8], eax
mov edx, dword [ebp - 8]
mov dword [edx + 0xdc], eax
mov eax, dword [ebp - 8]
mov byte [eax + 0x2c], 7
jmp 0x692a81
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x22c]
call fcn.00403260
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax + 0x22c], edx
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x14]
mov dword [eax + 0xdc], edx
mov eax, dword [ebp - 8]
cmp byte [eax + 0xce], 0
jne 0x692ab6
mov eax, dword [ebp - 8]
cmp byte [eax + 0x209], 0
jne 0x692ab6
lea edx, [ebp - 0x6c]
mov eax, dword [ebp - 8]
call fcn.0068bc6c
mov eax, dword [ebp - 0x6c]
call fcn.006857c8
mov eax, dword [ebp - 8]
fstp qword [eax + 0xe0]
wait
cmp byte [ebp - 0x15], 0
je 0x692ad5
mov eax, dword [ebp - 8]
cmp byte [eax + 0x209], 0
jne 0x692ad5
mov dl, byte [ebp - 0x15]
mov eax, dword [ebp - 8]
call fcn.0068d478
jmp 0x692afe
mov eax, dword [ebp - 8]
cmp byte [eax + 0x209], 0
jne 0x692afe
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x228]
mov edx, dword [ebp - 8]
mov dword [edx + 0xdc], eax
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax + 0x228], edx
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0xec]
inc edx
mov eax, dword [ebp - 8]
call fcn.0068c424
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x1a0]
cmp byte [eax + 0x11], 0
je 0x692b43
mov eax, dword [ebp - 8]
cmp word [eax + 0xaa], 0
je 0x692b43
mov ebx, dword [ebp - 8]
mov ecx, 0x64
mov edx, dword [ebp - 8]
mov eax, dword [ebx + 0xac]
call dword [ebx + 0xa8]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x1a0]
mov dl, byte [eax + 0x11]
test dl, dl
je 0x692c03
cmp byte [eax + 0x10], 0
je 0x692c03
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x144]
cmp word [eax + 8], 0
jbe 0x692c03
cmp dl, 1
jne 0x692b97
mov edx, 1
mov eax, dword [ebp - 8]
call fcn.0068c5b0
mov eax, dword [0x9b8cac]
mov eax, dword [eax]
mov dx, 0xfff5
call fcn.0045957c
lea edx, [ebp - 0x74]
mov eax, dword [ebp - 8]
call fcn.0068bc6c
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0x70]
mov edx, 0x692cf8
call fcn.0040ae38
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 8]
call fcn.00694498
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x1a0]
cmp byte [eax + 0x11], 1
jne 0x692c03
mov eax, dword [0x9b8cac]
mov eax, dword [eax]
xor edx, edx
call fcn.0045957c
jmp 0x692c03
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x22c]
call fcn.00403260
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax + 0x22c], edx
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x238]
call fcn.0040ad7c
mov eax, dword [ebp - 8]
mov dl, byte [ebp - 0x15]
mov byte [eax + 0x2c], dl
mov eax, dword [ebp - 8]
mov dl, byte [ebp - 0x16]
mov byte [eax + 0x3d], dl
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x228]
call fcn.00403260
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax + 0x228], edx
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x230]
call fcn.00403260
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax + 0x230], edx
mov eax, dword [ebp - 8]
call fcn.0068c590
mov eax, dword [ebp - 8]
cmp byte [eax + 0xce], 0
je 0x692c6c
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0xf0]
mov eax, dword [ebp - 8]
call fcn.0068cd7c
mov eax, dword [ebp - 8]
mov byte [eax + 0xc4], 0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
mov edx, dword [eax]
call dword [edx + 0x40]
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x692cc3
lea eax, [ebp - 0x74]
mov edx, 7
call fcn.004040ac
lea eax, [ebp - 0x50]
mov edx, 0xb
call fcn.004040ac
lea eax, [ebp - 0x1c]
call fcn.00404088
ret