Function at 0x562d44
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffac
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x1c], ecx
mov ebx, edx
mov esi, eax
xor eax, eax
push ebp
push 0x563ca1
push dword fs:[eax]
mov dword fs:[eax], esp
mov di, word [ebx + 8]
test di, di
jne 0x562dd9
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x1c]
test al, al
je 0x562d8f
mov word [ebp - 6], 1
jmp 0x562de9
lea eax, [ebp - 0x2c]
push eax
lea edx, [ebp - 0x38]
mov eax, ebx
call fcn.0051bb10
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x34], eax
mov byte [ebp - 0x30], 0xb
lea eax, [ebp - 0x34]
push eax
lea edx, [ebp - 0x3c]
mov eax, dword [0x5bf524]
call fcn.00406ab0
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
pop edx
call fcn.0040a830
mov ecx, dword [ebp - 0x2c]
mov dl, 1
mov eax, dword [0x4082a8]
call fcn.0040d8dc
call fcn.0040414c
jmp 0x562de9
movzx edx, di
xor ecx, ecx
mov eax, esi
call fcn.00562308
mov word [ebp - 6], ax
mov eax, ebx
call fcn.0055f444
cmp byte [ebx + 0x4c], 0
je 0x562e12
push 0x563cb8
push dword [ebx + 4]
push 0x563cb8
lea eax, [ebp - 0x1c]
mov edx, 3
call fcn.00404b50
jmp 0x562e1d
lea eax, [ebp - 0x1c]
mov edx, dword [ebx + 4]
call fcn.00404868
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov eax, ebx
call fcn.0055f32c
mov edi, eax
xor eax, eax
mov dword [ebp - 0x10], eax
cmp byte [ebx + 0x38], 0
jne 0x563118
movzx eax, word [ebx + 8]
cmp eax, 0x19
jg 0x562e6c
je 0x562f8c
dec eax
je 0x562e9a
add eax, 0xfffffff4
sub eax, 2
jb 0x5630ce
add eax, 0xfffffffa
sub eax, 2
jb 0x562e88
jmp 0x5631a6
sub eax, 0x1e
je 0x5630ce
sub eax, 0x4d
je 0x562e9a
sub eax, 0xa
je 0x562f8c
jmp 0x5631a6
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x14], 0x7d0
add edi, 2
jmp 0x5631a6
cmp byte [ebx + 0xa], 1
je 0x562eb6
cmp word [esi + 0x34], 4
jne 0x562ed5
mov eax, ebx
call fcn.0051bb80
test al, al
je 0x562eb6
sub al, 3
jne 0x562ed5
cmp dword [ebx + 0x50], 0
je 0x562ed5
mov eax, dword [ebx + 0x50]
inc eax
mov dword [ebp - 0x14], eax
push 0
mov ecx, dword [ebp - 0x14]
dec ecx
mov edx, edi
mov eax, dword [0x4f722c]
call fcn.004f7504
mov eax, dword [0x5bf9fc]
mov dl, byte [0x563cbc]
cmp dl, byte [eax]
jne 0x562f37
mov eax, dword [esi + 0x80]
cmp word [eax + 0x92], 1
jbe 0x5631a6
mov eax, dword [esi + 0x80]
call fcn.0055d67c
movzx eax, ax
cmp eax, dword [ebp - 0x14]
jge 0x5631a6
mov eax, dword [esi + 0x80]
call fcn.0055d67c
movzx eax, ax
mov dword [ebp - 0x14], eax
push 0
mov ecx, dword [ebp - 0x14]
dec ecx
mov edx, edi
mov eax, dword [0x4f722c]
call fcn.004f7504
jmp 0x5631a6
mov eax, dword [esi + 0x80]
cmp word [eax + 0x92], 1
jbe 0x5631a6
mov eax, dword [esi + 0x80]
call fcn.0055d67c
movzx eax, ax
inc eax
cmp eax, dword [ebp - 0x14]
jge 0x5631a6
mov eax, dword [esi + 0x80]
call fcn.0055d67c
movzx eax, ax
inc eax
mov dword [ebp - 0x14], eax
push 0
mov ecx, dword [ebp - 0x14]
dec ecx
mov edx, edi
mov eax, dword [0x4f722c]
call fcn.004f7504
jmp 0x5631a6
cmp byte [ebx + 0xa], 1
je 0x562fa8
cmp word [esi + 0x34], 4
jne 0x562fdf
mov eax, ebx
call fcn.0051bb80
test al, al
je 0x562fa8
sub al, 3
jne 0x562fdf
cmp dword [ebx + 0x50], 0
je 0x562fdf
mov eax, dword [ebx + 0x50]
add eax, eax
add eax, 2
mov dword [ebp - 0x14], eax
push 0
mov ecx, dword [ebp - 0x14]
sub ecx, 2
mov edx, edi
mov eax, dword [0x4f722c]
call fcn.004f7520
mov eax, dword [0x5bf9fc]
mov dl, byte [0x563cbc]
cmp dl, byte [eax]
jne 0x562fdf
dec dword [ebp - 0x14]
mov eax, dword [0x5bf9fc]
mov dl, byte [0x563cbc]
cmp dl, byte [eax]
jne 0x56305d
mov eax, dword [esi + 0x80]
cmp word [eax + 0x92], 1
jbe 0x5631a6
mov eax, dword [esi + 0x80]
call fcn.0055d67c
movzx eax, ax
add eax, eax
cmp eax, dword [ebp - 0x14]
jge 0x5631a6
mov eax, dword [esi + 0x80]
call fcn.0055d67c
movzx eax, ax
add eax, eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
and eax, 0x80000001
jns 0x56303d
dec eax
or eax, 0xfffffffe
inc eax
mov edx, dword [ebp - 0x14]
sub edx, eax
dec edx
mov dword [ebp - 0x14], edx
push 0
mov ecx, dword [ebp - 0x14]
dec ecx
mov edx, edi
mov eax, dword [0x4f722c]
call fcn.004f7520
jmp 0x5631a6
mov eax, dword [esi + 0x80]
cmp word [eax + 0x92], 1
jbe 0x5631a6
mov eax, dword [esi + 0x80]
call fcn.0055d67c
movzx eax, ax
add eax, eax
add eax, 2
cmp eax, dword [ebp - 0x14]
jge 0x5631a6
mov eax, dword [esi + 0x80]
call fcn.0055d67c
movzx eax, ax
add eax, eax
add eax, 2
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
and eax, 0x80000001
jns 0x5630b2
dec eax
or eax, 0xfffffffe
inc eax
sub dword [ebp - 0x14], eax
push 0
mov ecx, dword [ebp - 0x14]
sub ecx, 2
mov edx, edi
mov eax, dword [0x4f722c]
call fcn.004f7520
jmp 0x5631a6
mov al, byte [ebx + 0xa]
cmp al, 1
jne 0x5630f6
mov eax, ebx
call fcn.00560b70
mov edx, dword [eax]
call dword [edx + 0x18]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x5631a6
inc dword [ebp - 0x14]
jmp 0x5631a6
mov edx, dword [0x5beea4]
mov dword [ebp - 0x14], edx
cmp al, 2
jne 0x5631a6
mov eax, ebx
call fcn.00560b70
mov edx, dword [eax]
call dword [edx + 0x2c]
jmp 0x5631a6
mov ax, word [ebx + 8]
dec ax
je 0x563127
sub ax, 0x6a
jne 0x5631a6
mov eax, dword [0x5bf9fc]
mov dl, byte [0x563cbc]
cmp dl, byte [eax]
jne 0x563170
mov eax, dword [esi + 0x80]
call fcn.0055d67c
movzx eax, ax
inc eax
cmp eax, dword [ebp - 0x14]
jge 0x5631a6
mov eax, dword [esi + 0x80]
call fcn.0055d67c
movzx eax, ax
inc eax
mov dword [ebp - 0x14], eax
push 0
mov ecx, dword [ebp - 0x14]
dec ecx
mov edx, edi
mov eax, dword [0x4f722c]
call fcn.004f7504
jmp 0x5631a6
mov eax, dword [esi + 0x80]
call fcn.0055d67c
movzx eax, ax
cmp eax, dword [ebp - 0x14]
jge 0x5631a6
mov eax, dword [esi + 0x80]
call fcn.0055d67c
movzx eax, ax
mov dword [ebp - 0x14], eax
push 0
mov ecx, dword [ebp - 0x14]
dec ecx
mov edx, edi
mov eax, dword [0x4f722c]
call fcn.004f7504
mov edx, 4
mov eax, dword [0x4f722c]
call fcn.004f74d0
mov dword [ebp - 4], eax
xor ecx, ecx
mov edx, dword [ebp - 4]
mov eax, dword [0x4f722c]
call fcn.004f7538
xor edx, edx
push ebp
push 0x563c6f
push dword fs:[edx]
mov dword fs:[edx], esp
mov al, byte [esi + 0x30]
cmp al, 1
jne 0x5633cf
mov ax, word [ebx + 8]
sub ax, 1
jb 0x56323a
sub ax, 0x64
jne 0x563244
mov eax, ebx
call fcn.00560b74
test eax, eax
jne 0x56320f
mov ecx, 0x160a
mov edx, 0x563cc8
mov eax, 0x563d08
call fcn.0040472c
mov eax, ebx
call fcn.00560b74
mov dl, byte [esi + 0x30]
mov byte [eax + 0x1d], dl
mov eax, ebx
call fcn.00560b74
xor edx, edx
call fcn.0055ea94
mov eax, ebx
call fcn.00560b74
call fcn.0055ec00
mov edi, eax
jmp 0x563244
mov edi, dword [ebp - 4]
mov dword [ebp - 0x14], 1
cmp byte [ebx + 0x38], 0
jne 0x563365
mov ax, word [ebx + 8]
add eax, 0xfffffff3
sub ax, 2
jb 0x5632fc
cmp dword [ebp - 0x10], 0
je 0x5632b7
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 0x10]
push eax
mov eax, ebx
call fcn.0055f330
push eax
push 0xffffffffffffffff
movzx eax, word [ebp - 6]
push eax
mov eax, dword [ebp - 0x14]
push eax
push edi
push 0xffffffffffffffff
mov eax, dword [ebp - 0x1c]
call fcn.00404c90
push eax
mov eax, dword [esi + 0x2c]
call fcn.0055ec00
push eax
mov eax, dword [0x5bf1ac]
mov eax, dword [eax]
call eax
add esp, 0x3c
mov edx, eax
mov eax, esi
call fcn.00561d58
jmp 0x563354
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
mov eax, ebx
call fcn.0055f330
push eax
push 0xffffffffffffffff
movzx eax, word [ebp - 6]
push eax
mov eax, dword [ebp - 0x14]
push eax
push edi
push 0xffffffffffffffff
mov eax, dword [ebp - 0x1c]
call fcn.00404c90
push eax
mov eax, dword [esi + 0x2c]
call fcn.0055ec00
push eax
mov eax, dword [0x5bf21c]
mov eax, dword [eax]
call eax
add esp, 0x2c
mov edx, eax
mov eax, esi
call fcn.00561d58
jmp 0x563354
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
mov eax, ebx
call fcn.0055f330
push eax
push 0
movzx eax, word [ebp - 6]
push eax
mov eax, dword [0x5beea4]
push eax
push 0
push 0xffffffffffffffff
mov eax, dword [ebp - 0x1c]
call fcn.00404c90
push eax
push 0
mov eax, dword [esi + 0x2c]
call fcn.0055ec00
push eax
mov eax, dword [0x5bf1a8]
mov eax, dword [eax]
call eax
add esp, 0x50
mov edx, eax
mov eax, esi
call fcn.00561d58
mov edx, 1
mov eax, ebx
call fcn.0055ee3c
jmp 0x563c54
mov edx, dword [ebx + 0x3c]
mov eax, ebx
call fcn.0055ee3c
push 0
push 0
push 0
mov eax, dword [ebx + 0x2c]
push eax
mov eax, dword [ebx + 0x3c]
push eax
push 0
push 0
push 2
mov eax, dword [ebp - 0x14]
push eax
push 0
push 0
mov eax, ebx
call fcn.0055f330
push eax
push 0
movzx eax, word [ebp - 6]
push eax
mov eax, dword [ebp - 0x14]
push eax
push edi
push 0xffffffffffffffff
mov eax, dword [ebp - 0x1c]
call fcn.00404c90
push eax
push 1
mov eax, dword [esi + 0x2c]
call fcn.0055ec00
push eax
mov eax, dword [0x5bf1a8]
mov eax, dword [eax]
call eax
add esp, 0x50
mov edx, eax
mov eax, esi
call fcn.00561d58
jmp 0x563c54
cmp al, 2
jne 0x563c4d
mov ax, word [ebx + 8]
movzx edx, ax
cmp edx, 0x65
jg 0x563445
je 0x56346f
cmp edx, 0x12
ja case.0x5633f2.1
jmp dword [edx*4 + 0x5633f9]
add edx, 0xffffff9a
sub edx, 2
jb 0x5634e8
sub edx, 2
jb 0x563536
sub edx, 9
je case.0x5633f2.11
dec edx
je case.0x5633f2.15
jmp case.0x5633f2.1
mov eax, ebx
call fcn.00560b74
test eax, eax
jne 0x56348e
mov ecx, 0x1630
mov edx, 0x563cc8
mov eax, 0x563d08
call fcn.0040472c
mov eax, ebx
call fcn.00560b74
mov dl, byte [esi + 0x30]
mov byte [eax + 0x1d], dl
mov eax, ebx
call fcn.00560b74
mov edx, dword [esi + 0x80]
mov edx, dword [edx + 0xec]
mov dword [eax + 0x18], edx
mov eax, ebx
call fcn.00560b74
mov edx, dword [esi + 0x80]
mov edx, dword [edx + 0xe8]
mov dword [eax + 0x14], edx
mov eax, ebx
call fcn.00560b74
xor edx, edx
call fcn.0055ea94
mov eax, ebx
call fcn.00560b74
call fcn.0055ec94
mov edi, eax
jmp 0x5636c4
mov eax, dword [esi + 0x80]
call fcn.0055d9d0
push eax
mov eax, ebx
call fcn.00560b78
pop edx
call fcn.0056f59c
mov eax, ebx
call fcn.00560b78
mov edx, dword [esi + 0x80]
mov dl, byte [edx + 0x92]
mov byte [eax + 0x3d], dl
mov eax, ebx
call fcn.00560b78
mov edx, dword [eax]
call dword [edx + 0x4c]
mov eax, ebx
call fcn.00560b78
call fcn.0056f554
mov edi, eax
jmp 0x5636c4
mov eax, dword [esi + 0x80]
call fcn.0055d9d0
push eax
mov eax, ebx
call fcn.00560b7c
pop edx
call fcn.0056f59c
mov eax, ebx
call fcn.00560b7c
mov edx, dword [eax]
call dword [edx + 0x4c]
mov eax, ebx
call fcn.00560b7c
call fcn.0056f554
mov edi, eax
jmp 0x5636c4
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x14]
mov edi, eax
mov eax, dword [esi + 0x80]
mov eax, dword [eax + 0xe8]
mov dword [edi + 0x2c], eax
mov eax, dword [esi + 0x80]
call fcn.0055d9d0
mov edx, eax
mov eax, edi
call fcn.005520e4
mov eax, edi
call fcn.0055239c
xor edi, edi
jmp 0x5636c4
xor edi, edi
jmp 0x5636c4
mov eax, ebx
call fcn.0055f630
dec eax
jg 0x5636c4
mov dword [ebp - 0x14], 0x16
mov eax, ebx
call fcn.00560b88
call fcn.00571e10
mov edi, eax
jmp 0x5636c4
mov edi, dword [ebp - 4]
mov dword [ebp - 0x14], 1
jmp 0x5636c4
mov edx, dword [0x5bf674]
cmp word [edx], 0x2328
jb 0x5636c4
add eax, 0xffffff93
sub ax, 3
jb 0x56360b
sub ax, 2
jb 0x563679
jmp 0x5636c4
mov eax, ebx
call fcn.0055f630
dec eax
jg 0x5636c4
mov eax, ebx
call fcn.00560b80
mov edi, eax
mov dword [ebp - 0x14], 4
mov ax, word [ebx + 8]
sub ax, 0x6d
je 0x56363f
dec ax
je 0x56364d
dec ax
je 0x56365b
jmp 0x563667
mov edx, 0x44
mov eax, edi
call fcn.00570954
jmp 0x563667
mov edx, 0x45
mov eax, edi
call fcn.00570954
jmp 0x563667
mov edx, 0x46
mov eax, edi
call fcn.00570954
mov eax, edi
call fcn.00570790
mov eax, edi
call fcn.005709d0
mov edi, eax
jmp 0x5636c4
mov eax, ebx
call fcn.0055f630
dec eax
jg 0x5636c4
mov eax, ebx
call fcn.00560b84
mov edi, eax
mov dword [ebp - 0x14], 4
cmp word [ebx + 8], 0x70
jne 0x5636a8
mov edx, 0x3e
mov eax, edi
call fcn.005719f8
jmp 0x5636b4
mov edx, 0x3f
mov eax, edi
call fcn.005719f8
mov eax, edi
call fcn.00571840
mov eax, edi
call fcn.00571a74
mov edi, eax
cmp dword [ebx + 0x40], 0
je 0x5636dc
mov eax, dword [ebx + 0x44]
cmp eax, dword [ebp - 0x14]
jne 0x5636dc
call fcn.004041f8
jmp 0x563c76
cmp byte [ebx + 0x38], 0
jne 0x563985
mov eax, dword [esi + 0x44]
cmp eax, 1
jne 0x5638b1
mov ax, word [ebx + 8]
add eax, 0xfffffff3
sub ax, 2
jb 0x563812
sub ax, 0xf
je 0x563812
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 0x10]
push eax
mov eax, ebx
call fcn.0055f330
push eax
mov ax, word [ebp - 6]
push eax
mov eax, dword [ebp - 0x14]
push eax
push edi
mov eax, dword [ebp - 0x1c]
call fcn.00404a90
push eax
mov eax, dword [ebp - 0x1c]
call fcn.00404c90
push eax
mov eax, dword [esi + 0x70]
push eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [esi + 0x2c]
call fcn.0055ec6c
push eax
mov eax, dword [0x5bfa74]
mov eax, dword [eax]
call eax
add esp, 0x38
mov edx, eax
mov eax, esi
call fcn.00561d58
mov ax, word [ebx + 8]
sub ax, 0xf
je 0x563783
dec ax
je 0x5637cf
dec eax
sub ax, 2
jb 0x563783
sub ax, 0x61
jne 0x5638a0
push 0
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, dword [eax]
call dword [edx + 0x14]
push eax
push 0
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x14]
mov eax, dword [eax + 0x30]
push eax
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x14]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x2c]
push eax
mov eax, dword [esi + 0x70]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [0x5bfacc]
mov eax, dword [eax]
call eax
add esp, 0x1c
mov edx, eax
mov eax, esi
call fcn.00561d58
jmp 0x5638a0
push 0
push 0
push 0
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x14]
call fcn.005553fc
push eax
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x14]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x2c]
push eax
mov eax, dword [esi + 0x70]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [0x5bfacc]
mov eax, dword [eax]
call eax
add esp, 0x1c
mov edx, eax
mov eax, esi
call fcn.00561d58
jmp 0x5638a0
push 2
push 0
push 0
push 0
push 0
mov eax, ebx
call fcn.0055f330
push eax
mov ax, word [ebp - 6]
push eax
mov eax, dword [ebp - 0x14]
push eax
push 0
mov eax, dword [ebp - 0x1c]
call fcn.00404a90
push eax
mov eax, dword [ebp - 0x1c]
call fcn.00404c90
push eax
mov eax, dword [esi + 0x70]
push eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [esi + 0x2c]
call fcn.0055ec6c
push eax
mov eax, dword [0x5bfa74]
mov eax, dword [eax]
call eax
add esp, 0x38
mov edx, eax
mov eax, esi
call fcn.00561d58
mov eax, dword [0x5c2f14]
push eax
mov eax, esi
call fcn.005623e8
push eax
mov eax, dword [0x5c2f10]
push eax
mov eax, esi
call fcn.005623e8
push eax
mov eax, dword [esi + 0x70]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [0x5bf7b0]
mov eax, dword [eax]
call eax
add esp, 0x18
mov edx, eax
mov eax, esi
call fcn.00561d58
mov edx, 1
mov eax, ebx
call fcn.0055ee3c
jmp 0x563974
cmp eax, dword [ebx + 0x3c]
jle 0x5638f5
lea eax, [ebp - 0x40]
push eax
lea edx, [ebp - 0x44]
mov eax, dword [0x5bf70c]
call fcn.00406ab0
mov eax, dword [ebp - 0x44]
push eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x50], 0xb
mov eax, dword [esi + 0x44]
mov dword [ebp - 0x4c], eax
mov byte [ebp - 0x48], 0
lea edx, [ebp - 0x54]
mov ecx, 1
pop eax
call fcn.0040a830
mov eax, dword [ebp - 0x40]
call fcn.00534120
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 0x10]
push eax
mov eax, ebx
call fcn.0055f330
push eax
mov ax, word [ebp - 6]
push eax
mov eax, dword [ebp - 0x14]
push eax
push edi
mov eax, dword [ebp - 0x1c]
call fcn.00404a90
push eax
mov eax, dword [ebp - 0x1c]
call fcn.00404c90
push eax
mov eax, dword [esi + 0x70]
push eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [esi + 0x2c]
call fcn.0055ec6c
push eax
mov eax, dword [0x5bfa74]
mov eax, dword [eax]
call eax
add esp, 0x38
mov edx, eax
mov eax, esi
call fcn.00561d58
push 0
mov eax, dword [ebp - 0x18]
push eax
push 2
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [esi + 0x70]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [0x5bf8f4]
mov eax, dword [eax]
call eax
add esp, 0x18
mov edx, eax
mov eax, esi
call fcn.00561d58
mov eax, dword [ebp - 0xc]
mov dword [ebx + 0x40], eax
mov eax, dword [ebp - 0x14]
mov dword [ebx + 0x44], eax
jmp 0x563a1a
mov edx, dword [ebx + 0x3c]
mov eax, ebx
call fcn.0055ee3c
push 0
mov eax, dword [ebx + 0x2c]
push eax
mov eax, dword [ebx + 0x3c]
push eax
push 0
push 0
mov eax, ebx
call fcn.0055f330
push eax
mov ax, word [ebp - 6]
push eax
mov eax, dword [ebp - 0x14]
push eax
push edi
mov eax, dword [ebp - 0x1c]
call fcn.00404a90
push eax
mov eax, dword [ebp - 0x1c]
call fcn.00404c90
push eax
mov eax, dword [esi + 0x70]
push eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [esi + 0x2c]
call fcn.0055ec6c
push eax
mov eax, dword [0x5bfa74]
mov eax, dword [eax]
call eax
add esp, 0x38
mov edx, eax
mov eax, esi
call fcn.00561d58
push 0
push 0
push 2
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [esi + 0x70]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [0x5bf8f4]
mov eax, dword [eax]
call eax
add esp, 0x18
mov edx, eax
mov eax, esi
call fcn.00561d58
mov eax, dword [ebp - 0xc]
mov dword [ebx + 0x40], eax
mov eax, dword [ebp - 0x14]
mov dword [ebx + 0x44], eax
movzx eax, word [ebx + 8]
cmp eax, 0x1e
jg 0x563a37
je 0x563a5e
dec eax
je 0x563a43
add eax, 0xfffffff4
sub eax, 2
jb 0x563a5e
sub eax, 0xa
je 0x563a55
jmp 0x563a86
sub eax, 0x6b
je 0x563a43
sub eax, 0xa
je 0x563a55
jmp 0x563a86
mov eax, dword [esi + 0x80]
movzx eax, word [eax + 0x90]
mov dword [ebp - 0x20], eax
jmp 0x563a8b
mov dword [ebp - 0x20], 0x3e8
jmp 0x563a8b
mov eax, ebx
call fcn.00560b70
cmp byte [eax + 0xc], 0
je 0x563a74
mov dword [ebp - 0x20], 0x3e8
jmp 0x563a8b
mov eax, dword [esi + 0x80]
movzx eax, word [eax + 0x90]
mov dword [ebp - 0x20], eax
jmp 0x563a8b
xor eax, eax
mov dword [ebp - 0x20], eax
cmp byte [ebx + 0x55], 0
je 0x563ace
mov eax, dword [0x5bf9fc]
mov dl, byte [0x563cbc]
cmp dl, byte [eax]
je 0x563ace
mov dword [ebp - 0x24], 2
mov eax, dword [esi + 0x70]
push eax
push 0x20
push 0
lea eax, [ebp - 0x24]
push eax
push 5
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [0x5bf598]
mov eax, dword [eax]
call eax
add esp, 0x18
mov edx, eax
mov eax, esi
call fcn.00561d58
cmp dword [ebp - 0x20], 0
jle 0x563afb
mov eax, dword [esi + 0x70]
push eax
push 0x1f
push 0
lea eax, [ebp - 0x20]
push eax
push 5
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [0x5bf598]
mov eax, dword [eax]
call eax
add esp, 0x18
mov edx, eax
mov eax, esi
call fcn.00561d58
mov eax, dword [0x5bf9fc]
mov dl, byte [0x563cbc]
cmp dl, byte [eax]
je 0x563c54
mov ax, word [ebx + 8]
sub ax, 1
je 0x563b2e
sub ax, 0x18
je 0x563b2e
sub ax, 0x52
je 0x563b2e
sub ax, 0xa
jne 0x563c54
mov eax, dword [ebx + 0xc]
dec eax
mov dword [ebp - 0x28], eax
mov ax, word [ebx + 8]
sub ax, 0x19
je 0x563b45
sub ax, 0x5c
jne 0x563b52
mov eax, dword [ebp - 0x28]
sar eax, 1
jns 0x563b4f
adc eax, 0
mov dword [ebp - 0x28], eax
cmp byte [ebx + 0xa], 1
jne 0x563ba9
cmp byte [ebx + 0x38], 0
jne 0x563ba9
mov eax, dword [esi + 0x80]
call fcn.0055d67c
movzx eax, ax
mov dword [ebp - 0x28], eax
mov eax, dword [ebx + 0x50]
lea eax, [eax + eax*2]
cmp eax, dword [ebp - 0x28]
jge 0x563b7d
mov dword [ebp - 0x28], eax
mov ax, word [ebx + 8]
sub ax, 0x19
je 0x563b8d
sub ax, 0x5c
jne 0x563b9c
cmp dword [ebp - 0x28], 4
jge 0x563ba9
mov dword [ebp - 0x28], 4
jmp 0x563ba9
cmp dword [ebp - 0x28], 2
jge 0x563ba9
mov dword [ebp - 0x28], 2
mov eax, dword [esi + 0x70]
push eax
push 0x21
push 0
lea eax, [ebp - 0x28]
push eax
push 5
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [0x5bf598]
mov eax, dword [eax]
call eax
add esp, 0x18
mov edx, eax
mov eax, esi
call fcn.00561d58
mov eax, dword [0x5bf674]
cmp word [eax], 0x2328
jb 0x563c54
mov eax, dword [esi + 0x80]
call fcn.0055ca44
cmp ax, 0x23f0
jb 0x563c54
cmp byte [ebx + 0xa], 1
jne 0x563c54
cmp dword [ebx + 0x50], 0
jle 0x563c54
mov eax, dword [esi + 0x80]
call fcn.0055ca44
cmp ax, 0x23f6
jb 0x563c1b
mov eax, dword [esi + 0x80]
call fcn.0055ca44
cmp ax, 0x2710
jbe 0x563c54
mov eax, dword [ebx + 0x50]
mov dword [ebp - 0x28], eax
mov eax, dword [esi + 0x70]
push eax
push 0xa3
push 0
lea eax, [ebp - 0x28]
push eax
push 5
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [0x5bf598]
mov eax, dword [eax]
call eax
add esp, 0x18
mov edx, eax
mov eax, esi
call fcn.00561d58
jmp 0x563c54
mov eax, esi
call fcn.00561ca8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x563c76
mov edx, dword [ebp - 4]
mov eax, dword [0x4f722c]
call fcn.004f74ec
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x563ca8
lea eax, [ebp - 0x44]
mov edx, 4
call fcn.004047f4
lea eax, [ebp - 0x2c]
call fcn.004047d0
lea eax, [ebp - 0x1c]
call fcn.004047d0
ret