Function at 0x56411c
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffa4
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x564c84
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
cmp byte [eax + 0x30], 2
jne 0x564175
mov eax, dword [ebp - 4]
cmp word [eax + 0x34], 4
je 0x564175
mov eax, dword [ebp - 4]
cmp byte [eax + 0x14], 0
je 0x564175
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x80]
cmp byte [eax + 0x34], 0
jne 0x564179
xor eax, eax
jmp 0x56417b
mov al, 1
mov byte [ebp - 0x36], al
mov eax, dword [ebp - 4]
cmp byte [eax + 0x69], 0
je 0x564237
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
mov esi, dword [eax + 8]
dec esi
test esi, esi
jl 0x564272
inc esi
xor edi, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
mov edx, edi
call fcn.0051bd8c
mov ebx, eax
mov ax, word [ebx + 8]
add eax, 0xffffff9a
sub ax, 2
jae 0x56422d
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x1c]
test al, al
jne 0x56422d
mov al, byte [ebx + 0xa]
sub al, 1
je 0x5641d2
sub al, 2
jne 0x56422d
mov eax, ebx
call fcn.00560b78
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
cmp byte [eax + 0x1c], 0
je 0x56422d
cmp word [ebx + 8], 0x66
jne 0x564204
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x21]
add al, 0xfe
sub al, 2
jae 0x564204
mov dl, 1
mov eax, dword [ebp - 0x40]
call fcn.00510f58
jmp 0x56420e
xor edx, edx
mov eax, dword [ebp - 0x40]
call fcn.00510f58
cmp word [ebx + 8], 0x66
jne 0x564219
xor eax, eax
jmp 0x56421b
mov al, 1
mov edx, eax
mov eax, dword [ebp - 0x40]
call fcn.0056ec3c
mov eax, dword [ebp - 0x40]
call fcn.0056f0ac
inc edi
dec esi
jne 0x5641a0
jmp 0x564272
cmp byte [ebp - 0x36], 0
je 0x564272
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
mov esi, dword [eax + 8]
dec esi
test esi, esi
jl 0x564272
inc esi
xor edi, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
mov edx, edi
call fcn.0051bd8c
mov ax, word [eax + 8]
add eax, 0xffffff9a
sub ax, 2
jae 0x56426e
mov byte [ebp - 0x36], 0
jmp 0x564272
inc edi
dec esi
jne 0x56424e
mov eax, dword [ebp - 4]
cmp word [eax + 0x34], 4
jne 0x5642a5
mov eax, dword [ebp - 4]
cmp dword [eax + 0x2c], 0
je 0x5642a5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2c]
cmp byte [eax + 0x1e], 0
je 0x5642a5
xor ecx, ecx
mov edx, 8
mov eax, dword [ebp - 4]
call fcn.00563d1c
mov dword [ebp - 0xc], eax
jmp 0x5642ce
cmp byte [ebp - 0x36], 0
je 0x5642bf
xor ecx, ecx
mov edx, 0x20
mov eax, dword [ebp - 4]
call fcn.00563d1c
mov dword [ebp - 0xc], eax
jmp 0x5642ce
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00563d1c
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4a], 0
je 0x5642f2
lea edx, [ebp - 0x48]
mov eax, dword [ebp - 4]
call fcn.00567ff8
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 4]
add eax, 0x4c
call fcn.00404824
jmp 0x5642fd
mov eax, dword [ebp - 4]
add eax, 0x4c
call fcn.004047d0
cmp dword [ebp - 0xc], 0
je 0x564989
mov edx, 0x65
mov eax, dword [0x4f722c]
call fcn.004f74d0
mov dword [ebp - 0x34], eax
xor edx, edx
push ebp
push 0x564982
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x30]
cmp al, 2
jne 0x564570
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x35]
push eax
lea ecx, [ebp - 0xd]
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 4]
call fcn.00567630
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
mov esi, dword [eax + 8]
dec esi
test esi, esi
jl 0x56437d
inc esi
xor edi, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
mov edx, edi
call fcn.0051bd8c
mov eax, dword [eax + 0x40]
cmp eax, dword [ebp - 0x30]
je 0x56437d
inc edi
dec esi
jne 0x564364
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
cmp edi, dword [eax + 8]
jl 0x56439c
mov ecx, 0x17c3
mov edx, 0x564c9c
mov eax, 0x564cdc
call fcn.0040472c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
mov edx, edi
call fcn.0051bd8c
call fcn.00560b70
mov ebx, eax
cmp byte [ebp - 0x35], 1
jne 0x5644b1
mov eax, ebx
call fcn.0050f49c
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x56445e
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 8]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x10], 0
jne 0x5643e4
mov byte [ebp - 0xd], 3
mov al, byte [ebp - 0xd]
push eax
mov eax, dword [ebp - 0x14]
add eax, 0x16
push eax
lea eax, [ebp - 0x1c]
push eax
push 0
mov ecx, 5
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 4]
call fcn.005677dc
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00563d1c
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x35]
push eax
lea ecx, [ebp - 0xd]
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 4]
call fcn.00567630
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0xc], 0
je 0x564561
cmp byte [ebp - 0xd], 1
je 0x564561
cmp byte [ebp - 0xd], 0
jne 0x5643ce
jmp 0x564561
xor eax, eax
mov dword [ebp - 0x1c], eax
push 3
mov eax, dword [ebp - 0x34]
push eax
lea eax, [ebp - 0x1c]
push eax
push 0
mov ecx, 5
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 4]
call fcn.005677dc
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00563d1c
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x35]
push eax
lea ecx, [ebp - 0xd]
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 4]
call fcn.00567630
jmp 0x564561
cmp byte [ebp - 0x35], 2
jne 0x564561
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x2c]
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x1c], eax
lea edx, [ebp - 0x14]
mov eax, dword [ebx]
mov ecx, dword [ebp - 0x1c]
call fcn.0050f258
mov al, byte [ebp - 0xd]
push eax
mov eax, dword [ebp - 0x14]
add eax, 0x16
push eax
lea eax, [ebp - 0x1c]
push eax
push 0
mov ecx, 5
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 4]
call fcn.005677dc
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00563d1c
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
mov dword [eax + 8], edx
mov eax, dword [ebx + 0x20]
cmp eax, dword [ebp - 0x1c]
jbe 0x564523
lea edx, [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
mov eax, ebx
call fcn.0050f304
mov edx, dword [ebp - 0x14]
mov eax, ebx
call fcn.0050f3a0
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x35]
push eax
lea ecx, [ebp - 0xd]
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 4]
call fcn.00567630
cmp dword [ebp - 0xc], 0
je 0x564561
cmp byte [ebp - 0xd], 1
je 0x564561
cmp byte [ebp - 0xd], 0
jne 0x5644c2
cmp dword [ebp - 0xc], 0
jne 0x564353
jmp 0x564967
cmp al, 1
jne 0x56495f
mov dword [ebp - 0x28], 0xfffff3c7
mov dword [ebp - 0x2c], 0xfffff3c6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
mov esi, dword [eax + 8]
dec esi
test esi, esi
jl 0x56470d
inc esi
xor edi, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
mov edx, edi
call fcn.0051bd8c
mov ebx, eax
mov ax, word [ebx + 8]
add eax, 0xfffffff3
sub ax, 2
jb 0x5645c1
sub ax, 0xf
jne 0x564705
mov al, byte [ebx + 0xa]
sub al, 1
je 0x5645d0
sub al, 2
jne 0x564705
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x1c]
test al, al
jne 0x564705
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x28]
je 0x564601
lea edx, [ebp - 0x4c]
mov eax, dword [0x5bfb04]
call fcn.00406ab0
mov eax, dword [ebp - 0x4c]
call fcn.005640c0
jmp 0x56470d
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x35]
push eax
lea ecx, [ebp - 0xd]
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 4]
call fcn.00567630
mov eax, ebx
call fcn.00560b70
mov ebx, eax
test ebx, ebx
jne 0x564640
mov ecx, 0x1809
mov edx, 0x564c9c
mov eax, 0x564cdc
call fcn.0040472c
mov eax, ebx
call fcn.0050f49c
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x5646d5
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 8]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x10], 0
jne 0x56466a
mov byte [ebp - 0xd], 3
mov al, byte [ebp - 0xd]
push eax
mov eax, dword [ebp - 0x14]
add eax, 0x16
push eax
lea eax, [ebp - 0x1c]
push eax
push 0
mov ecx, 5
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 4]
call fcn.005677dc
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00563d1c
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x35]
push eax
lea ecx, [ebp - 0xd]
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 4]
call fcn.00567630
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0xc], 0
je 0x564705
cmp byte [ebp - 0xd], 1
je 0x564705
cmp byte [ebp - 0xd], 0
jne 0x564654
jmp 0x564705
xor eax, eax
mov dword [ebp - 0x1c], eax
push 3
mov eax, dword [ebp - 0x34]
push eax
lea eax, [ebp - 0x1c]
push eax
push 0
mov ecx, 5
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 4]
call fcn.005677dc
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00563d1c
mov dword [ebp - 0xc], eax
inc edi
dec esi
jne 0x56459b
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x28]
jne 0x56476a
lea edx, [ebp - 0x50]
mov eax, dword [0x5bf264]
call fcn.00406ab0
mov eax, dword [ebp - 0x50]
call fcn.005640c0
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x28]
jne 0x56476a
xor eax, eax
mov dword [ebp - 0x1c], eax
push 3
mov eax, dword [ebp - 0x34]
push eax
lea eax, [ebp - 0x1c]
push eax
push 0
mov ecx, 5
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 4]
call fcn.005677dc
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00563d1c
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x28]
je 0x564732
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
mov esi, dword [eax + 8]
dec esi
test esi, esi
jl 0x5648c1
inc esi
xor edi, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
mov edx, edi
call fcn.0051bd8c
mov ebx, eax
mov ax, word [ebx + 8]
add eax, 0xfffffff3
sub ax, 2
jb 0x5647a5
sub ax, 0xf
jne 0x5648b9
mov al, byte [ebx + 0xa]
add al, 0xfe
sub al, 2
jae 0x5648b9
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x2c]
je 0x5647d4
lea edx, [ebp - 0x54]
mov eax, dword [0x5bf930]
call fcn.00406ab0
mov eax, dword [ebp - 0x54]
call fcn.005640c0
jmp 0x5648c1
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x35]
push eax
lea ecx, [ebp - 0xd]
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 4]
call fcn.00567630
mov eax, ebx
call fcn.00560b70
mov ebx, eax
test ebx, ebx
jne 0x564813
mov ecx, 0x1839
mov edx, 0x564c9c
mov eax, 0x564cdc
call fcn.0040472c
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x2c]
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x1c], eax
lea edx, [ebp - 0x14]
mov eax, dword [ebx]
mov ecx, dword [ebp - 0x1c]
call fcn.0050f258
mov al, byte [ebp - 0xd]
push eax
mov eax, dword [ebp - 0x14]
add eax, 0x16
push eax
lea eax, [ebp - 0x1c]
push eax
push 0
mov ecx, 5
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 4]
call fcn.005677dc
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00563d1c
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
mov dword [eax + 8], edx
mov eax, dword [ebx + 0x20]
cmp eax, dword [ebp - 0x1c]
jbe 0x56487b
lea edx, [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
mov eax, ebx
call fcn.0050f304
mov edx, dword [ebp - 0x14]
mov eax, ebx
call fcn.0050f3a0
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x35]
push eax
lea ecx, [ebp - 0xd]
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 4]
call fcn.00567630
cmp dword [ebp - 0xc], 0
je 0x5648b9
cmp byte [ebp - 0xd], 1
je 0x5648b9
cmp byte [ebp - 0xd], 0
jne 0x56481a
inc edi
dec esi
jne 0x56477f
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x2c]
jne 0x56493e
lea edx, [ebp - 0x58]
mov eax, dword [0x5bfb18]
call fcn.00406ab0
mov eax, dword [ebp - 0x58]
call fcn.005640c0
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x2c]
jne 0x56493e
mov dword [ebp - 0x1c], 0x64
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x35]
push eax
lea ecx, [ebp - 0xd]
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 4]
call fcn.00567630
push 3
mov eax, dword [ebp - 0x34]
push eax
lea eax, [ebp - 0x1c]
push eax
push 0
mov ecx, 5
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 4]
call fcn.005677dc
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00563d1c
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x2c]
je 0x5648e6
xor eax, eax
mov dword [ebp - 0x1c], eax
push 3
push 0
lea eax, [ebp - 0x1c]
push eax
push 0
mov ecx, 5
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 4]
call fcn.005677dc
jmp 0x564967
mov eax, dword [ebp - 4]
call fcn.00561ca8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x564989
mov edx, dword [ebp - 0x34]
mov eax, dword [0x4f722c]
call fcn.004f74ec
ret
cmp dword [ebp - 0xc], 0
jne 0x564c2d
mov eax, dword [ebp - 4]
cmp byte [eax + 0x30], 2
jne 0x564c2d
mov eax, dword [ebp - 4]
cmp dword [eax + 0x38], 0
jle 0x564c2d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
mov esi, dword [eax + 8]
dec esi
test esi, esi
jl 0x564c2d
inc esi
xor edi, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
mov edx, edi
call fcn.0051bd8c
mov ebx, eax
mov eax, dword [ebx + 0x3c]
cmp eax, 1
jle 0x564af4
mov dl, byte [ebx + 0xa]
test dl, dl
je 0x5649f0
add dl, 0xfe
sub dl, 2
jae 0x564af4
test eax, eax
jle 0x564c25
mov dword [ebp - 0x44], eax
mov dword [ebp - 8], 1
mov ax, word [ebx + 8]
sub ax, 0xb
je 0x564aa9
add eax, 0xffffff9e
sub ax, 3
jb 0x564a2d
sub ax, 2
jb 0x564a6d
dec ax
je 0x564aa9
jmp 0x564ae3
mov edx, dword [ebp - 8]
mov eax, ebx
call fcn.0055ff9c
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
je 0x564ae3
mov eax, dword [ebp - 8]
dec eax
mov ecx, eax
add ecx, ecx
mov edx, dword [ebx + 0x34]
mov eax, dword [0x4f722c]
call fcn.004f7514
mov ecx, eax
mov eax, dword [ebp - 0x3c]
mov edx, dword [eax + 0x20]
mov eax, dword [0x4f722c]
call fcn.004f751c
jmp 0x564ae3
mov edx, dword [ebp - 8]
mov eax, ebx
call fcn.0055ff9c
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
je 0x564ae3
mov eax, dword [ebp - 8]
dec eax
mov ecx, eax
add ecx, ecx
mov edx, dword [ebx + 0x34]
mov eax, dword [0x4f722c]
call fcn.004f7514
mov ecx, eax
mov eax, dword [ebp - 0x3c]
mov edx, dword [eax + 0x18]
mov eax, dword [0x4f722c]
call fcn.004f751c
jmp 0x564ae3
mov edx, dword [ebp - 8]
mov eax, ebx
call fcn.0055ff9c
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
je 0x564ae3
mov eax, dword [ebp - 8]
dec eax
mov ecx, eax
add ecx, ecx
mov edx, dword [ebx + 0x34]
mov eax, dword [0x4f722c]
call fcn.004f7514
mov ecx, eax
mov eax, dword [ebp - 0x3c]
mov edx, dword [eax + 0x10]
mov eax, dword [0x4f722c]
call fcn.004f751c
inc dword [ebp - 8]
dec dword [ebp - 0x44]
jne 0x564a02
jmp 0x564c25
mov ax, word [ebx + 8]
add eax, 0xffffff9a
sub ax, 2
jae 0x564c25
mov eax, dword [ebp - 4]
cmp byte [eax + 0x49], 0
jne 0x564b1d
mov eax, ebx
call fcn.0051bb80
cmp al, 1
je 0x564b1d
xor eax, eax
jmp 0x564b1f
mov al, 1
push eax
mov eax, ebx
call fcn.00560b78
pop edx
call fcn.0056f570
mov eax, ebx
call fcn.00560b78
cmp byte [eax + 0x35], 0
je 0x564c25
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x1c]
test al, al
jne 0x564c25
mov al, byte [ebx + 0xa]
sub al, 1
jne 0x564ba3
mov eax, dword [ebp - 4]
cmp byte [eax + 0x69], 0
jne 0x564c25
cmp word [ebx + 8], 0x66
jne 0x564b84
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x21]
add al, 0xfe
sub al, 2
jae 0x564b84
mov eax, ebx
call fcn.00560b78
mov dl, 1
call fcn.00510f58
jmp 0x564b92
mov eax, ebx
call fcn.00560b78
xor edx, edx
call fcn.00510f58
mov eax, ebx
call fcn.00560b78
call fcn.0056f0ac
jmp 0x564c25
mov al, byte [ebx + 0xa]
sub al, 2
je 0x564bba
mov eax, dword [ebp - 4]
cmp byte [eax + 0x69], 0
je 0x564c10
mov al, byte [ebx + 0xa]
sub al, 3
jne 0x564c10
mov eax, ebx
call fcn.00560b78
call fcn.0056ee14
cmp word [ebx + 8], 0x66
jne 0x564beb
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x21]
sub al, 1
je 0x564bdb
sub al, 2
jne 0x564beb
mov eax, ebx
call fcn.00560b78
mov dl, 1
call fcn.00510f58
jmp 0x564bf9
mov eax, ebx
call fcn.00560b78
xor edx, edx
call fcn.00510f58
mov eax, ebx
call fcn.00560b78
mov edx, eax
xor ecx, ecx
mov eax, dword [0x504020]
call fcn.00510b64
jmp 0x564c25
lea edx, [ebp - 0x5c]
mov eax, dword [0x5bf1a4]
call fcn.00406ab0
mov eax, dword [ebp - 0x5c]
call fcn.00534120
inc edi
dec esi
jne 0x5649c2
cmp dword [ebp - 0xc], 0
jne 0x564c69
mov eax, dword [ebp - 4]
cmp word [eax + 0x34], 4
je 0x564c69
mov eax, dword [ebp - 4]
cmp byte [eax + 0x14], 0
je 0x564c69
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x80]
cmp byte [eax + 0x34], 0
je 0x564c69
cmp byte [ebp - 0x36], 0
jne 0x564c69
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x80]
mov edx, dword [eax]
call dword [edx + 0x1c]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x564c8b
lea eax, [ebp - 0x5c]
mov edx, 6
call fcn.004047f4
ret