Function at 0x572534
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x1a
push 0
push 0
dec ecx
jne 0x57253c
push ecx
push ebx
push esi
push edi
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], eax
xor eax, eax
push ebp
push 0x5737f8
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
call dword [edx + 0x24]
mov edx, dword [ebp - 0x24]
mov dword [edx + 0x2c], eax
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
call dword [edx + 0x28]
mov edx, dword [ebp - 0x24]
mov dword [edx + 0x30], eax
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
call fcn.00570964
mov dl, 1
mov eax, dword [ebp - 0x24]
call fcn.005762b0
xor edx, edx
mov eax, dword [ebp - 0x24]
call fcn.005762b4
mov dl, 1
mov eax, dword [ebp - 0x24]
call fcn.00576050
mov ecx, 0xa
mov edx, 0x573814
mov eax, dword [ebp - 0x24]
call fcn.00575858
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
call dword [edx + 0x14]
lea edx, [ebp - 0x40]
call fcn.00424ff4
mov ecx, dword [ebp - 0x40]
lea eax, [ebp - 0x3c]
mov edx, 0x573854
call fcn.0040b444
mov edx, dword [ebp - 0x3c]
mov ecx, 0xa
mov eax, dword [ebp - 0x24]
call fcn.00574f04
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jne 0x5736bf
mov ecx, 1
mov edx, 0x573888
mov eax, dword [ebp - 0x24]
call fcn.00574cf8
mov eax, 1
call fcn.0040a548
jmp 0x5736bf
lea ecx, [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov ebx, dword [eax]
call dword [ebx + 0xc]
lea edx, [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.004242f0
call fcn.00407300
dec eax
cmp eax, dword [ebp - 0x2c]
jle 0x572698
xor eax, eax
push ebp
push 0x57266e
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0x44]
mov edx, dword [ebp - 0x2c]
inc edx
mov eax, dword [ebp - 0x28]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x44]
lea edx, [ebp - 0xc]
call fcn.004246f0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5726a0
lea eax, [ebp - 0xc]
call fcn.0040a6e8
add dword [ebp - 0x2c], 2
mov eax, dword [ebp - 8]
mov edx, 0x5738d8
call fcn.0040b57c
je 0x57271c
mov eax, dword [ebp - 8]
mov edx, 0x5738ec
call fcn.0040b57c
je 0x57271c
mov eax, dword [ebp - 8]
mov edx, 0x573908
call fcn.0040b57c
je 0x57271c
mov eax, dword [ebp - 8]
mov edx, 0x57391c
call fcn.0040b57c
je 0x57271c
mov eax, dword [ebp - 8]
mov edx, 0x573938
call fcn.0040b57c
je 0x57271c
mov eax, dword [ebp - 8]
mov edx, 0x57394c
call fcn.0040b57c
je 0x57271c
mov eax, dword [ebp - 8]
mov edx, 0x573974
call fcn.0040b57c
je 0x57271c
mov eax, dword [ebp - 8]
mov edx, 0x573988
call fcn.0040b57c
jne 0x572724
dec dword [ebp - 0x2c]
jmp 0x5736bf
mov eax, dword [ebp - 8]
mov edx, 0x5739a4
call fcn.0040b57c
je 0x572746
mov eax, dword [ebp - 8]
mov edx, 0x5739b8
call fcn.0040b57c
jne 0x57284f
lea edx, [ebp - 0x48]
mov eax, dword [ebp - 0xc]
call fcn.0042618c
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x24]
add eax, 0x40
call fcn.0040aac8
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x40]
call fcn.004260b4
cmp dword [ebp - 0x14], 0
jne 0x572813
xor eax, eax
push ebp
push 0x5727c5
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x18]
call fcn.0040a6e8
mov eax, dword [ebp - 0x24]
mov esi, dword [eax + 0x40]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x4c], esi
mov eax, dword [ebp - 0x4c]
call fcn.0042cbe8
mov eax, dword [ebp - 0x24]
add eax, 0x40
mov edx, dword [ebp - 0x18]
call fcn.0040aac8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5727cc
lea eax, [ebp - 0x18]
call fcn.0040a6e8
ret
mov dl, 1
mov eax, dword [ebp - 0x24]
call fcn.0057608c
xor edx, edx
mov eax, dword [ebp - 0x24]
call fcn.00576080
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x40]
lea eax, [ebp - 0x54]
mov edx, 0x573a14
call fcn.0040b444
mov edx, dword [ebp - 0x54]
mov ecx, 5
mov eax, dword [ebp - 0x24]
call fcn.00575858
jmp 0x5736bf
mov eax, dword [ebp - 8]
mov edx, 0x573a3c
call fcn.0040b57c
je 0x57286d
mov eax, dword [ebp - 8]
mov edx, 0x573a50
call fcn.0040b57c
jne 0x5728a1
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x2e
jne 0x572889
mov eax, dword [ebp - 0x24]
add eax, 0x6c
mov edx, dword [ebp - 0xc]
call fcn.0040aac8
jmp 0x5736bf
mov eax, dword [ebp - 0x24]
add eax, 0x6c
mov ecx, dword [ebp - 0xc]
mov edx, 0x573a80
call fcn.0040b444
jmp 0x5736bf
mov eax, dword [ebp - 8]
mov edx, 0x573a90
call fcn.0040b57c
je 0x5728c3
mov eax, dword [ebp - 8]
mov edx, 0x573aa4
call fcn.0040b57c
jne 0x572a99
lea edx, [ebp - 0x58]
mov eax, dword [ebp - 0xc]
call fcn.0042618c
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x24]
add eax, 0x44
call fcn.0040aac8
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x44]
lea eax, [ebp - 0x5c]
mov edx, 0x573ac8
call fcn.0040b444
mov edx, dword [ebp - 0x5c]
mov ecx, 5
mov eax, dword [ebp - 0x24]
call fcn.00574f04
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x44]
call fcn.00425f38
cmp dword [ebp - 0x10], 0
jne 0x572978
lea eax, [ebp - 0x10]
call fcn.00426284
xor eax, eax
push ebp
push 0x57295d
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x1c]
call fcn.0040a6e8
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
call fcn.0042cbe8
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x1c]
call fcn.0040ab10
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x572964
lea eax, [ebp - 0x1c]
call fcn.0040a6e8
ret
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x44]
mov dl, 1
call fcn.004259e0
test al, al
jne 0x5729c9
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x44]
mov dl, 1
call fcn.00425a78
test al, al
jne 0x5729c9
push 0x573af4
mov eax, dword [ebp - 0x24]
push dword [eax + 0x44]
push 0x573b1c
lea eax, [ebp - 0x60]
mov edx, 3
call fcn.0040b4cc
mov ecx, dword [ebp - 0x60]
mov edx, 0xcc
mov eax, dword [ebp - 0x24]
call fcn.00571ff8
jmp 0x572a31
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x44]
mov dl, 1
call fcn.004259e0
test al, al
je 0x5729f0
mov dl, 1
mov eax, dword [ebp - 0x24]
call fcn.00576088
xor edx, edx
mov eax, dword [ebp - 0x24]
call fcn.0057607c
jmp 0x572a31
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x44]
mov dl, 1
call fcn.00425a78
test al, al
je 0x572a31
xor edx, edx
mov eax, dword [ebp - 0x24]
call fcn.00576088
mov dl, 1
mov eax, dword [ebp - 0x24]
call fcn.0057607c
lea edx, [ebp - 0x64]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x44]
call fcn.0042618c
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x24]
add eax, 0x44
call fcn.0040aac8
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x40], 0
jne 0x5736bf
xor eax, eax
push ebp
push 0x572a83
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x20]
call fcn.0040a6e8
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 0x10]
call fcn.0042cbe8
mov eax, dword [ebp - 0x24]
add eax, 0x40
mov edx, dword [ebp - 0x20]
call fcn.0040aac8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x572a8a
lea eax, [ebp - 0x20]
call fcn.0040a6e8
ret
mov eax, dword [ebp - 8]
mov edx, 0x573b4c
call fcn.0040b57c
je 0x572ac6
mov eax, dword [ebp - 8]
mov edx, 0x573b74
call fcn.0040b57c
je 0x572ac6
mov eax, dword [ebp - 8]
mov edx, 0x573b98
call fcn.0040b57c
jne 0x572ae7
mov eax, dword [ebp - 0x24]
mov byte [eax + 0x68], 0
mov ecx, 5
mov edx, 0x573bc0
mov eax, dword [ebp - 0x24]
call fcn.00575858
dec dword [ebp - 0x2c]
jmp 0x5736bf
mov eax, dword [ebp - 8]
mov edx, 0x573c34
call fcn.0040b57c
jne 0x572b08
mov dl, 1
mov eax, dword [ebp - 0x24]
call fcn.005762ac
dec dword [ebp - 0x2c]
jmp 0x5736bf
mov eax, dword [ebp - 8]
mov edx, 0x573c54
call fcn.0040b57c
je 0x572b35
mov eax, dword [ebp - 8]
mov edx, 0x573c68
call fcn.0040b57c
je 0x572b35
mov eax, dword [ebp - 8]
mov edx, 0x573ca0
call fcn.0040b57c
jne 0x572b45
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
call dword [ecx + 8]
jmp 0x5736bf
mov eax, dword [ebp - 8]
mov edx, 0x573cc8
call fcn.0040b57c
je 0x572b63
mov eax, dword [ebp - 8]
mov edx, 0x573cdc
call fcn.0040b57c
jne 0x572bb9
mov eax, dword [ebp - 0xc]
call fcn.00576330
test al, al
je 0x5736bf
mov eax, dword [ebp - 0xc]
call fcn.0042538c
mov edx, eax
mov eax, dword [ebp - 0x24]
call fcn.005760a8
lea edx, [ebp - 0x6c]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x54]
call fcn.00424ff4
mov ecx, dword [ebp - 0x6c]
lea eax, [ebp - 0x68]
mov edx, 0x573d00
call fcn.0040b444
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x54]
mov eax, dword [ebp - 0x24]
call fcn.00575858
jmp 0x5736bf
mov eax, dword [ebp - 8]
mov edx, 0x573d30
call fcn.0040b57c
je 0x572bd7
mov eax, dword [ebp - 8]
mov edx, 0x573d44
call fcn.0040b57c
jne 0x572be9
xor edx, edx
mov eax, dword [ebp - 0x24]
call fcn.005762b0
dec dword [ebp - 0x2c]
jmp 0x5736bf
mov eax, dword [ebp - 8]
mov edx, 0x573d60
call fcn.0040b57c
je 0x572c29
mov eax, dword [ebp - 8]
mov edx, 0x573d74
call fcn.0040b57c
je 0x572c29
mov eax, dword [ebp - 8]
mov edx, 0x573d88
call fcn.0040b57c
je 0x572c29
mov eax, dword [ebp - 8]
mov edx, 0x573da8
call fcn.0040b57c
jne 0x572d5c
mov eax, dword [ebp - 0xc]
call fcn.00576330
test al, al
je 0x572c9b
mov eax, dword [ebp - 0xc]
call fcn.0042538c
mov edx, dword [ebp - 0x24]
mov dword [edx + 0x38], eax
mov eax, dword [ebp - 8]
mov edx, 0x573d74
call fcn.0040b57c
je 0x572d29
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 0x38]
mov eax, dword [ebp - 0x24]
call fcn.005720c8
test al, al
jne 0x572d29
push 0x573dd0
push dword [ebp - 0xc]
push 0x573df8
lea eax, [ebp - 0x70]
mov edx, 3
call fcn.0040b4cc
mov ecx, dword [ebp - 0x70]
mov edx, 0xc8
mov eax, dword [ebp - 0x24]
call fcn.005755a8
jmp 0x572d29
mov eax, dword [ebp - 0x24]
add eax, 0x34
mov edx, dword [ebp - 0xc]
call fcn.0040aac8
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 0x34]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x2c]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0xffffffff
jle 0x572ceb
lea ecx, [ebp - 0x74]
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 0x34]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x2c]
call fcn.004b9e20
mov eax, dword [ebp - 0x74]
call fcn.0042538c
mov edx, eax
mov eax, dword [ebp - 0x24]
call fcn.00576294
jmp 0x572d29
cmp dword [ebp - 0x30], 0xffffffff
jne 0x572d29
push 0x573dd0
mov eax, dword [ebp - 0x24]
push dword [eax + 0x34]
push 0x573e78
mov eax, dword [ebp - 0x24]
push dword [eax + 0x24]
push 0x573ea4
lea eax, [ebp - 0x78]
mov edx, 5
call fcn.0040b4cc
mov ecx, dword [ebp - 0x78]
mov edx, 0xc8
mov eax, dword [ebp - 0x24]
call fcn.005755a8
lea edx, [ebp - 0x80]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x38]
call fcn.00424ff4
mov ecx, dword [ebp - 0x80]
lea eax, [ebp - 0x7c]
mov edx, 0x573efc
call fcn.0040b444
mov edx, dword [ebp - 0x7c]
mov ecx, 0xa
mov eax, dword [ebp - 0x24]
call fcn.00574f04
jmp 0x5736bf
mov eax, dword [ebp - 8]
mov edx, 0x573f2c
call fcn.0040b57c
je 0x572d7a
mov eax, dword [ebp - 8]
mov edx, 0x573f40
call fcn.0040b57c
jne 0x572d91
mov eax, dword [ebp - 0xc]
call fcn.0042538c
mov edx, eax
mov eax, dword [ebp - 0x24]
call fcn.00575fec
jmp 0x5736bf
mov eax, dword [ebp - 8]
mov edx, 0x573f6c
call fcn.0040b57c
je 0x572daf
mov eax, dword [ebp - 8]
mov edx, 0x573f80
call fcn.0040b57c
jne 0x572dc6
mov eax, dword [ebp - 0xc]
call fcn.0042538c
mov edx, eax
mov eax, dword [ebp - 0x24]
call fcn.00576034
jmp 0x5736bf
mov eax, dword [ebp - 8]
mov edx, 0x573fa4
call fcn.0040b57c
je 0x572de4
mov eax, dword [ebp - 8]
mov edx, 0x573fb8
call fcn.0040b57c
jne 0x572df6
mov dl, 1
mov eax, dword [ebp - 0x24]
call fcn.005760d0
dec dword [ebp - 0x2c]
jmp 0x5736bf
mov eax, dword [ebp - 8]
mov edx, 0x573fe4
call fcn.0040b57c
je 0x572e14
mov eax, dword [ebp - 8]
mov edx, 0x573ff8
call fcn.0040b57c
jne 0x572e31
mov eax, dword [ebp - 0x24]
add eax, 0x64
mov edx, dword [ebp - 0xc]
call fcn.0040aac8
mov dl, 1
mov eax, dword [ebp - 0x24]
call fcn.005760d0
jmp 0x5736bf
mov eax, dword [ebp - 8]
mov edx, 0x574020
call fcn.0040b57c
je 0x572e4f
mov eax, dword [ebp - 8]
mov edx, 0x574034
call fcn.0040b57c
jne 0x572e66
mov eax, dword [ebp - 0xc]
call fcn.00425540
mov edx, eax
mov eax, dword [ebp - 0x24]
call fcn.0057605c
jmp 0x5736bf
mov eax, dword [ebp - 8]
mov edx, 0x57405c
call fcn.0040b57c
je 0x572e84
mov eax, dword [ebp - 8]
mov edx, 0x574070
call fcn.0040b57c
jne 0x572ea5
mov dl, 1
mov eax, dword [ebp - 0x24]
call fcn.00576060
mov eax, dword [ebp - 0xc]
call fcn.0042538c
mov edx, eax
mov eax, dword [ebp - 0x24]
call fcn.00576064
jmp 0x5736bf
mov eax, dword [ebp - 8]
mov edx, 0x5740a0
call fcn.0040b57c
je 0x572ec3
mov eax, dword [ebp - 8]
mov edx, 0x5740b4
call fcn.0040b57c
jne 0x572ed5
mov dl, 1
mov eax, dword [ebp - 0x24]
call fcn.00576058
dec dword [ebp - 0x2c]
jmp 0x5736bf
mov eax, dword [ebp - 8]
mov edx, 0x5740f0
call fcn.0040b57c
jne 0x572ef6
mov dl, 1
mov eax, dword [ebp - 0x24]
call fcn.00576264
dec dword [ebp - 0x2c]
jmp 0x5736bf
mov eax, dword [ebp - 8]
mov edx, 0x574128
call fcn.0040b57c
je 0x572f14
mov eax, dword [ebp - 8]
mov edx, 0x574154
call fcn.0040b57c
jne 0x572f26
mov eax, dword [ebp - 0x24]
mov byte [eax + 0xa4], 1
dec dword [ebp - 0x2c]
jmp 0x5736bf
mov eax, dword [ebp - 8]
mov edx, 0x574184
call fcn.0040b57c
je 0x572f44
mov eax, dword [ebp - 8]
mov edx, 0x574198
call fcn.0040b57c
jne 0x572f7b
lea edx, [ebp - 0x31]
mov eax, dword [ebp - 0xc]
call fcn.004255c8
test al, al
je 0x572f64
movzx edx, byte [ebp - 0x31]
mov eax, dword [ebp - 0x24]
call fcn.005762d0
jmp 0x5736bf
mov ecx, 0x5741c0
mov edx, 0xc8
mov eax, dword [ebp - 0x24]
call fcn.005755a8
jmp 0x5736bf
mov eax, dword [ebp - 8]
mov edx, 0x574234
call fcn.0040b57c
je 0x572f9d
mov eax, dword [ebp - 8]
mov edx, 0x574264
call fcn.0040b57c
jne 0x573042
mov eax, dword [ebp - 0x24]
call fcn.0057688c
mov edx, dword [ebp - 0xc]
call fcn.0052e05c
test al, al
je 0x573017
mov eax, dword [ebp - 0x24]
call fcn.0057688c
lea ecx, [ebp - 0x84]
mov edx, dword [ebp - 0xc]
call fcn.004b9e20
mov eax, dword [ebp - 0x84]
call fcn.0042538c
mov edx, dword [ebp - 0x24]
mov dword [edx + 0x10], eax
lea edx, [ebp - 0x8c]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x10]
call fcn.00424ff4
mov ecx, dword [ebp - 0x8c]
lea eax, [ebp - 0x88]
mov edx, 0x57429c
call fcn.0040b444
mov edx, dword [ebp - 0x88]
mov ecx, 0xa
mov eax, dword [ebp - 0x24]
call fcn.00574f04
jmp 0x5736bf
lea eax, [ebp - 0x90]
mov ecx, dword [ebp - 0xc]
mov edx, 0x5742cc
call fcn.0040b444
mov ecx, dword [ebp - 0x90]
mov edx, 0xcd
mov eax, dword [ebp - 0x24]
call fcn.005755a8
jmp 0x5736bf
mov eax, dword [ebp - 8]
mov edx, 0x57432c
call fcn.0040b57c
jne 0x573122
mov eax, dword [ebp - 0xc]
mov edx, 0x574358
call fcn.0040b57c
je 0x573073
mov eax, dword [ebp - 0xc]
mov edx, 0x57438c
call fcn.0040b57c
jne 0x5730c8
mov eax, dword [ebp - 0x24]
call fcn.00576028
test al, al
je 0x57309d
mov eax, dword [ebp - 0x24]
call fcn.0057688c
mov edx, dword [ebp - 0xc]
call fcn.0052e0b4
mov edx, dword [ebp - 0x24]
mov dword [edx + 0xa0], eax
jmp 0x5736bf
lea eax, [ebp - 0x94]
mov ecx, 0x5743bc
mov edx, dword [ebp - 0xc]
call fcn.0040b444
mov ecx, dword [ebp - 0x94]
mov edx, 0xca
mov eax, dword [ebp - 0x24]
call fcn.005755a8
jmp 0x5736bf
xor eax, eax
push ebp
push 0x573101
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
call fcn.0042538c
mov edx, dword [ebp - 0x24]
mov dword [edx + 0x88], eax
mov eax, dword [ebp - 0x24]
mov dword [eax + 0xa0], 3
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5736bf
mov eax, dword [ebp - 8]
mov edx, 0x57446c
call fcn.0040b57c
jne 0x57318b
xor eax, eax
push ebp
push 0x57316a
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
call fcn.0042538c
mov edx, dword [ebp - 0x24]
mov dword [edx + 0x8c], eax
mov eax, dword [ebp - 0x24]
mov dword [eax + 0xa0], 3
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5736bf
mov eax, dword [ebp - 8]
mov edx, 0x5744e0
call fcn.0040b57c
je 0x5731ad
mov eax, dword [ebp - 8]
mov edx, 0x574510
call fcn.0040b57c
jne 0x573265
mov eax, dword [ebp - 0x24]
call fcn.0057688c
mov edx, dword [ebp - 0xc]
call fcn.0052e05c
test al, al
je 0x57323a
mov eax, dword [ebp - 0x24]
call fcn.0057688c
lea ecx, [ebp - 0x98]
mov edx, dword [ebp - 0xc]
call fcn.004b9e20
mov eax, dword [ebp - 0x98]
call fcn.0042538c
mov edx, dword [ebp - 0x24]
mov dword [edx + 0x90], eax
push 0x574540
push dword [ebp - 0xc]
push 0x57457c
lea edx, [ebp - 0xa0]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x90]
call fcn.00424ff4
push dword [ebp - 0xa0]
lea eax, [ebp - 0x9c]
mov edx, 4
call fcn.0040b4cc
mov edx, dword [ebp - 0x9c]
mov ecx, 0xa
mov eax, dword [ebp - 0x24]
call fcn.00574f04
jmp 0x5736bf
lea eax, [ebp - 0xa4]
mov ecx, dword [ebp - 0xc]
mov edx, 0x57458c
call fcn.0040b444
mov ecx, dword [ebp - 0xa4]
mov edx, 0xcd
mov eax, dword [ebp - 0x24]
call fcn.005755a8
jmp 0x5736bf
mov eax, dword [ebp - 8]
mov edx, 0x5745e4
call fcn.0040b57c
jne 0x57331d
mov eax, dword [ebp - 0x24]
call fcn.0057688c
mov edx, dword [ebp - 0xc]
call fcn.0052e05c
test al, al
je 0x5732f2
mov eax, dword [ebp - 0x24]
call fcn.0057688c
lea ecx, [ebp - 0xa8]
mov edx, dword [ebp - 0xc]
call fcn.004b9e20
mov eax, dword [ebp - 0xa8]
call fcn.0042538c
mov edx, dword [ebp - 0x24]
mov dword [edx + 0x20], eax
lea edx, [ebp - 0xb0]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x20]
call fcn.00424ff4
mov ecx, dword [ebp - 0xb0]
lea eax, [ebp - 0xac]
mov edx, 0x574610
call fcn.0040b444
mov edx, dword [ebp - 0xac]
mov ecx, 0xa
mov eax, dword [ebp - 0x24]
call fcn.00574f04
jmp 0x5736bf
lea eax, [ebp - 0xb4]
mov ecx, dword [ebp - 0xc]
mov edx, 0x57464c
call fcn.0040b444
mov ecx, dword [ebp - 0xb4]
mov edx, 0xcd
mov eax, dword [ebp - 0x24]
call fcn.005755a8
jmp 0x5736bf
mov eax, dword [ebp - 8]
mov edx, 0x5746a0
call fcn.0040b57c
je 0x57333b
mov eax, dword [ebp - 8]
mov edx, 0x5746e0
call fcn.0040b57c
jne 0x57334a
mov eax, dword [ebp - 0x24]
mov byte [eax + 0x28], 0
dec dword [ebp - 0x2c]
jmp 0x5736bf
mov eax, dword [ebp - 8]
mov edx, 0x574708
call fcn.0040b57c
jne 0x573368
mov eax, dword [ebp - 0x24]
mov byte [eax + 0x2a], 0
dec dword [ebp - 0x2c]
jmp 0x5736bf
mov eax, dword [ebp - 8]
mov edx, 0x574748
call fcn.0040b57c
jne 0x573386
mov eax, dword [ebp - 0x24]
mov byte [eax + 0x29], 0
dec dword [ebp - 0x2c]
jmp 0x5736bf
mov eax, dword [ebp - 8]
mov edx, 0x574770
call fcn.0040b57c
jne 0x5733a4
mov eax, dword [ebp - 0x24]
mov byte [eax + 0x2b], 0
dec dword [ebp - 0x2c]
jmp 0x5736bf
mov eax, dword [ebp - 8]
mov edx, 0x5747b4
call fcn.0040b57c
je 0x5733c2
mov eax, dword [ebp - 8]
mov edx, 0x5747c8
call fcn.0040b57c
jne 0x5733d5
mov eax, dword [ebp - 0x24]
add eax, 0x70
mov edx, dword [ebp - 0xc]
call fcn.0040aac8
jmp 0x5736bf
mov eax, dword [ebp - 8]
mov edx, 0x5747e8
call fcn.0040b57c
jne 0x5733fd
mov dl, 1
mov eax, dword [ebp - 0x24]
call fcn.005758e8
mov eax, 2
call fcn.0040a548
jmp 0x5736bf
mov eax, dword [ebp - 8]
mov edx, 0x5747fc
call fcn.0040b57c
je 0x57341b
mov eax, dword [ebp - 8]
mov edx, 0x574834
call fcn.0040b57c
jne 0x57343a
mov eax, dword [ebp - 0x24]
mov byte [eax + 0xa5], 0
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x24]
mov edx, 0x57486c
call fcn.0040b57c
jmp 0x5736bf
mov eax, dword [ebp - 8]
mov edx, 0x574884
call fcn.0040b57c
je 0x573458
mov eax, dword [ebp - 8]
mov edx, 0x574898
call fcn.0040b57c
jne 0x573489
lea edx, [ebp - 0xb8]
mov eax, dword [ebp - 0xc]
call fcn.00424340
mov eax, dword [ebp - 0xb8]
mov edx, 0x5748bc
call fcn.0040b57c
sete dl
xor dl, 1
mov eax, dword [ebp - 0x24]
call fcn.00576050
jmp 0x5736bf
mov eax, dword [ebp - 8]
mov edx, 0x5748d4
call fcn.0040b57c
jne 0x5734a7
mov eax, dword [ebp - 0x24]
mov byte [eax + 0x78], 1
dec dword [ebp - 0x2c]
jmp 0x5736bf
mov eax, dword [ebp - 8]
mov edx, 0x574904
call fcn.0040b57c
je 0x5734c5
mov eax, dword [ebp - 8]
mov edx, 0x574934
call fcn.0040b57c
jne 0x5734e6
mov ecx, 0xa
mov edx, 0x574960
mov eax, dword [ebp - 0x24]
call fcn.00575858
mov eax, dword [ebp - 0x24]
mov byte [eax + 0x79], 1
dec dword [ebp - 0x2c]
jmp 0x5736bf
mov eax, dword [ebp - 8]
mov edx, 0x574994
call fcn.0040b57c
je 0x573522
mov eax, dword [ebp - 8]
mov edx, 0x5749a8
call fcn.0040b57c
je 0x573522
mov eax, dword [ebp - 8]
mov edx, 0x5749bc
call fcn.0040b57c
je 0x573522
mov eax, dword [ebp - 8]
mov edx, 0x5749cc
call fcn.0040b57c
jne 0x573539
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x24]
call fcn.00570b4c
jmp 0x5736bf
mov eax, dword [ebp - 8]
mov edx, 0x5749e8
call fcn.0040b57c
jne 0x573564
mov edx, 0x574a10
mov eax, dword [ebp - 0x24]
call fcn.005757b0
mov eax, 2
call fcn.0040a548
jmp 0x5736bf
mov eax, dword [ebp - 8]
mov edx, 0x574a38
call fcn.0040b57c
jne 0x5735a1
mov ecx, 1
mov edx, 0x574a4c
mov eax, dword [ebp - 0x24]
call fcn.00574cf8
mov edx, 0x574a60
mov eax, dword [ebp - 0x24]
call fcn.005757b0
mov eax, 2
call fcn.0040a548
jmp 0x5736bf
mov eax, dword [ebp - 8]
mov edx, 0x574a80
call fcn.0040b57c
jne 0x5735cc
mov edx, 0x574a94
mov eax, dword [ebp - 0x24]
call fcn.005757b0
mov eax, 2
call fcn.0040a548
jmp 0x5736bf
mov eax, dword [ebp - 8]
mov edx, 0x574ab8
call fcn.0040b57c
jne 0x5735f7
mov edx, 0x574acc
mov eax, dword [ebp - 0x24]
call fcn.005757b0
mov eax, 2
call fcn.0040a548
jmp 0x5736bf
mov eax, dword [ebp - 4]
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
je 0x57360e
mov eax, dword [ebp - 0x38]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 3
jle 0x57367a
mov ecx, 1
mov edx, 0x574af0
mov eax, dword [ebp - 4]
call fcn.0040b7c4
test eax, eax
jne 0x5736bf
mov eax, dword [ebp - 4]
cmp word [eax], 0x2d
jne 0x5736bf
push 0x574b04
push dword [ebp - 4]
push 0x574b50
push 0x574b64
push dword [ebp - 4]
push 0x574bc8
lea eax, [ebp - 0xbc]
mov edx, 6
call fcn.0040b4cc
mov ecx, dword [ebp - 0xbc]
mov edx, 0xcb
mov eax, dword [ebp - 0x24]
call fcn.005755a8
jmp 0x5736bf
push 0x574bd8
lea edx, [ebp - 0xc4]
mov eax, dword [ebp - 0x2c]
dec eax
call fcn.00424ff4
push dword [ebp - 0xc4]
push 0x57457c
push dword [ebp - 4]
lea eax, [ebp - 0xc0]
mov edx, 4
call fcn.0040b4cc
mov ecx, dword [ebp - 0xc0]
mov edx, 0xcb
mov eax, dword [ebp - 0x24]
call fcn.005755a8
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
cmp eax, dword [ebp - 0x2c]
jge 0x572618
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x44]
mov dl, 1
call fcn.00425a78
test al, al
je 0x5737b6
mov dl, 1
mov eax, dword [ebp - 0x24]
call fcn.0057607c
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax + 0x68]
push eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x60]
push eax
lea edx, [ebp - 0xcc]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
call dword [ecx + 0xc]
mov ecx, dword [ebp - 0xcc]
lea eax, [ebp - 0xc8]
mov edx, 0x574c30
call fcn.0040b444
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 0x44]
mov eax, dword [ebp - 0x24]
call fcn.005763a4
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x60]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jne 0x57378d
push 0x574c40
mov eax, dword [ebp - 0x24]
push dword [eax + 0x44]
push 0x574c30
lea edx, [ebp - 0xd4]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
call dword [ecx + 0xc]
push dword [ebp - 0xd4]
lea eax, [ebp - 0xd0]
mov edx, 4
call fcn.0040b4cc
mov ecx, dword [ebp - 0xd0]
mov edx, 0xcc
mov eax, dword [ebp - 0x24]
call fcn.00571ff8
push 2
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x60]
mov edx, 0x574c98
mov eax, dword [ebp - 0x24]
call fcn.00574e88
mov ecx, 2
mov edx, 0x574cb8
mov eax, dword [ebp - 0x24]
call fcn.00575858
jmp 0x5737c0
mov dl, 1
mov eax, dword [ebp - 0x24]
call fcn.00576088
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5737ff
lea eax, [ebp - 0xd4]
mov edx, 0x22
call fcn.0040a748
lea eax, [ebp - 0x48]
mov edx, 4
call fcn.0040a748
lea eax, [ebp - 0x20]
mov edx, 8
call fcn.0040a748
ret