Function at 0x538290
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5ccc91
mov eax, dword fs:[0]
push eax
sub esp, 0x188
mov eax, dword [0x70c0f0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x64], ecx
xorps xmm0, xmm0
movlpd qword [ebp - 0xdc], xmm0
xorps xmm0, xmm0
movlpd qword [ebp - 0xe4], xmm0
xorps xmm0, xmm0
movlpd qword [ebp - 0xd4], xmm0
xorps xmm0, xmm0
movlpd qword [ebp - 0xcc], xmm0
xorps xmm0, xmm0
movlpd qword [ebp - 0xa4], xmm0
xorps xmm0, xmm0
movlpd qword [ebp - 0x154], xmm0
xorps xmm0, xmm0
movlpd qword [ebp - 0x15c], xmm0
xorps xmm0, xmm0
movlpd qword [ebp - 0x164], xmm0
mov byte [ebp - 0x69], 0
mov byte [ebp - 0x6d], 0
mov byte [ebp - 0x6b], 0
mov byte [ebp - 0x6e], 0
mov dword [ebp - 0x168], 0
mov eax, dword [ebp - 0x64]
add eax, 0x14c
push eax
lea ecx, [ebp - 0x16c]
call fcn.0044b720
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x64]
mov edx, dword [ecx + 0x20]
mov dword [ebp - 0xdc], edx
mov eax, dword [ecx + 0x24]
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0x64]
mov edx, dword [ecx + 0x28]
mov dword [ebp - 0xe4], edx
mov eax, dword [ecx + 0x2c]
mov dword [ebp - 0xe0], eax
mov ecx, dword [ebp - 0x64]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xd4], edx
mov eax, dword [ecx + 0x34]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0x64]
mov edx, dword [ecx + 0x38]
mov dword [ebp - 0xcc], edx
mov eax, dword [ecx + 0x3c]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0x64]
mov edx, dword [ecx + 0x40]
mov dword [ebp - 0x15c], edx
mov eax, dword [ecx + 0x44]
mov dword [ebp - 0x158], eax
mov ecx, dword [ebp - 0x64]
mov edx, dword [ecx + 0x48]
mov dword [ebp - 0x164], edx
mov eax, dword [ecx + 0x4c]
mov dword [ebp - 0x160], eax
mov ecx, dword [ebp - 0x64]
mov dl, byte [ecx + 0x1a]
mov byte [ebp - 0x69], dl
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax + 0x90]
mov dword [ebp - 0x154], ecx
mov edx, dword [eax + 0x94]
mov dword [ebp - 0x150], edx
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax + 0x98]
mov dword [ebp - 0xa4], ecx
mov edx, dword [eax + 0x9c]
mov dword [ebp - 0xa0], edx
lea eax, [ebp - 0x6d]
push eax
mov ecx, dword [ebp - 0x64]
add ecx, 0x168
push ecx
mov edx, dword [ebp - 0x64]
add edx, 0x68
push edx
mov ecx, dword [ebp - 0x64]
call fcn.005390b0
lea eax, [ebp - 0x6b]
push eax
mov ecx, dword [ebp - 0x64]
add ecx, 0x174
push ecx
mov edx, dword [ebp - 0x64]
add edx, 0x80
push edx
mov ecx, dword [ebp - 0x64]
call fcn.005390b0
lea eax, [ebp - 0x6e]
push eax
mov ecx, dword [ebp - 0x64]
add ecx, 0x180
push ecx
mov edx, dword [ebp - 0x64]
add edx, 0x74
push edx
mov ecx, dword [ebp - 0x64]
call fcn.005390b0
mov eax, dword [ebp - 0x64]
movzx ecx, byte [eax + 0x18c]
mov edx, dword [ebp - 0x64]
movzx eax, byte [edx + 0x8c]
cmp ecx, eax
je 0x538490
mov byte [ebp - 0x6b], 1
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x64]
mov al, byte [edx + 0x8c]
mov byte [ecx + 0x18c], al
mov ecx, dword [ebp - 0x64]
add ecx, 0xa0
call fcn.00448210
mov dword [ebp - 0x168], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x16c]
call fcn.0044b750
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xf4], eax
movzx ecx, byte [ebp - 0x69]
test ecx, ecx
je 0x5384e4
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0x144], edx
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x140], eax
jmp 0x5384fc
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 0x144], ecx
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0x140], edx
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x8c], eax
mov ecx, dword [ebp - 0x140]
mov dword [ebp - 0x88], ecx
movzx edx, byte [ebp - 0x69]
test edx, edx
je 0x538536
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0x128], ecx
jmp 0x53854e
mov edx, dword [ebp - 0xcc]
mov dword [ebp - 0x12c], edx
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0x128], eax
mov ecx, dword [ebp - 0x12c]
mov dword [ebp - 0x84], ecx
mov edx, dword [ebp - 0x128]
mov dword [ebp - 0x80], edx
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0xf4]
sub ecx, dword [eax + 0x1bc]
xor edx, edx
mov eax, dword [ebp - 0x64]
add ecx, dword [eax + 0x1c0]
adc edx, dword [eax + 0x1c4]
mov eax, dword [ebp - 0x64]
mov dword [eax + 0x1c0], ecx
mov dword [eax + 0x1c4], edx
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0xf4]
mov dword [ecx + 0x1bc], edx
mov eax, dword [ebp - 0x64]
push 0
push 0x3e8
mov ecx, dword [eax + 0x1c4]
push ecx
mov edx, dword [eax + 0x1c0]
push edx
call fcn.00496840
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], edx
mov byte [ebp - 0x6c], 0
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0xf8], eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ebp - 0xb4]
cmp edx, dword [ecx + 0x1e0]
jne 0x5385ff
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xb0]
cmp ecx, dword [eax + 0x1e4]
je 0x53861e
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0xb4]
mov dword [edx + 0x1e0], eax
mov ecx, dword [ebp - 0xb0]
mov dword [edx + 0x1e4], ecx
mov byte [ebp - 0x6c], 1
mov byte [ebp - 0xa5], 0
movzx edx, byte [ebp - 0x6c]
test edx, edx
je 0x5389aa
mov eax, dword [ebp - 0x84]
or eax, dword [ebp - 0x80]
je 0x5389aa
mov ecx, dword [ebp - 0x8c]
and ecx, dword [ebp - 0x88]
cmp ecx, 0xffffffff
jne 0x538693
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0xfc], edx
mov eax, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0xfc]
mov edx, dword [eax + 0x1e8]
and edx, dword [ecx + 0x1ec]
cmp edx, 0xffffffff
je 0x53868e
mov eax, dword [ebp - 0x64]
mov dword [eax + 0x1e8], 0xffffffff
mov dword [eax + 0x1ec], 0xffffffff
jmp 0x538741
xorps xmm0, xmm0
movlpd qword [ebp - 0x14c], xmm0
mov ecx, dword [ebp - 0x80]
cmp ecx, dword [ebp - 0x88]
ja 0x538700
jb 0x5386b9
mov edx, dword [ebp - 0x84]
cmp edx, dword [ebp - 0x8c]
jae 0x538700
mov eax, dword [ebp - 0x80]
push eax
mov ecx, dword [ebp - 0x84]
push ecx
mov edx, dword [ebp - 0x8c]
sub edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x88]
sbb eax, dword [ebp - 0x80]
push eax
push edx
mov ecx, dword [ebp - 0x64]
mov edx, dword [ecx + 0x1c4]
push edx
mov eax, dword [ecx + 0x1c0]
push eax
mov ecx, dword [ebp - 0x64]
call fcn.00539110
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x148], edx
push 0
push 0x3e8
mov ecx, dword [ebp - 0x148]
push ecx
mov edx, dword [ebp - 0x14c]
push edx
call fcn.00496840
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x170], edx
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x174]
mov dword [eax + 0x1e8], ecx
mov edx, dword [ebp - 0x170]
mov dword [eax + 0x1ec], edx
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ebp - 0x100]
mov eax, dword [ecx + 0x1c0]
or eax, dword [edx + 0x1c4]
jne 0x53877a
mov dword [ebp - 0x134], 1
mov dword [ebp - 0x130], 0
jmp 0x538795
mov ecx, dword [ebp - 0x64]
mov edx, dword [ecx + 0x1c0]
mov dword [ebp - 0x134], edx
mov eax, dword [ecx + 0x1c4]
mov dword [ebp - 0x130], eax
mov ecx, dword [ebp - 0x134]
mov dword [ebp - 0x17c], ecx
mov edx, dword [ebp - 0x130]
mov dword [ebp - 0x178], edx
push 0
push 0x3e8
mov eax, dword [ebp - 0x80]
push eax
mov ecx, dword [ebp - 0x84]
push ecx
call fcn.00496800
mov ecx, dword [ebp - 0x178]
push ecx
mov ecx, dword [ebp - 0x17c]
push ecx
push edx
push eax
call fcn.00496840
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
mov byte [ebp - 0x6a], 0
mov dword [ebp - 0x7c], 0
cmp dword [ebp - 0x74], 0
ja 0x5387f9
cmp dword [ebp - 0x78], 0xfa000
jb 0x538806
mov dword [ebp - 0x7c], 0x14
mov byte [ebp - 0x6a], 0x4d
jmp 0x538820
cmp dword [ebp - 0x74], 0
ja 0x538815
cmp dword [ebp - 0x78], 0x3e8
jb 0x538820
mov dword [ebp - 0x7c], 0xa
mov byte [ebp - 0x6a], 0x4b
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x7c]
call fcn.00507f10
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x7c]
cmp eax, dword [edx + 0x274]
jne 0x538871
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x104], ecx
mov edx, dword [ebp - 0x104]
mov eax, dword [ebp - 0x78]
cmp eax, dword [edx + 0x278]
jne 0x538871
mov ecx, dword [ebp - 0x104]
mov edx, dword [ebp - 0x74]
cmp edx, dword [ecx + 0x27c]
je 0x5389aa
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x7c]
mov dword [eax + 0x274], ecx
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x78]
mov dword [edx + 0x278], eax
mov ecx, dword [ebp - 0x74]
mov dword [edx + 0x27c], ecx
lea edx, [ebp - 0x60]
push edx
mov eax, dword [ebp - 0x74]
push eax
mov ecx, dword [ebp - 0x78]
push ecx
call fcn.00551000
add esp, 0xc
lea edx, [ebp - 0x60]
push edx
call fcn.00459d50
add esp, 4
mov dword [ebp - 0x68], eax
mov eax, 0x20
mov ecx, dword [ebp - 0x68]
mov word [ebp + ecx*2 - 0x60], ax
mov edx, dword [ebp - 0x68]
add edx, 1
mov dword [ebp - 0x68], edx
cmp dword [ebp - 0x7c], 0
je 0x5388e7
movzx ax, byte [ebp - 0x6a]
mov ecx, dword [ebp - 0x68]
mov word [ebp + ecx*2 - 0x60], ax
mov edx, dword [ebp - 0x68]
add edx, 1
mov dword [ebp - 0x68], edx
mov eax, 0x42
mov ecx, dword [ebp - 0x68]
mov word [ebp + ecx*2 - 0x60], ax
mov edx, dword [ebp - 0x68]
add edx, 1
mov dword [ebp - 0x68], edx
mov eax, 0x2f
mov ecx, dword [ebp - 0x68]
mov word [ebp + ecx*2 - 0x60], ax
mov edx, dword [ebp - 0x68]
add edx, 1
mov dword [ebp - 0x68], edx
mov eax, 0x53
mov ecx, dword [ebp - 0x68]
mov word [ebp + ecx*2 - 0x60], ax
mov edx, dword [ebp - 0x68]
add edx, 1
mov dword [ebp - 0x68], edx
mov eax, dword [ebp - 0x68]
shl eax, 1
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 0x68]
add ecx, 1
mov dword [ebp - 0x68], ecx
cmp dword [ebp - 0x108], 0x50
jae 0x538948
jmp 0x53894d
call fcn.00496028
xor edx, edx
mov eax, dword [ebp - 0x108]
mov word [ebp + eax - 0x60], dx
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x10c], ecx
mov edx, dword [ebp - 0x10c]
cmp dword [edx + 0x1dc], 0
ja 0x538984
mov eax, dword [ebp - 0x10c]
cmp dword [eax + 0x1d8], 0x2710
jb 0x538998
lea ecx, [ebp - 0x60]
push ecx
mov ecx, dword [ebp - 0x64]
add ecx, 0x1f8
call fcn.00553ad0
jmp 0x5389aa
lea edx, [ebp - 0x60]
push edx
mov ecx, dword [ebp - 0x64]
add ecx, 0x1f8
call fcn.00553ad0
xorps xmm0, xmm0
movsd qword [ebp - 0xbc], xmm0
mov eax, dword [ebp - 0x8c]
and eax, dword [ebp - 0x88]
cmp eax, 0xffffffff
je 0x538a60
mov edx, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x84]
call fcn.005079e0
mulsd xmm0, qword [0x6e7a60]
movsd qword [ebp - 0xbc], xmm0
mov ecx, dword [ebp - 0x8c]
or ecx, dword [ebp - 0x88]
je 0x538a60
mov edx, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x8c]
call fcn.005079e0
movsd xmm1, qword [ebp - 0xbc]
divsd xmm1, xmm0
movsd qword [ebp - 0xbc], xmm1
movsd xmm0, qword [ebp - 0xbc]
comisd xmm0, xmmword [0x6e7a58]
jbe 0x538a60
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x110], edx
mov eax, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x110]
mov edx, dword [eax + 0x1e8]
or edx, dword [ecx + 0x1ec]
jne 0x538a60
movsd xmm0, qword [0x6e7a60]
movsd qword [ebp - 0xbc], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0xc4], xmm0
mov eax, dword [ebp - 0xa4]
and eax, dword [ebp - 0xa0]
cmp eax, 0xffffffff
je 0x538b19
mov edx, dword [ebp - 0x150]
mov ecx, dword [ebp - 0x154]
call fcn.005079e0
mulsd xmm0, qword [0x6e7a60]
movsd qword [ebp - 0xc4], xmm0
mov ecx, dword [ebp - 0xa4]
or ecx, dword [ebp - 0xa0]
je 0x538b19
mov edx, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0xa4]
call fcn.005079e0
movsd xmm1, qword [ebp - 0xc4]
divsd xmm1, xmm0
movsd qword [ebp - 0xc4], xmm1
movsd xmm0, qword [ebp - 0xc4]
comisd xmm0, xmmword [0x6e7a58]
jbe 0x538b19
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x114], edx
mov eax, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x114]
mov edx, dword [eax + 0x1e8]
or edx, dword [ecx + 0x1ec]
jne 0x538b19
movsd xmm0, qword [0x6e7a60]
movsd qword [ebp - 0xc4], xmm0
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x94], eax
mov ecx, dword [ebp - 0x160]
mov dword [ebp - 0x90], ecx
mov edx, dword [ebp - 0x15c]
mov dword [ebp - 0x9c], edx
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x98], eax
mov ecx, dword [ebp - 0x9c]
and ecx, dword [ebp - 0x98]
cmp ecx, 0xffffffff
jne 0x538b70
mov edx, dword [ebp - 0x94]
and edx, dword [ebp - 0x90]
cmp edx, 0xffffffff
jne 0x538b70
jmp 0x538c30
mov eax, dword [ebp - 0x94]
and eax, dword [ebp - 0x90]
cmp eax, 0xffffffff
je 0x538c30
mov ecx, dword [ebp - 0x9c]
and ecx, dword [ebp - 0x98]
cmp ecx, 0xffffffff
je 0x538c30
mov edx, dword [ebp - 0x9c]
or edx, dword [ebp - 0x98]
je 0x538c30
push 0
push 0x64
mov eax, dword [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0x94]
push ecx
call fcn.00496800
mov ecx, dword [ebp - 0x98]
push ecx
mov ecx, dword [ebp - 0x9c]
push ecx
push edx
push eax
call fcn.00496840
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], edx
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x118], edx
mov eax, dword [ebp - 0x118]
mov ecx, dword [eax + 0x220]
cmp ecx, dword [ebp - 0x13c]
jne 0x538c15
mov edx, dword [ebp - 0x118]
mov eax, dword [edx + 0x224]
cmp eax, dword [ebp - 0x138]
je 0x538c30
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x13c]
mov dword [ecx + 0x220], edx
mov eax, dword [ebp - 0x138]
mov dword [ecx + 0x224], eax
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x94]
mov dword [ecx + 0x1c8], edx
mov eax, dword [ebp - 0x90]
mov dword [ecx + 0x1cc], eax
movsd xmm0, qword [ebp - 0xbc]
call fcn.005078c0
mov ecx, dword [ebp - 0x64]
mov dword [ecx + 0x260], eax
mov dword [ecx + 0x264], edx
movsd xmm0, qword [ebp - 0xc4]
call fcn.005078c0
mov ecx, dword [ebp - 0x64]
mov dword [ecx + 0x268], eax
mov dword [ecx + 0x26c], edx
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0xf0], edx
mov eax, dword [ebp - 0xf0]
cmp dword [eax + 0x264], 0
ja 0x538cad
mov ecx, dword [ebp - 0xf0]
cmp dword [ecx + 0x260], 0x2710
jb 0x538cc6
mov edx, dword [ebp - 0x64]
mov dword [edx + 0x260], 0x2710
mov dword [edx + 0x264], 0
jmp 0x538d06
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x11c], eax
mov ecx, dword [ebp - 0x11c]
cmp dword [ecx + 0x264], 0
ja 0x538d06
jb 0x538cef
mov edx, dword [ebp - 0x11c]
cmp dword [edx + 0x260], 0
jae 0x538d06
mov eax, dword [ebp - 0x64]
mov dword [eax + 0x260], 0
mov dword [eax + 0x264], 0
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x120], ecx
mov edx, dword [ebp - 0x120]
cmp dword [edx + 0x26c], 0
ja 0x538d30
mov eax, dword [ebp - 0x120]
cmp dword [eax + 0x268], 0x2710
jb 0x538d49
mov ecx, dword [ebp - 0x64]
mov dword [ecx + 0x268], 0x2710
mov dword [ecx + 0x26c], 0
jmp 0x538d89
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x124], edx
mov eax, dword [ebp - 0x124]
cmp dword [eax + 0x26c], 0
ja 0x538d89
jb 0x538d72
mov ecx, dword [ebp - 0x124]
cmp dword [ecx + 0x268], 0
jae 0x538d89
mov edx, dword [ebp - 0x64]
mov dword [edx + 0x268], 0
mov dword [edx + 0x26c], 0
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xec], ecx
mov edx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xec]
mov ecx, dword [edx + 0x264]
cmp ecx, dword [eax + 0x1dc]
jb 0x538def
ja 0x538dd1
mov edx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xec]
mov ecx, dword [edx + 0x260]
cmp ecx, dword [eax + 0x1d8]
jbe 0x538def
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax + 0x260]
mov dword [edx + 0x1d8], ecx
mov eax, dword [eax + 0x264]
mov dword [edx + 0x1dc], eax
mov ecx, dword [ebp - 0x64]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x538e77
mov eax, dword [ebp - 0x64]
movzx ecx, byte [eax + 0x11]
test ecx, ecx
je 0x538e43
mov edx, dword [ebp - 0x64]
push 0
push 0x46
mov eax, dword [edx + 0x1dc]
push eax
mov ecx, dword [edx + 0x1d8]
push ecx
call fcn.00496800
push 0
push 0x64
push edx
push eax
call fcn.00496840
add eax, 0xbb8
adc edx, 0
mov ecx, dword [ebp - 0x64]
mov dword [ecx + 0x1d8], eax
mov dword [ecx + 0x1dc], edx
jmp 0x538e77
mov edx, dword [ebp - 0x64]
push 0
push 0x1e
mov eax, dword [edx + 0x1dc]
push eax
mov ecx, dword [edx + 0x1d8]
push ecx
call fcn.00496800
push 0
push 0x64
push edx
push eax
call fcn.00496840
mov ecx, dword [ebp - 0x64]
mov dword [ecx + 0x1d8], eax
mov dword [ecx + 0x1dc], edx
mov edx, dword [ebp - 0x64]
movzx eax, byte [edx + 0x270]
test eax, eax
je 0x538fb1
lea ecx, [ebp - 0x194]
call fcn.00553c20
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x188]
call fcn.00553c20
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x64]
movzx edx, byte [ecx + 0x18c]
test edx, edx
je 0x538ece
mov eax, dword [ebp - 0x64]
add eax, 0x174
push eax
lea ecx, [ebp - 0x194]
call fcn.00553b70
jmp 0x538f49
mov ecx, dword [ebp - 0x64]
add ecx, 0x174
call fcn.00553560
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 0
jl 0x538f35
mov ecx, dword [ebp - 0xac]
add ecx, 1
push ecx
mov ecx, dword [ebp - 0x64]
add ecx, 0x174
call fcn.00447710
push eax
lea ecx, [ebp - 0x194]
call fcn.00552d40
mov edx, dword [ebp - 0xac]
add edx, 1
push edx
mov ecx, dword [ebp - 0x64]
add ecx, 0x174
call fcn.00447750
push eax
lea ecx, [ebp - 0x188]
call fcn.00553ad0
jmp 0x538f49
mov eax, dword [ebp - 0x64]
add eax, 0x174
push eax
lea ecx, [ebp - 0x188]
call fcn.00553b70
mov ecx, dword [ebp - 0x64]
mov edx, dword [ecx + 0x280]
push edx
lea eax, [ebp - 0x194]
push eax
mov ecx, dword [ebp - 0x64]
call fcn.00539060
mov ecx, dword [ebp - 0x64]
mov edx, dword [ecx + 0x280]
push edx
lea eax, [ebp - 0x188]
push eax
mov ecx, dword [ebp - 0x64]
call fcn.00539060
lea ecx, [ebp - 0x188]
push ecx
mov ecx, dword [ebp - 0x64]
add ecx, 0x234
call fcn.00553b70
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x188]
call fcn.00447680
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x194]
call fcn.00447680
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0xb4]
mov dword [edx + 0x1f0], eax
mov ecx, dword [ebp - 0xb0]
mov dword [edx + 0x1f4], ecx
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0xcc]
mov dword [edx + 0x240], eax
mov ecx, dword [ebp - 0xc8]
mov dword [edx + 0x244], ecx
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0xd4]
mov dword [edx + 0x248], eax
mov ecx, dword [ebp - 0xd0]
mov dword [edx + 0x24c], ecx
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0xdc]
mov dword [edx + 0x258], eax
mov ecx, dword [ebp - 0xd8]
mov dword [edx + 0x25c], ecx
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0xe4]
mov dword [edx + 0x250], eax
mov ecx, dword [ebp - 0xe0]
mov dword [edx + 0x254], ecx
mov edx, dword [ebp - 0x64]
mov al, byte [ebp - 0x6b]
mov byte [edx + 0x270], al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00495c0c
mov esp, ebp
pop ebp
ret