Function at 0x652bf8
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x46
push 0
push 0
dec ecx
jne 0x652c00
push ebx
push esi
push edi
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00409650
mov ebx, 0x674910
xor eax, eax
push ebp
push 0x653f1a
push dword fs:[eax]
mov dword fs:[eax], esp
movzx eax, byte [0x653f28]
push eax
lea eax, [ebp - 0xc]
push eax
mov ecx, 0x653f38
mov edx, 0x653f4c
mov eax, dword [ebp - 4]
call fcn.0042b4dc
mov edx, dword [ebp - 0xc]
mov eax, dword [ebx]
mov ecx, dword [eax]
call dword [ecx + 0x30]
mov eax, dword [ebx]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 5
jne 0x652c65
xor edx, edx
mov eax, dword [ebx]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov eax, dword [ebx]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 6
jne 0x653eec
lea ecx, [ebp - 0x14]
mov edx, 2
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x10]
call fcn.004226cc
mov ecx, dword [ebp - 0x10]
mov edx, 2
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0x20]
lea ecx, [ebp - 0x18]
mov edx, 2
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x18]
mov edx, 0x653f60
call fcn.0040a4c8
jne 0x652cce
mov eax, dword [0x636488]
call fcn.0063705c
test al, al
je 0x653eec
lea ecx, [ebp - 0x1c]
mov edx, 2
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x1c]
mov edx, 0x653f7c
call fcn.0040a4c8
jne 0x652cfe
mov eax, dword [0x636488]
call fcn.0063705c
cmp al, 1
je 0x653eec
lea ecx, [ebp - 0x24]
xor edx, edx
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x24]
lea edx, [ebp - 0x20]
call fcn.00640dec
mov ecx, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0x20]
lea ecx, [ebp - 0x2c]
mov edx, 1
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x2c]
lea edx, [ebp - 0x28]
call fcn.00640dec
mov ecx, dword [ebp - 0x28]
mov edx, 1
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0x20]
lea ecx, [ebp - 0x38]
mov edx, 3
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x34]
call fcn.00422ad8
mov eax, dword [ebp - 0x34]
lea edx, [ebp - 0x30]
call fcn.004226cc
mov ecx, dword [ebp - 0x30]
mov edx, 3
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0x20]
lea ecx, [ebp - 0x40]
mov edx, 4
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x40]
lea edx, [ebp - 0x3c]
call fcn.00640dec
mov ecx, dword [ebp - 0x3c]
mov edx, 4
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0x20]
lea ecx, [ebp - 0x48]
mov edx, 5
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x48]
lea edx, [ebp - 0x44]
call fcn.00640dec
mov ecx, dword [ebp - 0x44]
mov edx, 5
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0x20]
push 0x1f4
call sub.kernel32.dll_Sleep_2
mov eax, dword [0x66e35c]
mov eax, dword [eax]
call fcn.00615b30
lea ecx, [ebp - 0x4c]
mov edx, 3
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x4c]
mov edx, 0x653f98
call fcn.0040a4c8
jne 0x652e52
lea ecx, [ebp - 0x50]
mov edx, 4
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x50]
mov dl, 1
call fcn.00424064
test al, al
jne 0x652e52
lea ecx, [ebp - 0x54]
mov edx, 1
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x54]
push eax
lea ecx, [ebp - 0x58]
xor edx, edx
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x58]
pop edx
call fcn.00652ad8
test al, al
jne 0x652dd0
call fcn.00652a44
lea ecx, [ebp - 0x5c]
mov edx, 3
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x5c]
mov edx, 0x653fbc
call fcn.0040a4c8
jne 0x652ec2
lea ecx, [ebp - 0x60]
mov edx, 4
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x60]
mov dl, 1
call fcn.00424064
test al, al
je 0x652ec2
lea ecx, [ebp - 0x64]
mov edx, 1
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x64]
push eax
lea ecx, [ebp - 0x68]
xor edx, edx
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x68]
pop edx
call fcn.00652ad8
test al, al
jne 0x652dd0
call fcn.00652a44
lea ecx, [ebp - 0x6c]
mov edx, 3
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x6c]
mov edx, 0x653ff0
call fcn.0040a4c8
jne 0x652f32
lea ecx, [ebp - 0x70]
mov edx, 4
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x70]
mov dl, 1
call fcn.004240fc
test al, al
jne 0x652f32
lea ecx, [ebp - 0x74]
mov edx, 1
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x74]
push eax
lea ecx, [ebp - 0x78]
xor edx, edx
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x78]
pop edx
call fcn.00652ad8
test al, al
jne 0x652dd0
call fcn.00652a44
lea ecx, [ebp - 0x7c]
mov edx, 3
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x7c]
mov edx, 0x654018
call fcn.0040a4c8
jne 0x652fae
lea ecx, [ebp - 0x80]
mov edx, 4
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x80]
mov dl, 1
call fcn.004240fc
test al, al
je 0x652fae
lea ecx, [ebp - 0x84]
mov edx, 1
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x84]
push eax
lea ecx, [ebp - 0x88]
xor edx, edx
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x88]
pop edx
call fcn.00652ad8
test al, al
jne 0x652dd0
call fcn.00652a44
lea ecx, [ebp - 0x8c]
mov edx, 3
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x8c]
mov edx, 0x654050
call fcn.0040a4c8
jne 0x653065
lea ecx, [ebp - 0x90]
mov edx, 5
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x90]
push eax
lea ecx, [ebp - 0x98]
mov edx, 4
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x98]
lea edx, [ebp - 0x94]
call fcn.00636e70
mov eax, dword [ebp - 0x94]
mov cl, 1
pop edx
call fcn.00648c48
test al, al
jne 0x653065
lea ecx, [ebp - 0x9c]
mov edx, 1
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x9c]
push eax
lea ecx, [ebp - 0xa0]
xor edx, edx
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0xa0]
pop edx
call fcn.00652ad8
test al, al
jne 0x652dd0
call fcn.00652a44
lea ecx, [ebp - 0xa4]
mov edx, 3
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0xa4]
mov edx, 0x654098
call fcn.0040a4c8
jne 0x65311c
lea ecx, [ebp - 0xa8]
mov edx, 5
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0xa8]
push eax
lea ecx, [ebp - 0xb0]
mov edx, 4
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0xb0]
lea edx, [ebp - 0xac]
call fcn.00636e70
mov eax, dword [ebp - 0xac]
xor ecx, ecx
pop edx
call fcn.00648c48
test al, al
je 0x65311c
lea ecx, [ebp - 0xb4]
mov edx, 1
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0xb4]
push eax
lea ecx, [ebp - 0xb8]
xor edx, edx
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0xb8]
pop edx
call fcn.00652ad8
test al, al
jne 0x652dd0
call fcn.00652a44
lea ecx, [ebp - 0xbc]
mov edx, 3
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0xbc]
mov edx, 0x6540dc
call fcn.0040a4c8
jne 0x6531be
lea ecx, [ebp - 0xc0]
mov edx, 5
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0xc0]
push eax
lea ecx, [ebp - 0xc4]
mov edx, 4
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0xc4]
mov cl, 1
pop edx
call fcn.00648c48
test al, al
jne 0x6531be
lea ecx, [ebp - 0xc8]
mov edx, 1
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0xc8]
push eax
lea ecx, [ebp - 0xcc]
xor edx, edx
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0xcc]
pop edx
call fcn.00652ad8
test al, al
jne 0x652dd0
call fcn.00652a44
lea ecx, [ebp - 0xd0]
mov edx, 3
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0xd0]
mov edx, 0x65411c
call fcn.0040a4c8
jne 0x653260
lea ecx, [ebp - 0xd4]
mov edx, 5
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0xd4]
push eax
lea ecx, [ebp - 0xd8]
mov edx, 4
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0xd8]
mov cl, 1
pop edx
call fcn.00648c48
test al, al
jne 0x653260
lea ecx, [ebp - 0xdc]
mov edx, 1
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0xdc]
push eax
lea ecx, [ebp - 0xe0]
xor edx, edx
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0xe0]
pop edx
call fcn.00652ad8
test al, al
jne 0x652dd0
call fcn.00652a44
lea ecx, [ebp - 0xe4]
mov edx, 3
mov eax, dword [ebx]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0xe4]
cmp word [eax], 0x52
jne 0x653eec
mov dl, 1
mov eax, dword [0x50d438]
call fcn.0050e584
mov esi, eax
lea ecx, [ebp - 0xe8]
mov edx, 2
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0xe8]
mov edx, 0x654158
call fcn.0040a4c8
je 0x6532e1
lea ecx, [ebp - 0xec]
mov edx, 2
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0xec]
mov edx, 0x654174
call fcn.0040a4c8
jne 0x6532ea
cmp byte [0x6748d8], 0
je 0x6532ea
mov dword [esi + 0x18], 0x20119
jmp 0x6532f1
mov dword [esi + 0x18], 0x20019
lea eax, [ebp - 0xf0]
push eax
lea ecx, [ebp - 0xf4]
mov edx, 4
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0xf4]
mov ecx, 1
mov eax, 0x654188
call fcn.0040a710
dec eax
push eax
lea ecx, [ebp - 0xf8]
mov edx, 4
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0xf8]
mov edx, 1
pop ecx
call fcn.0040a500
mov eax, dword [ebp - 0xf0]
lea edx, [ebp - 8]
call fcn.004226cc
mov eax, dword [ebp - 8]
mov edx, 0x654198
call fcn.0040a4c8
jne 0x65336e
lea eax, [ebp - 8]
mov edx, 0x6541b0
call fcn.00409994
mov eax, dword [ebp - 8]
mov edx, 0x6541e0
call fcn.0040a4c8
jne 0x65338a
lea eax, [ebp - 8]
mov edx, 0x6541f8
call fcn.00409994
mov eax, dword [ebp - 8]
mov edx, 0x654228
call fcn.0040a4c8
jne 0x6533a6
lea eax, [ebp - 8]
mov edx, 0x654240
call fcn.00409994
mov eax, dword [ebp - 8]
mov edx, 0x654274
call fcn.0040a4c8
jne 0x6533c2
lea eax, [ebp - 8]
mov edx, 0x654288
call fcn.00409994
mov eax, dword [ebp - 8]
mov edx, 0x6542ac
call fcn.0040a4c8
jne 0x6533df
mov edx, 0x80000000
mov eax, esi
call fcn.0050e66c
jmp 0x653442
mov eax, dword [ebp - 8]
mov edx, 0x6542dc
call fcn.0040a4c8
jne 0x6533fc
mov edx, 0x80000001
mov eax, esi
call fcn.0050e66c
jmp 0x653442
mov eax, dword [ebp - 8]
mov edx, 0x65430c
call fcn.0040a4c8
jne 0x653419
mov edx, 0x80000002
mov eax, esi
call fcn.0050e66c
jmp 0x653442
mov eax, dword [ebp - 8]
mov edx, 0x654340
call fcn.0040a4c8
jne 0x653436
mov edx, 0x80000003
mov eax, esi
call fcn.0050e66c
jmp 0x653442
mov eax, esi
call fcn.004078f0
jmp 0x653eec
lea ecx, [ebp - 8]
mov edx, 4
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, 1
mov edx, dword [ebp - 8]
mov eax, 0x654364
call fcn.0040a710
mov ecx, eax
lea eax, [ebp - 8]
mov edx, 1
call fcn.0040a548
lea ecx, [ebp - 0xfc]
mov edx, 3
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0xfc]
mov edx, 0x654374
call fcn.0040a4c8
jne 0x6534ee
xor ecx, ecx
mov edx, dword [ebp - 8]
mov eax, esi
call fcn.0050e7c4
test al, al
jne 0x6534ee
mov eax, esi
call fcn.004078f0
lea ecx, [ebp - 0x100]
mov edx, 1
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x100]
push eax
lea ecx, [ebp - 0x104]
xor edx, edx
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x104]
pop edx
call fcn.00652ad8
test al, al
jne 0x652dd0
call fcn.00652a44
lea ecx, [ebp - 0x108]
mov edx, 3
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x108]
mov edx, 0x6543a8
call fcn.0040a4c8
jne 0x653571
xor ecx, ecx
mov edx, dword [ebp - 8]
mov eax, esi
call fcn.0050e7c4
test al, al
je 0x653571
mov eax, esi
call fcn.0050e63c
mov eax, esi
call fcn.004078f0
lea ecx, [ebp - 0x10c]
mov edx, 1
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x10c]
push eax
lea ecx, [ebp - 0x110]
xor edx, edx
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x110]
pop edx
call fcn.00652ad8
test al, al
jne 0x652dd0
call fcn.00652a44
lea ecx, [ebp - 0x114]
mov edx, 3
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x114]
mov edx, 0x6543ec
call fcn.0040a4c8
jne 0x6536a8
lea ecx, [ebp - 0x11c]
mov edx, 4
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x11c]
lea ecx, [ebp - 0x118]
mov dl, 1
call fcn.0065294c
mov edx, dword [ebp - 0x118]
xor ecx, ecx
mov eax, esi
call fcn.0050e7c4
test al, al
je 0x653660
lea ecx, [ebp - 0x124]
mov edx, 4
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x124]
lea ecx, [ebp - 0x120]
xor edx, edx
call fcn.0065294c
mov edx, dword [ebp - 0x120]
mov eax, esi
call fcn.0050f734
test al, al
jne 0x6536a8
mov eax, esi
call fcn.0050e63c
mov eax, esi
call fcn.004078f0
lea ecx, [ebp - 0x128]
mov edx, 1
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x128]
push eax
lea ecx, [ebp - 0x12c]
xor edx, edx
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x12c]
pop edx
call fcn.00652ad8
test al, al
jne 0x652dd0
call fcn.00652a44
jmp 0x6536a8
mov eax, esi
call fcn.004078f0
lea ecx, [ebp - 0x130]
mov edx, 1
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x130]
push eax
lea ecx, [ebp - 0x134]
xor edx, edx
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x134]
pop edx
call fcn.00652ad8
test al, al
jne 0x652dd0
call fcn.00652a44
lea ecx, [ebp - 0x138]
mov edx, 3
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x138]
mov edx, 0x654424
call fcn.0040a4c8
jne 0x653791
lea ecx, [ebp - 0x140]
mov edx, 4
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x140]
lea ecx, [ebp - 0x13c]
mov dl, 1
call fcn.0065294c
mov edx, dword [ebp - 0x13c]
xor ecx, ecx
mov eax, esi
call fcn.0050e7c4
test al, al
je 0x653791
lea ecx, [ebp - 0x148]
mov edx, 4
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x148]
lea ecx, [ebp - 0x144]
xor edx, edx
call fcn.0065294c
mov edx, dword [ebp - 0x144]
mov eax, esi
call fcn.0050f734
test al, al
je 0x653791
mov eax, esi
call fcn.0050e63c
mov eax, esi
call fcn.004078f0
lea ecx, [ebp - 0x14c]
mov edx, 1
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x150]
xor edx, edx
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x150]
pop edx
call fcn.00652ad8
test al, al
jne 0x652dd0
call fcn.00652a44
lea ecx, [ebp - 0x154]
mov edx, 3
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x154]
mov edx, 0x65446c
call fcn.0040a4c8
jne 0x653989
lea ecx, [ebp - 0x15c]
mov edx, 4
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x15c]
lea ecx, [ebp - 0x158]
mov dl, 1
call fcn.0065294c
mov edx, dword [ebp - 0x158]
xor ecx, ecx
mov eax, esi
call fcn.0050e7c4
test al, al
je 0x653941
lea ecx, [ebp - 0x164]
mov edx, 4
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x164]
lea ecx, [ebp - 0x160]
xor edx, edx
call fcn.0065294c
mov edx, dword [ebp - 0x160]
mov eax, esi
call fcn.0050f734
test al, al
je 0x6538f0
lea eax, [ebp - 0x168]
push eax
lea ecx, [ebp - 0x170]
mov edx, 4
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x170]
lea ecx, [ebp - 0x16c]
xor edx, edx
call fcn.0065294c
mov edx, dword [ebp - 0x16c]
xor ecx, ecx
mov eax, esi
call fcn.0050f25c
mov eax, dword [ebp - 0x168]
push eax
lea ecx, [ebp - 0x174]
mov edx, 5
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x174]
mov ecx, 1
pop edx
call fcn.0040a710
test eax, eax
jne 0x653989
mov eax, esi
call fcn.0050e63c
mov eax, esi
call fcn.004078f0
lea ecx, [ebp - 0x178]
mov edx, 1
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x178]
push eax
lea ecx, [ebp - 0x17c]
xor edx, edx
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x17c]
pop edx
call fcn.00652ad8
test al, al
jne 0x652dd0
call fcn.00652a44
jmp 0x653989
mov eax, esi
call fcn.0050e63c
mov eax, esi
call fcn.004078f0
lea ecx, [ebp - 0x180]
mov edx, 1
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x180]
push eax
lea ecx, [ebp - 0x184]
xor edx, edx
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x184]
pop edx
call fcn.00652ad8
test al, al
jne 0x652dd0
call fcn.00652a44
jmp 0x653989
mov eax, esi
call fcn.004078f0
lea ecx, [ebp - 0x188]
mov edx, 1
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x188]
push eax
lea ecx, [ebp - 0x18c]
xor edx, edx
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x18c]
pop edx
call fcn.00652ad8
test al, al
jne 0x652dd0
call fcn.00652a44
lea ecx, [ebp - 0x190]
mov edx, 3
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x190]
mov edx, 0x6544a8
call fcn.0040a4c8
jne 0x653afb
lea ecx, [ebp - 0x198]
mov edx, 4
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x198]
lea ecx, [ebp - 0x194]
mov dl, 1
call fcn.0065294c
mov edx, dword [ebp - 0x194]
xor ecx, ecx
mov eax, esi
call fcn.0050e7c4
test al, al
je 0x653afb
lea ecx, [ebp - 0x1a0]
mov edx, 4
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x1a0]
lea ecx, [ebp - 0x19c]
xor edx, edx
call fcn.0065294c
mov edx, dword [ebp - 0x19c]
mov eax, esi
call fcn.0050f734
test al, al
je 0x653aed
lea eax, [ebp - 0x1a4]
push eax
lea ecx, [ebp - 0x1ac]
mov edx, 4
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x1ac]
lea ecx, [ebp - 0x1a8]
xor edx, edx
call fcn.0065294c
mov edx, dword [ebp - 0x1a8]
xor ecx, ecx
mov eax, esi
call fcn.0050f25c
mov eax, dword [ebp - 0x1a4]
push eax
lea ecx, [ebp - 0x1b0]
mov edx, 5
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x1b0]
mov ecx, 1
pop edx
call fcn.0040a710
test eax, eax
jle 0x653adf
mov eax, esi
call fcn.0050e63c
mov eax, esi
call fcn.004078f0
lea ecx, [ebp - 0x1b4]
mov edx, 1
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x1b4]
push eax
lea ecx, [ebp - 0x1b8]
xor edx, edx
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x1b8]
pop edx
call fcn.00652ad8
test al, al
jne 0x652dd0
call fcn.00652a44
mov eax, esi
call fcn.0050e63c
mov eax, esi
call fcn.004078f0
mov eax, esi
call fcn.0050e63c
mov eax, esi
call fcn.004078f0
lea ecx, [ebp - 0x1bc]
mov edx, 3
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x1bc]
mov edx, 0x6544f4
call fcn.0040a4c8
jne 0x653cf0
lea ecx, [ebp - 0x1c4]
mov edx, 4
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x1c4]
lea ecx, [ebp - 0x1c0]
mov dl, 1
call fcn.0065294c
mov edx, dword [ebp - 0x1c0]
xor ecx, ecx
mov eax, esi
call fcn.0050e7c4
test al, al
je 0x653ca8
lea ecx, [ebp - 0x1cc]
mov edx, 4
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x1cc]
lea ecx, [ebp - 0x1c8]
xor edx, edx
call fcn.0065294c
mov edx, dword [ebp - 0x1c8]
mov eax, esi
call fcn.0050f734
test al, al
je 0x653c57
lea ecx, [ebp - 0x1d0]
mov edx, 5
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x1d0]
push eax
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0x1dc]
mov edx, 4
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x1dc]
lea ecx, [ebp - 0x1d8]
xor edx, edx
call fcn.0065294c
mov edx, dword [ebp - 0x1d8]
xor ecx, ecx
mov eax, esi
call fcn.0050f25c
mov eax, dword [ebp - 0x1d4]
mov cl, 1
pop edx
call fcn.00648c48
test al, al
jne 0x653cf0
mov eax, esi
call fcn.0050e63c
mov eax, esi
call fcn.004078f0
lea ecx, [ebp - 0x1e0]
mov edx, 1
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x1e0]
push eax
lea ecx, [ebp - 0x1e4]
xor edx, edx
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x1e4]
pop edx
call fcn.00652ad8
test al, al
jne 0x652dd0
call fcn.00652a44
jmp 0x653cf0
mov eax, esi
call fcn.0050e63c
mov eax, esi
call fcn.004078f0
lea ecx, [ebp - 0x1e8]
mov edx, 1
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x1e8]
push eax
lea ecx, [ebp - 0x1ec]
xor edx, edx
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x1ec]
pop edx
call fcn.00652ad8
test al, al
jne 0x652dd0
call fcn.00652a44
jmp 0x653cf0
mov eax, esi
call fcn.004078f0
lea ecx, [ebp - 0x1f0]
mov edx, 1
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x1f0]
push eax
lea ecx, [ebp - 0x1f4]
xor edx, edx
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x1f4]
pop edx
call fcn.00652ad8
test al, al
jne 0x652dd0
call fcn.00652a44
lea ecx, [ebp - 0x1f8]
mov edx, 3
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x1f8]
mov edx, 0x654540
call fcn.0040a4c8
jne 0x653ee5
lea ecx, [ebp - 0x200]
mov edx, 4
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x200]
lea ecx, [ebp - 0x1fc]
mov dl, 1
call fcn.0065294c
mov edx, dword [ebp - 0x1fc]
xor ecx, ecx
mov eax, esi
call fcn.0050e7c4
test al, al
je 0x653e9d
lea ecx, [ebp - 0x208]
mov edx, 4
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x208]
lea ecx, [ebp - 0x204]
xor edx, edx
call fcn.0065294c
mov edx, dword [ebp - 0x204]
mov eax, esi
call fcn.0050f734
test al, al
je 0x653e4c
lea ecx, [ebp - 0x20c]
mov edx, 5
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x20c]
push eax
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x218]
mov edx, 4
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x218]
lea ecx, [ebp - 0x214]
xor edx, edx
call fcn.0065294c
mov edx, dword [ebp - 0x214]
xor ecx, ecx
mov eax, esi
call fcn.0050f25c
mov eax, dword [ebp - 0x210]
xor ecx, ecx
pop edx
call fcn.00648c48
test al, al
je 0x653ee5
mov eax, esi
call fcn.0050e63c
mov eax, esi
call fcn.004078f0
lea ecx, [ebp - 0x21c]
mov edx, 1
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x220]
xor edx, edx
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x220]
pop edx
call fcn.00652ad8
test al, al
jne 0x652dd0
call fcn.00652a44
jmp 0x653ee5
mov eax, esi
call fcn.0050e63c
mov eax, esi
call fcn.004078f0
lea ecx, [ebp - 0x224]
mov edx, 1
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x224]
push eax
lea ecx, [ebp - 0x228]
xor edx, edx
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x228]
pop edx
call fcn.00652ad8
test al, al
jne 0x652dd0
call fcn.00652a44
jmp 0x653ee5
mov eax, esi
call fcn.004078f0
lea ecx, [ebp - 0x22c]
mov edx, 1
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x22c]
push eax
lea ecx, [ebp - 0x230]
xor edx, edx
mov eax, dword [ebx]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x230]
pop edx
call fcn.00652ad8
test al, al
jne 0x652dd0
call fcn.00652a44
mov eax, esi
call fcn.004078f0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x653f21
lea eax, [ebp - 0x230]
mov edx, 0x64
call fcn.004095cc
lea eax, [ebp - 0xa0]
mov edx, 0x28
call fcn.004095cc
ret