Function at 0x180041180
Capabilities:
Check os version

Disassembly:
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
push rsi
push rdi
mov eax, 0x1558
call fcn.180059d50
sub rsp, rax
xor eax, eax
test eax, eax
je 0x1800411ae
jmp 0x1800457a4
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x10]
mov qword [0x18008c190], rax
cmp qword [0x18008c190], 0
jne 0x1800411d3
xor al, al
jmp 0x1800457a4
lea rax, [rsp + 0x11b0]
lea rcx, [0x18007d310]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x44
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x1010]
lea rcx, [0x18007d360]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x40
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x1390]
lea rcx, [0x18007d3a0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x50
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x12a0]
lea rcx, [0x18007d3f0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x48
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x12f0]
lea rcx, [0x18007d440]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x48
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x1250]
lea rcx, [0x18007d490]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x48
rep movsb byte [rdi], byte [rsi]
mov eax, 2
imul rax, rax, 0x21
movzx eax, word [rsp + rax + 0x11b0]
test eax, eax
je 0x18004129d
mov dword [rsp + 0x29c], 1
jmp 0x1800412a8
mov dword [rsp + 0x29c], 0
movzx eax, byte [rsp + 0x29c]
mov byte [rsp + 0x30], al
movzx eax, byte [rsp + 0x30]
movzx eax, al
test eax, eax
je 0x180041318
mov dword [rsp + 0x60], 0
jmp 0x1800412d4
mov eax, dword [rsp + 0x60]
inc eax
mov dword [rsp + 0x60], eax
cmp dword [rsp + 0x60], 0x22
jge 0x180041318
movsxd rax, dword [rsp + 0x60]
movzx eax, word [rsp + rax*2 + 0x11b0]
mov dword [rsp + 0x360], eax
mov eax, dword [rsp + 0x60]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x360]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0x60]
mov word [rsp + rcx*2 + 0x11b0], ax
jmp 0x1800412ca
lea rax, [rsp + 0x11b0]
mov qword [rsp + 0x6f0], rax
mov rax, qword [rsp + 0x6f0]
xor r9d, r9d
mov r8, rax
xor edx, edx
xor ecx, ecx
call fcn.18004b480
mov qword [rsp + 0x6f8], rax
mov rax, qword [rsp + 0x6f8]
mov qword [0x18034f868], rax
mov eax, 2
imul rax, rax, 0x1f
movzx eax, word [rsp + rax + 0x1010]
test eax, eax
je 0x180041378
mov dword [rsp + 0x1e0], 1
jmp 0x180041383
mov dword [rsp + 0x1e0], 0
movzx eax, byte [rsp + 0x1e0]
mov byte [rsp + 0x31], al
movzx eax, byte [rsp + 0x31]
movzx eax, al
test eax, eax
je 0x1800413f3
mov dword [rsp + 0x64], 0
jmp 0x1800413af
mov eax, dword [rsp + 0x64]
inc eax
mov dword [rsp + 0x64], eax
cmp dword [rsp + 0x64], 0x20
jge 0x1800413f3
movsxd rax, dword [rsp + 0x64]
movzx eax, word [rsp + rax*2 + 0x1010]
mov dword [rsp + 0x364], eax
mov eax, dword [rsp + 0x64]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x364]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0x64]
mov word [rsp + rcx*2 + 0x1010], ax
jmp 0x1800413a5
lea rax, [rsp + 0x1010]
mov qword [rsp + 0x700], rax
mov rax, qword [rsp + 0x700]
xor r9d, r9d
mov r8, rax
xor edx, edx
xor ecx, ecx
call fcn.18004b480
mov qword [rsp + 0x708], rax
mov rax, qword [rsp + 0x708]
mov qword [0x18034f870], rax
mov eax, 2
imul rax, rax, 0x27
movzx eax, word [rsp + rax + 0x1390]
test eax, eax
je 0x180041453
mov dword [rsp + 0x1e4], 1
jmp 0x18004145e
mov dword [rsp + 0x1e4], 0
movzx eax, byte [rsp + 0x1e4]
mov byte [rsp + 0x32], al
movzx eax, byte [rsp + 0x32]
movzx eax, al
test eax, eax
je 0x1800414ce
mov dword [rsp + 0x68], 0
jmp 0x18004148a
mov eax, dword [rsp + 0x68]
inc eax
mov dword [rsp + 0x68], eax
cmp dword [rsp + 0x68], 0x28
jge 0x1800414ce
movsxd rax, dword [rsp + 0x68]
movzx eax, word [rsp + rax*2 + 0x1390]
mov dword [rsp + 0x2a8], eax
mov eax, dword [rsp + 0x68]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x2a8]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0x68]
mov word [rsp + rcx*2 + 0x1390], ax
jmp 0x180041480
lea rax, [rsp + 0x1390]
mov qword [rsp + 0x710], rax
mov rax, qword [rsp + 0x710]
xor r9d, r9d
mov r8, rax
xor edx, edx
xor ecx, ecx
call fcn.18004b480
mov qword [rsp + 0x718], rax
mov rax, qword [rsp + 0x718]
mov qword [0x18034f728], rax
mov eax, 2
imul rax, rax, 0x23
movzx eax, word [rsp + rax + 0x12a0]
test eax, eax
je 0x18004152e
mov dword [rsp + 0x1e8], 1
jmp 0x180041539
mov dword [rsp + 0x1e8], 0
movzx eax, byte [rsp + 0x1e8]
mov byte [rsp + 0x33], al
movzx eax, byte [rsp + 0x33]
movzx eax, al
test eax, eax
je 0x1800415a9
mov dword [rsp + 0x6c], 0
jmp 0x180041565
mov eax, dword [rsp + 0x6c]
inc eax
mov dword [rsp + 0x6c], eax
cmp dword [rsp + 0x6c], 0x24
jge 0x1800415a9
movsxd rax, dword [rsp + 0x6c]
movzx eax, word [rsp + rax*2 + 0x12a0]
mov dword [rsp + 0x2ac], eax
mov eax, dword [rsp + 0x6c]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x2ac]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0x6c]
mov word [rsp + rcx*2 + 0x12a0], ax
jmp 0x18004155b
lea rax, [rsp + 0x12a0]
mov qword [rsp + 0x3f8], rax
mov rax, qword [rsp + 0x3f8]
xor r9d, r9d
mov r8, rax
xor edx, edx
xor ecx, ecx
call fcn.18004b480
mov qword [rsp + 0x400], rax
mov rax, qword [rsp + 0x400]
mov qword [0x18034f860], rax
mov eax, 2
imul rax, rax, 0x23
movzx eax, word [rsp + rax + 0x12f0]
test eax, eax
je 0x180041609
mov dword [rsp + 0x1ec], 1
jmp 0x180041614
mov dword [rsp + 0x1ec], 0
movzx eax, byte [rsp + 0x1ec]
mov byte [rsp + 0x34], al
movzx eax, byte [rsp + 0x34]
movzx eax, al
test eax, eax
je 0x180041684
mov dword [rsp + 0x70], 0
jmp 0x180041640
mov eax, dword [rsp + 0x70]
inc eax
mov dword [rsp + 0x70], eax
cmp dword [rsp + 0x70], 0x24
jge 0x180041684
movsxd rax, dword [rsp + 0x70]
movzx eax, word [rsp + rax*2 + 0x12f0]
mov dword [rsp + 0x2b0], eax
mov eax, dword [rsp + 0x70]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x2b0]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0x70]
mov word [rsp + rcx*2 + 0x12f0], ax
jmp 0x180041636
lea rax, [rsp + 0x12f0]
mov qword [rsp + 0x408], rax
mov rax, qword [rsp + 0x408]
xor r9d, r9d
mov r8, rax
xor edx, edx
xor ecx, ecx
call fcn.18004b480
mov qword [rsp + 0x410], rax
mov rax, qword [rsp + 0x410]
mov qword [0x18034f878], rax
mov eax, 2
imul rax, rax, 0x23
movzx eax, word [rsp + rax + 0x1250]
test eax, eax
je 0x1800416e4
mov dword [rsp + 0x1f0], 1
jmp 0x1800416ef
mov dword [rsp + 0x1f0], 0
movzx eax, byte [rsp + 0x1f0]
mov byte [rsp + 0x35], al
movzx eax, byte [rsp + 0x35]
movzx eax, al
test eax, eax
je 0x18004175f
mov dword [rsp + 0x74], 0
jmp 0x18004171b
mov eax, dword [rsp + 0x74]
inc eax
mov dword [rsp + 0x74], eax
cmp dword [rsp + 0x74], 0x24
jge 0x18004175f
movsxd rax, dword [rsp + 0x74]
movzx eax, word [rsp + rax*2 + 0x1250]
mov dword [rsp + 0x2b4], eax
mov eax, dword [rsp + 0x74]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x2b4]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0x74]
mov word [rsp + rcx*2 + 0x1250], ax
jmp 0x180041711
lea rax, [rsp + 0x1250]
mov qword [rsp + 0x418], rax
mov rax, qword [rsp + 0x418]
xor r9d, r9d
mov r8, rax
xor edx, edx
xor ecx, ecx
call fcn.18004b480
mov qword [rsp + 0x420], rax
mov rax, qword [rsp + 0x420]
mov qword [0x18008c280], rax
mov dword [rsp + 0x130], 0
jmp 0x1800417ba
mov eax, dword [rsp + 0x130]
inc eax
mov dword [rsp + 0x130], eax
cmp dword [rsp + 0x130], 0x24
jge 0x1800417d8
movsxd rax, dword [rsp + 0x130]
xor ecx, ecx
mov word [rsp + rax*2 + 0x1250], cx
jmp 0x1800417aa
mov dword [rsp + 0x134], 0
jmp 0x1800417f5
mov eax, dword [rsp + 0x134]
inc eax
mov dword [rsp + 0x134], eax
cmp dword [rsp + 0x134], 0x22
jge 0x180041813
movsxd rax, dword [rsp + 0x134]
xor ecx, ecx
mov word [rsp + rax*2 + 0x11b0], cx
jmp 0x1800417e5
mov dword [rsp + 0x138], 0
jmp 0x180041830
mov eax, dword [rsp + 0x138]
inc eax
mov dword [rsp + 0x138], eax
cmp dword [rsp + 0x138], 0x20
jge 0x18004184e
movsxd rax, dword [rsp + 0x138]
xor ecx, ecx
mov word [rsp + rax*2 + 0x1010], cx
jmp 0x180041820
mov dword [rsp + 0x13c], 0
jmp 0x18004186b
mov eax, dword [rsp + 0x13c]
inc eax
mov dword [rsp + 0x13c], eax
cmp dword [rsp + 0x13c], 0x28
jge 0x180041889
movsxd rax, dword [rsp + 0x13c]
xor ecx, ecx
mov word [rsp + rax*2 + 0x1390], cx
jmp 0x18004185b
mov dword [rsp + 0x140], 0
jmp 0x1800418a6
mov eax, dword [rsp + 0x140]
inc eax
mov dword [rsp + 0x140], eax
cmp dword [rsp + 0x140], 0x24
jge 0x1800418c4
movsxd rax, dword [rsp + 0x140]
xor ecx, ecx
mov word [rsp + rax*2 + 0x12a0], cx
jmp 0x180041896
mov dword [rsp + 0x144], 0
jmp 0x1800418e1
mov eax, dword [rsp + 0x144]
inc eax
mov dword [rsp + 0x144], eax
cmp dword [rsp + 0x144], 0x24
jge 0x1800418ff
movsxd rax, dword [rsp + 0x144]
xor ecx, ecx
mov word [rsp + rax*2 + 0x12f0], cx
jmp 0x1800418d1
lea rax, [rsp + 0x740]
lea rcx, [0x18007d4d8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x20
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x780]
lea rcx, [0x18007d4f8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x22
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x368]
lea rcx, [0x18007d520]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xe
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x1d8]
lea rcx, [0x18007d530]
mov rdi, rax
mov rsi, rcx
mov ecx, 6
rep movsb byte [rdi], byte [rsi]
mov eax, dword [0x18007d538]
mov dword [rsp + 0x120], eax
mov eax, dword [0x18007d53c]
mov dword [rsp + 0x124], eax
mov eax, dword [0x18007d540]
mov dword [rsp + 0x128], eax
mov eax, dword [0x18007d544]
mov dword [rsp + 0x12c], eax
mov eax, dword [0x18007d548]
mov dword [rsp + 0x148], eax
lea rax, [rsp + 0x3a0]
lea rcx, [0x18007d550]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x12
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x3e0]
lea rcx, [0x18007d568]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x14
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x3d0]
lea rcx, [0x18007d580]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x3b8]
lea rcx, [0x18007d590]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x12
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x9c0]
lea rcx, [0x18007d5a8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xcf0]
lea rcx, [0x18007d5d0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x2a
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xd90]
lea rcx, [0x18007d600]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x2e
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xdf0]
lea rcx, [0x18007d630]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x30
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xdc0]
lea rcx, [0x18007d660]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x2e
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xf18]
lea rcx, [0x18007d690]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x34
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x1500]
mov qword [rsp + 0x430], rax
mov eax, 2
imul rax, rax, 0xf
movzx eax, word [rsp + rax + 0x740]
test eax, eax
je 0x180041afa
mov dword [rsp + 0x1f4], 1
jmp 0x180041b05
mov dword [rsp + 0x1f4], 0
movzx eax, byte [rsp + 0x1f4]
mov byte [rsp + 0x36], al
movzx eax, byte [rsp + 0x36]
movzx eax, al
test eax, eax
je 0x180041b75
mov dword [rsp + 0x78], 0
jmp 0x180041b31
mov eax, dword [rsp + 0x78]
inc eax
mov dword [rsp + 0x78], eax
cmp dword [rsp + 0x78], 0x10
jge 0x180041b75
movsxd rax, dword [rsp + 0x78]
movzx eax, word [rsp + rax*2 + 0x740]
mov dword [rsp + 0x2b8], eax
mov eax, dword [rsp + 0x78]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x2b8]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0x78]
mov word [rsp + rcx*2 + 0x740], ax
jmp 0x180041b27
lea rax, [rsp + 0x740]
mov qword [rsp + 0x428], rax
mov rax, qword [rsp + 0x428]
mov rdx, rax
mov rcx, qword [rsp + 0x430]
call fcn.1800083b0
lea rcx, [rsp + 0xa80]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xa90]
lea rcx, [rsp + 0xa80]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0xa90]
lea rdx, [rsp + 0x7d0]
mov rcx, qword [0x18034f878]
call fcn.180013c90
mov byte [rsp + 0x7d8], 0
lea rax, [rsp + 0x7d9]
mov rdi, rax
xor eax, eax
mov ecx, 0xf
rep stosb byte [rdi], al
lea rax, [0x1800904b8]
lea rcx, [rsp + 0x7d0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x14c0]
mov qword [rsp + 0x440], rax
mov eax, 2
imul rax, rax, 0x10
movzx eax, word [rsp + rax + 0x780]
test eax, eax
je 0x180041c55
mov dword [rsp + 0x1f8], 1
jmp 0x180041c60
mov dword [rsp + 0x1f8], 0
movzx eax, byte [rsp + 0x1f8]
mov byte [rsp + 0x37], al
movzx eax, byte [rsp + 0x37]
movzx eax, al
test eax, eax
je 0x180041cd0
mov dword [rsp + 0x7c], 0
jmp 0x180041c8c
mov eax, dword [rsp + 0x7c]
inc eax
mov dword [rsp + 0x7c], eax
cmp dword [rsp + 0x7c], 0x11
jge 0x180041cd0
movsxd rax, dword [rsp + 0x7c]
movzx eax, word [rsp + rax*2 + 0x780]
mov dword [rsp + 0x2bc], eax
mov eax, dword [rsp + 0x7c]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x2bc]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0x7c]
mov word [rsp + rcx*2 + 0x780], ax
jmp 0x180041c82
lea rax, [rsp + 0x780]
mov qword [rsp + 0x438], rax
mov rax, qword [rsp + 0x438]
mov rdx, rax
mov rcx, qword [rsp + 0x440]
call fcn.1800083b0
lea rcx, [rsp + 0xaa0]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xab0]
lea rcx, [rsp + 0xaa0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0xab0]
lea rdx, [rsp + 0x7e8]
mov rcx, qword [0x18034f878]
call fcn.180013c90
mov byte [rsp + 0x7f0], 0
lea rax, [rsp + 0x7f1]
mov rdi, rax
xor eax, eax
mov ecx, 0xf
rep stosb byte [rdi], al
lea rax, [0x180090530]
lea rcx, [rsp + 0x7e8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x14b0]
mov qword [rsp + 0x450], rax
mov eax, 2
imul rax, rax, 0x13
movzx eax, word [rsp + rax + 0x9c0]
test eax, eax
je 0x180041db0
mov dword [rsp + 0x1fc], 1
jmp 0x180041dbb
mov dword [rsp + 0x1fc], 0
movzx eax, byte [rsp + 0x1fc]
mov byte [rsp + 0x38], al
movzx eax, byte [rsp + 0x38]
movzx eax, al
test eax, eax
je 0x180041e40
mov dword [rsp + 0x80], 0
jmp 0x180041df0
mov eax, dword [rsp + 0x80]
inc eax
mov dword [rsp + 0x80], eax
cmp dword [rsp + 0x80], 0x14
jge 0x180041e40
movsxd rax, dword [rsp + 0x80]
movzx eax, word [rsp + rax*2 + 0x9c0]
mov dword [rsp + 0x2c0], eax
mov eax, dword [rsp + 0x80]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x2c0]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0x80]
mov word [rsp + rcx*2 + 0x9c0], ax
jmp 0x180041de0
lea rax, [rsp + 0x9c0]
mov qword [rsp + 0x448], rax
mov rax, qword [rsp + 0x448]
mov rdx, rax
mov rcx, qword [rsp + 0x450]
call fcn.1800083b0
lea rcx, [rsp + 0xac0]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xad0]
lea rcx, [rsp + 0xac0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0xad0]
lea rdx, [rsp + 0x800]
mov rcx, qword [0x18034f878]
call fcn.180013c90
mov byte [rsp + 0x808], 0
lea rax, [rsp + 0x809]
mov rdi, rax
xor eax, eax
mov ecx, 0xf
rep stosb byte [rdi], al
lea rax, [0x18008cb10]
lea rcx, [rsp + 0x800]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x14a0]
mov qword [rsp + 0x460], rax
mov eax, 2
imul rax, rax, 6
movzx eax, word [rsp + rax + 0x368]
test eax, eax
je 0x180041f20
mov dword [rsp + 0x200], 1
jmp 0x180041f2b
mov dword [rsp + 0x200], 0
movzx eax, byte [rsp + 0x200]
mov byte [rsp + 0x39], al
movzx eax, byte [rsp + 0x39]
movzx eax, al
test eax, eax
je 0x180041fb0
mov dword [rsp + 0x84], 0
jmp 0x180041f60
mov eax, dword [rsp + 0x84]
inc eax
mov dword [rsp + 0x84], eax
cmp dword [rsp + 0x84], 7
jge 0x180041fb0
movsxd rax, dword [rsp + 0x84]
movzx eax, word [rsp + rax*2 + 0x368]
mov dword [rsp + 0x2c4], eax
mov eax, dword [rsp + 0x84]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x2c4]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0x84]
mov word [rsp + rcx*2 + 0x368], ax
jmp 0x180041f50
lea rax, [rsp + 0x368]
mov qword [rsp + 0x458], rax
mov rax, qword [rsp + 0x458]
mov rdx, rax
mov rcx, qword [rsp + 0x460]
call fcn.1800083b0
lea rcx, [rsp + 0xae0]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xaf0]
lea rcx, [rsp + 0xae0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0xaf0]
lea rdx, [rsp + 0x818]
mov rcx, qword [0x18034f878]
call fcn.180013c90
mov byte [rsp + 0x820], 0
lea rax, [rsp + 0x821]
mov rdi, rax
xor eax, eax
mov ecx, 0xf
rep stosb byte [rdi], al
lea rax, [0x180090488]
lea rcx, [rsp + 0x818]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x1490]
mov qword [rsp + 0x470], rax
mov eax, 2
imul rax, rax, 2
movzx eax, word [rsp + rax + 0x1d8]
test eax, eax
je 0x180042090
mov dword [rsp + 0x204], 1
jmp 0x18004209b
mov dword [rsp + 0x204], 0
movzx eax, byte [rsp + 0x204]
mov byte [rsp + 0x3a], al
movzx eax, byte [rsp + 0x3a]
movzx eax, al
test eax, eax
je 0x180042120
mov dword [rsp + 0x88], 0
jmp 0x1800420d0
mov eax, dword [rsp + 0x88]
inc eax
mov dword [rsp + 0x88], eax
cmp dword [rsp + 0x88], 3
jge 0x180042120
movsxd rax, dword [rsp + 0x88]
movzx eax, word [rsp + rax*2 + 0x1d8]
mov dword [rsp + 0x2c8], eax
mov eax, dword [rsp + 0x88]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x2c8]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0x88]
mov word [rsp + rcx*2 + 0x1d8], ax
jmp 0x1800420c0
lea rax, [rsp + 0x1d8]
mov qword [rsp + 0x468], rax
mov rax, qword [rsp + 0x468]
mov rdx, rax
mov rcx, qword [rsp + 0x470]
call fcn.1800083b0
lea rcx, [rsp + 0xb00]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xb10]
lea rcx, [rsp + 0xb00]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0xb10]
lea rdx, [rsp + 0x830]
mov rcx, qword [0x18034f878]
call fcn.180013c90
mov byte [rsp + 0x838], 0
lea rax, [rsp + 0x839]
mov rdi, rax
xor eax, eax
mov ecx, 0xf
rep stosb byte [rdi], al
lea rax, [0x18008c868]
lea rcx, [rsp + 0x830]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x1480]
mov qword [rsp + 0x480], rax
mov eax, 2
imul rax, rax, 1
movzx eax, word [rsp + rax + 0x120]
test eax, eax
je 0x180042200
mov dword [rsp + 0x208], 1
jmp 0x18004220b
mov dword [rsp + 0x208], 0
movzx eax, byte [rsp + 0x208]
mov byte [rsp + 0x3b], al
movzx eax, byte [rsp + 0x3b]
movzx eax, al
test eax, eax
je 0x180042290
mov dword [rsp + 0x8c], 0
jmp 0x180042240
mov eax, dword [rsp + 0x8c]
inc eax
mov dword [rsp + 0x8c], eax
cmp dword [rsp + 0x8c], 2
jge 0x180042290
movsxd rax, dword [rsp + 0x8c]
movzx eax, word [rsp + rax*2 + 0x120]
mov dword [rsp + 0x2cc], eax
mov eax, dword [rsp + 0x8c]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x2cc]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0x8c]
mov word [rsp + rcx*2 + 0x120], ax
jmp 0x180042230
lea rax, [rsp + 0x120]
mov qword [rsp + 0x478], rax
mov rax, qword [rsp + 0x478]
mov rdx, rax
mov rcx, qword [rsp + 0x480]
call fcn.1800083b0
lea rcx, [rsp + 0xb20]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xb30]
lea rcx, [rsp + 0xb20]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0xb30]
lea rdx, [rsp + 0x848]
mov rcx, qword [0x18034f878]
call fcn.180013c90
mov byte [rsp + 0x850], 0
lea rax, [rsp + 0x851]
mov rdi, rax
xor eax, eax
mov ecx, 0xf
rep stosb byte [rdi], al
lea rax, [0x18008cab8]
lea rcx, [rsp + 0x848]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x1470]
mov qword [rsp + 0x490], rax
mov eax, 2
imul rax, rax, 1
movzx eax, word [rsp + rax + 0x124]
test eax, eax
je 0x180042370
mov dword [rsp + 0x20c], 1
jmp 0x18004237b
mov dword [rsp + 0x20c], 0
movzx eax, byte [rsp + 0x20c]
mov byte [rsp + 0x3c], al
movzx eax, byte [rsp + 0x3c]
movzx eax, al
test eax, eax
je 0x180042400
mov dword [rsp + 0x90], 0
jmp 0x1800423b0
mov eax, dword [rsp + 0x90]
inc eax
mov dword [rsp + 0x90], eax
cmp dword [rsp + 0x90], 2
jge 0x180042400
movsxd rax, dword [rsp + 0x90]
movzx eax, word [rsp + rax*2 + 0x124]
mov dword [rsp + 0x2d0], eax
mov eax, dword [rsp + 0x90]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x2d0]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0x90]
mov word [rsp + rcx*2 + 0x124], ax
jmp 0x1800423a0
lea rax, [rsp + 0x124]
mov qword [rsp + 0x488], rax
mov rax, qword [rsp + 0x488]
mov rdx, rax
mov rcx, qword [rsp + 0x490]
call fcn.1800083b0
lea rcx, [rsp + 0xb40]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xb50]
lea rcx, [rsp + 0xb40]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0xb50]
lea rdx, [rsp + 0x860]
mov rcx, qword [0x18034f878]
call fcn.180013c90
mov byte [rsp + 0x868], 0
lea rax, [rsp + 0x869]
mov rdi, rax
xor eax, eax
mov ecx, 0xf
rep stosb byte [rdi], al
lea rax, [0x180090428]
lea rcx, [rsp + 0x860]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x1460]
mov qword [rsp + 0x4a0], rax
mov eax, 2
imul rax, rax, 1
movzx eax, word [rsp + rax + 0x128]
test eax, eax
je 0x1800424e0
mov dword [rsp + 0x210], 1
jmp 0x1800424eb
mov dword [rsp + 0x210], 0
movzx eax, byte [rsp + 0x210]
mov byte [rsp + 0x3d], al
movzx eax, byte [rsp + 0x3d]
movzx eax, al
test eax, eax
je 0x180042570
mov dword [rsp + 0x94], 0
jmp 0x180042520
mov eax, dword [rsp + 0x94]
inc eax
mov dword [rsp + 0x94], eax
cmp dword [rsp + 0x94], 2
jge 0x180042570
movsxd rax, dword [rsp + 0x94]
movzx eax, word [rsp + rax*2 + 0x128]
mov dword [rsp + 0x2d4], eax
mov eax, dword [rsp + 0x94]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x2d4]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0x94]
mov word [rsp + rcx*2 + 0x128], ax
jmp 0x180042510
lea rax, [rsp + 0x128]
mov qword [rsp + 0x498], rax
mov rax, qword [rsp + 0x498]
mov rdx, rax
mov rcx, qword [rsp + 0x4a0]
call fcn.1800083b0
lea rcx, [rsp + 0xb60]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xb70]
lea rcx, [rsp + 0xb60]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0xb70]
lea rdx, [rsp + 0x878]
mov rcx, qword [0x18034f878]
call fcn.180013c90
mov byte [rsp + 0x880], 0
lea rax, [rsp + 0x881]
mov rdi, rax
xor eax, eax
mov ecx, 0xf
rep stosb byte [rdi], al
lea rax, [0x1800903f8]
lea rcx, [rsp + 0x878]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x1450]
mov qword [rsp + 0x4b0], rax
mov eax, 2
imul rax, rax, 1
movzx eax, word [rsp + rax + 0x12c]
test eax, eax
je 0x180042650
mov dword [rsp + 0x214], 1
jmp 0x18004265b
mov dword [rsp + 0x214], 0
movzx eax, byte [rsp + 0x214]
mov byte [rsp + 0x3e], al
movzx eax, byte [rsp + 0x3e]
movzx eax, al
test eax, eax
je 0x1800426e0
mov dword [rsp + 0x98], 0
jmp 0x180042690
mov eax, dword [rsp + 0x98]
inc eax
mov dword [rsp + 0x98], eax
cmp dword [rsp + 0x98], 2
jge 0x1800426e0
movsxd rax, dword [rsp + 0x98]
movzx eax, word [rsp + rax*2 + 0x12c]
mov dword [rsp + 0x2d8], eax
mov eax, dword [rsp + 0x98]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x2d8]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0x98]
mov word [rsp + rcx*2 + 0x12c], ax
jmp 0x180042680
lea rax, [rsp + 0x12c]
mov qword [rsp + 0x4a8], rax
mov rax, qword [rsp + 0x4a8]
mov rdx, rax
mov rcx, qword [rsp + 0x4b0]
call fcn.1800083b0
lea rcx, [rsp + 0xb80]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xb90]
lea rcx, [rsp + 0xb80]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0xb90]
lea rdx, [rsp + 0x890]
mov rcx, qword [0x18034f878]
call fcn.180013c90
mov byte [rsp + 0x898], 0
lea rax, [rsp + 0x899]
mov rdi, rax
xor eax, eax
mov ecx, 0xf
rep stosb byte [rdi], al
lea rax, [0x18008c850]
lea rcx, [rsp + 0x890]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x1440]
mov qword [rsp + 0x4c0], rax
mov eax, 2
imul rax, rax, 1
movzx eax, word [rsp + rax + 0x148]
test eax, eax
je 0x1800427c0
mov dword [rsp + 0x218], 1
jmp 0x1800427cb
mov dword [rsp + 0x218], 0
movzx eax, byte [rsp + 0x218]
mov byte [rsp + 0x3f], al
movzx eax, byte [rsp + 0x3f]
movzx eax, al
test eax, eax
je 0x180042850
mov dword [rsp + 0x9c], 0
jmp 0x180042800
mov eax, dword [rsp + 0x9c]
inc eax
mov dword [rsp + 0x9c], eax
cmp dword [rsp + 0x9c], 2
jge 0x180042850
movsxd rax, dword [rsp + 0x9c]
movzx eax, word [rsp + rax*2 + 0x148]
mov dword [rsp + 0x2dc], eax
mov eax, dword [rsp + 0x9c]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x2dc]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0x9c]
mov word [rsp + rcx*2 + 0x148], ax
jmp 0x1800427f0
lea rax, [rsp + 0x148]
mov qword [rsp + 0x4b8], rax
mov rax, qword [rsp + 0x4b8]
mov rdx, rax
mov rcx, qword [rsp + 0x4c0]
call fcn.1800083b0
lea rcx, [rsp + 0xba0]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xbb0]
lea rcx, [rsp + 0xba0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0xbb0]
lea rdx, [rsp + 0x8a8]
mov rcx, qword [0x18034f878]
call fcn.180013c90
mov byte [rsp + 0x8b0], 0
lea rax, [rsp + 0x8b1]
mov rdi, rax
xor eax, eax
mov ecx, 0xf
rep stosb byte [rdi], al
lea rax, [0x18008c880]
lea rcx, [rsp + 0x8a8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x1430]
mov qword [rsp + 0x4d0], rax
mov eax, 2
imul rax, rax, 8
movzx eax, word [rsp + rax + 0x3a0]
test eax, eax
je 0x180042930
mov dword [rsp + 0x21c], 1
jmp 0x18004293b
mov dword [rsp + 0x21c], 0
movzx eax, byte [rsp + 0x21c]
mov byte [rsp + 0x40], al
movzx eax, byte [rsp + 0x40]
movzx eax, al
test eax, eax
je 0x1800429c0
mov dword [rsp + 0xa0], 0
jmp 0x180042970
mov eax, dword [rsp + 0xa0]
inc eax
mov dword [rsp + 0xa0], eax
cmp dword [rsp + 0xa0], 9
jge 0x1800429c0
movsxd rax, dword [rsp + 0xa0]
movzx eax, word [rsp + rax*2 + 0x3a0]
mov dword [rsp + 0x2e0], eax
mov eax, dword [rsp + 0xa0]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x2e0]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0xa0]
mov word [rsp + rcx*2 + 0x3a0], ax
jmp 0x180042960
lea rax, [rsp + 0x3a0]
mov qword [rsp + 0x4c8], rax
mov rax, qword [rsp + 0x4c8]
mov rdx, rax
mov rcx, qword [rsp + 0x4d0]
call fcn.1800083b0
lea rcx, [rsp + 0xbc0]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xbd0]
lea rcx, [rsp + 0xbc0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0xbd0]
lea rdx, [rsp + 0x8c0]
mov rcx, qword [0x18034f878]
call fcn.180013c90
mov byte [rsp + 0x8c8], 0
lea rax, [rsp + 0x8c9]
mov rdi, rax
xor eax, eax
mov ecx, 0xf
rep stosb byte [rdi], al
lea rax, [0x180090588]
lea rcx, [rsp + 0x8c0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x14f0]
mov qword [rsp + 0x4e0], rax
mov eax, 2
imul rax, rax, 9
movzx eax, word [rsp + rax + 0x3e0]
test eax, eax
je 0x180042aa0
mov dword [rsp + 0x220], 1
jmp 0x180042aab
mov dword [rsp + 0x220], 0
movzx eax, byte [rsp + 0x220]
mov byte [rsp + 0x41], al
movzx eax, byte [rsp + 0x41]
movzx eax, al
test eax, eax
je 0x180042b30
mov dword [rsp + 0xa4], 0
jmp 0x180042ae0
mov eax, dword [rsp + 0xa4]
inc eax
mov dword [rsp + 0xa4], eax
cmp dword [rsp + 0xa4], 0xa
jge 0x180042b30
movsxd rax, dword [rsp + 0xa4]
movzx eax, word [rsp + rax*2 + 0x3e0]
mov dword [rsp + 0x2e4], eax
mov eax, dword [rsp + 0xa4]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x2e4]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0xa4]
mov word [rsp + rcx*2 + 0x3e0], ax
jmp 0x180042ad0
lea rax, [rsp + 0x3e0]
mov qword [rsp + 0x4d8], rax
mov rax, qword [rsp + 0x4d8]
mov rdx, rax
mov rcx, qword [rsp + 0x4e0]
call fcn.1800083b0
lea rcx, [rsp + 0xbe0]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xbf0]
lea rcx, [rsp + 0xbe0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0xbf0]
lea rdx, [rsp + 0x8d8]
mov rcx, qword [0x18034f878]
call fcn.180013c90
mov byte [rsp + 0x8e0], 0
lea rax, [rsp + 0x8e1]
mov rdi, rax
xor eax, eax
mov ecx, 0xf
rep stosb byte [rdi], al
lea rax, [0x18008caa0]
lea rcx, [rsp + 0x8d8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x14e0]
mov qword [rsp + 0x4f0], rax
mov eax, 2
imul rax, rax, 7
movzx eax, word [rsp + rax + 0x3d0]
test eax, eax
je 0x180042c10
mov dword [rsp + 0x224], 1
jmp 0x180042c1b
mov dword [rsp + 0x224], 0
movzx eax, byte [rsp + 0x224]
mov byte [rsp + 0x42], al
movzx eax, byte [rsp + 0x42]
movzx eax, al
test eax, eax
je 0x180042ca0
mov dword [rsp + 0xa8], 0
jmp 0x180042c50
mov eax, dword [rsp + 0xa8]
inc eax
mov dword [rsp + 0xa8], eax
cmp dword [rsp + 0xa8], 8
jge 0x180042ca0
movsxd rax, dword [rsp + 0xa8]
movzx eax, word [rsp + rax*2 + 0x3d0]
mov dword [rsp + 0x2e8], eax
mov eax, dword [rsp + 0xa8]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x2e8]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0xa8]
mov word [rsp + rcx*2 + 0x3d0], ax
jmp 0x180042c40
lea rax, [rsp + 0x3d0]
mov qword [rsp + 0x4e8], rax
mov rax, qword [rsp + 0x4e8]
mov rdx, rax
mov rcx, qword [rsp + 0x4f0]
call fcn.1800083b0
lea rcx, [rsp + 0xc00]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xc10]
lea rcx, [rsp + 0xc00]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0xc10]
lea rdx, [rsp + 0x8f0]
mov rcx, qword [0x18034f878]
call fcn.180013c90
mov byte [rsp + 0x8f8], 0
lea rax, [rsp + 0x8f9]
mov rdi, rax
xor eax, eax
mov ecx, 0xf
rep stosb byte [rdi], al
lea rax, [0x18034f710]
lea rcx, [rsp + 0x8f0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x14d0]
mov qword [rsp + 0x500], rax
mov eax, 2
imul rax, rax, 8
movzx eax, word [rsp + rax + 0x3b8]
test eax, eax
je 0x180042d80
mov dword [rsp + 0x228], 1
jmp 0x180042d8b
mov dword [rsp + 0x228], 0
movzx eax, byte [rsp + 0x228]
mov byte [rsp + 0x43], al
movzx eax, byte [rsp + 0x43]
movzx eax, al
test eax, eax
je 0x180042e10
mov dword [rsp + 0xac], 0
jmp 0x180042dc0
mov eax, dword [rsp + 0xac]
inc eax
mov dword [rsp + 0xac], eax
cmp dword [rsp + 0xac], 9
jge 0x180042e10
movsxd rax, dword [rsp + 0xac]
movzx eax, word [rsp + rax*2 + 0x3b8]
mov dword [rsp + 0x2ec], eax
mov eax, dword [rsp + 0xac]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x2ec]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0xac]
mov word [rsp + rcx*2 + 0x3b8], ax
jmp 0x180042db0
lea rax, [rsp + 0x3b8]
mov qword [rsp + 0x4f8], rax
mov rax, qword [rsp + 0x4f8]
mov rdx, rax
mov rcx, qword [rsp + 0x500]
call fcn.1800083b0
lea rcx, [rsp + 0xc20]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xc30]
lea rcx, [rsp + 0xc20]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0xc30]
lea rdx, [rsp + 0x908]
mov rcx, qword [0x18034f878]
call fcn.180013c90
mov byte [rsp + 0x910], 0
lea rax, [rsp + 0x911]
mov rdi, rax
xor eax, eax
mov ecx, 0xf
rep stosb byte [rdi], al
lea rax, [0x18034f810]
lea rcx, [rsp + 0x908]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x13e0]
mov qword [rsp + 0x510], rax
mov eax, 2
imul rax, rax, 0x16
movzx eax, word [rsp + rax + 0xd90]
test eax, eax
je 0x180042ef0
mov dword [rsp + 0x22c], 1
jmp 0x180042efb
mov dword [rsp + 0x22c], 0
movzx eax, byte [rsp + 0x22c]
mov byte [rsp + 0x44], al
movzx eax, byte [rsp + 0x44]
movzx eax, al
test eax, eax
je 0x180042f80
mov dword [rsp + 0xb0], 0
jmp 0x180042f30
mov eax, dword [rsp + 0xb0]
inc eax
mov dword [rsp + 0xb0], eax
cmp dword [rsp + 0xb0], 0x17
jge 0x180042f80
movsxd rax, dword [rsp + 0xb0]
movzx eax, word [rsp + rax*2 + 0xd90]
mov dword [rsp + 0x2f0], eax
mov eax, dword [rsp + 0xb0]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x2f0]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0xb0]
mov word [rsp + rcx*2 + 0xd90], ax
jmp 0x180042f20
lea rax, [rsp + 0xd90]
mov qword [rsp + 0x508], rax
mov rax, qword [rsp + 0x508]
mov rdx, rax
mov rcx, qword [rsp + 0x510]
call fcn.1800083b0
lea rcx, [rsp + 0xc40]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xc50]
lea rcx, [rsp + 0xc40]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0xc50]
lea rdx, [rsp + 0x920]
mov rcx, qword [0x18034f878]
call fcn.180013c90
mov byte [rsp + 0x928], 0
lea rax, [rsp + 0x929]
mov rdi, rax
xor eax, eax
mov ecx, 0xf
rep stosb byte [rdi], al
lea rax, [0x180090548]
lea rcx, [rsp + 0x920]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x13f0]
mov qword [rsp + 0x520], rax
mov eax, 2
imul rax, rax, 0x14
movzx eax, word [rsp + rax + 0xcf0]
test eax, eax
je 0x180043060
mov dword [rsp + 0x230], 1
jmp 0x18004306b
mov dword [rsp + 0x230], 0
movzx eax, byte [rsp + 0x230]
mov byte [rsp + 0x45], al
movzx eax, byte [rsp + 0x45]
movzx eax, al
test eax, eax
je 0x1800430f0
mov dword [rsp + 0xb4], 0
jmp 0x1800430a0
mov eax, dword [rsp + 0xb4]
inc eax
mov dword [rsp + 0xb4], eax
cmp dword [rsp + 0xb4], 0x15
jge 0x1800430f0
movsxd rax, dword [rsp + 0xb4]
movzx eax, word [rsp + rax*2 + 0xcf0]
mov dword [rsp + 0x2f4], eax
mov eax, dword [rsp + 0xb4]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x2f4]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0xb4]
mov word [rsp + rcx*2 + 0xcf0], ax
jmp 0x180043090
lea rax, [rsp + 0xcf0]
mov qword [rsp + 0x518], rax
mov rax, qword [rsp + 0x518]
mov rdx, rax
mov rcx, qword [rsp + 0x520]
call fcn.1800083b0
lea rcx, [rsp + 0x9e8]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xa00]
lea rcx, [rsp + 0x9e8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0xa00]
lea rdx, [rsp + 0x938]
mov rcx, qword [0x18034f878]
call fcn.180013c90
mov byte [rsp + 0x940], 0
lea rax, [rsp + 0x941]
mov rdi, rax
xor eax, eax
mov ecx, 0xf
rep stosb byte [rdi], al
lea rax, [0x18008ca88]
lea rcx, [rsp + 0x938]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x1400]
mov qword [rsp + 0x530], rax
mov eax, 2
imul rax, rax, 0x16
movzx eax, word [rsp + rax + 0xdc0]
test eax, eax
je 0x1800431d0
mov dword [rsp + 0x234], 1
jmp 0x1800431db
mov dword [rsp + 0x234], 0
movzx eax, byte [rsp + 0x234]
mov byte [rsp + 0x46], al
movzx eax, byte [rsp + 0x46]
movzx eax, al
test eax, eax
je 0x180043260
mov dword [rsp + 0xb8], 0
jmp 0x180043210
mov eax, dword [rsp + 0xb8]
inc eax
mov dword [rsp + 0xb8], eax
cmp dword [rsp + 0xb8], 0x17
jge 0x180043260
movsxd rax, dword [rsp + 0xb8]
movzx eax, word [rsp + rax*2 + 0xdc0]
mov dword [rsp + 0x2f8], eax
mov eax, dword [rsp + 0xb8]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x2f8]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0xb8]
mov word [rsp + rcx*2 + 0xdc0], ax
jmp 0x180043200
lea rax, [rsp + 0xdc0]
mov qword [rsp + 0x528], rax
mov rax, qword [rsp + 0x528]
mov rdx, rax
mov rcx, qword [rsp + 0x530]
call fcn.1800083b0
lea rcx, [rsp + 0xa10]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xa20]
lea rcx, [rsp + 0xa10]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0xa20]
lea rdx, [rsp + 0x950]
mov rcx, qword [0x18034f878]
call fcn.180013c90
mov byte [rsp + 0x958], 0
lea rax, [rsp + 0x959]
mov rdi, rax
xor eax, eax
mov ecx, 0xf
rep stosb byte [rdi], al
lea rax, [0x18034f848]
lea rcx, [rsp + 0x950]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x1410]
mov qword [rsp + 0x540], rax
mov eax, 2
imul rax, rax, 0x17
movzx eax, word [rsp + rax + 0xdf0]
test eax, eax
je 0x180043340
mov dword [rsp + 0x238], 1
jmp 0x18004334b
mov dword [rsp + 0x238], 0
movzx eax, byte [rsp + 0x238]
mov byte [rsp + 0x47], al
movzx eax, byte [rsp + 0x47]
movzx eax, al
test eax, eax
je 0x1800433d0
mov dword [rsp + 0xbc], 0
jmp 0x180043380
mov eax, dword [rsp + 0xbc]
inc eax
mov dword [rsp + 0xbc], eax
cmp dword [rsp + 0xbc], 0x18
jge 0x1800433d0
movsxd rax, dword [rsp + 0xbc]
movzx eax, word [rsp + rax*2 + 0xdf0]
mov dword [rsp + 0x2fc], eax
mov eax, dword [rsp + 0xbc]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x2fc]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0xbc]
mov word [rsp + rcx*2 + 0xdf0], ax
jmp 0x180043370
lea rax, [rsp + 0xdf0]
mov qword [rsp + 0x538], rax
mov rax, qword [rsp + 0x538]
mov rdx, rax
mov rcx, qword [rsp + 0x540]
call fcn.1800083b0
lea rcx, [rsp + 0xa30]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xa40]
lea rcx, [rsp + 0xa30]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0xa40]
lea rdx, [rsp + 0x968]
mov rcx, qword [0x18034f878]
call fcn.180013c90
mov byte [rsp + 0x970], 0
lea rax, [rsp + 0x971]
mov rdi, rax
xor eax, eax
mov ecx, 0xf
rep stosb byte [rdi], al
lea rax, [0x180090518]
lea rcx, [rsp + 0x968]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x1420]
mov qword [rsp + 0x550], rax
mov eax, 2
imul rax, rax, 0x19
movzx eax, word [rsp + rax + 0xf18]
test eax, eax
je 0x1800434b0
mov dword [rsp + 0x23c], 1
jmp 0x1800434bb
mov dword [rsp + 0x23c], 0
movzx eax, byte [rsp + 0x23c]
mov byte [rsp + 0x48], al
movzx eax, byte [rsp + 0x48]
movzx eax, al
test eax, eax
je 0x180043540
mov dword [rsp + 0xc0], 0
jmp 0x1800434f0
mov eax, dword [rsp + 0xc0]
inc eax
mov dword [rsp + 0xc0], eax
cmp dword [rsp + 0xc0], 0x1a
jge 0x180043540
movsxd rax, dword [rsp + 0xc0]
movzx eax, word [rsp + rax*2 + 0xf18]
mov dword [rsp + 0x300], eax
mov eax, dword [rsp + 0xc0]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x300]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0xc0]
mov word [rsp + rcx*2 + 0xf18], ax
jmp 0x1800434e0
lea rax, [rsp + 0xf18]
mov qword [rsp + 0x548], rax
mov rax, qword [rsp + 0x548]
mov rdx, rax
mov rcx, qword [rsp + 0x550]
call fcn.1800083b0
lea rcx, [rsp + 0xa50]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xa60]
lea rcx, [rsp + 0xa50]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0xa60]
lea rdx, [rsp + 0x980]
mov rcx, qword [0x18034f878]
call fcn.180013c90
mov byte [rsp + 0x988], 0
lea rax, [rsp + 0x989]
mov rdi, rax
xor eax, eax
mov ecx, 0xf
rep stosb byte [rdi], al
lea rax, [0x180090410]
lea rcx, [rsp + 0x980]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x18
rep movsb byte [rdi], byte [rsi]
mov dword [rsp + 0x14c], 0
jmp 0x18004360b
mov eax, dword [rsp + 0x14c]
inc eax
mov dword [rsp + 0x14c], eax
cmp dword [rsp + 0x14c], 0x10
jge 0x180043629
movsxd rax, dword [rsp + 0x14c]
xor ecx, ecx
mov word [rsp + rax*2 + 0x740], cx
jmp 0x1800435fb
mov dword [rsp + 0x150], 0
jmp 0x180043646
mov eax, dword [rsp + 0x150]
inc eax
mov dword [rsp + 0x150], eax
cmp dword [rsp + 0x150], 0x11
jge 0x180043664
movsxd rax, dword [rsp + 0x150]
xor ecx, ecx
mov word [rsp + rax*2 + 0x780], cx
jmp 0x180043636
mov dword [rsp + 0x154], 0
jmp 0x180043681
mov eax, dword [rsp + 0x154]
inc eax
mov dword [rsp + 0x154], eax
cmp dword [rsp + 0x154], 3
jge 0x18004369f
movsxd rax, dword [rsp + 0x154]
xor ecx, ecx
mov word [rsp + rax*2 + 0x1d8], cx
jmp 0x180043671
mov dword [rsp + 0x158], 0
jmp 0x1800436bc
mov eax, dword [rsp + 0x158]
inc eax
mov dword [rsp + 0x158], eax
cmp dword [rsp + 0x158], 7
jge 0x1800436da
movsxd rax, dword [rsp + 0x158]
xor ecx, ecx
mov word [rsp + rax*2 + 0x368], cx
jmp 0x1800436ac
mov dword [rsp + 0x15c], 0
jmp 0x1800436f7
mov eax, dword [rsp + 0x15c]
inc eax
mov dword [rsp + 0x15c], eax
cmp dword [rsp + 0x15c], 2
jge 0x180043715
movsxd rax, dword [rsp + 0x15c]
xor ecx, ecx
mov word [rsp + rax*2 + 0x120], cx
jmp 0x1800436e7
mov dword [rsp + 0x160], 0
jmp 0x180043732
mov eax, dword [rsp + 0x160]
inc eax
mov dword [rsp + 0x160], eax
cmp dword [rsp + 0x160], 2
jge 0x180043750
movsxd rax, dword [rsp + 0x160]
xor ecx, ecx
mov word [rsp + rax*2 + 0x124], cx
jmp 0x180043722
mov dword [rsp + 0x164], 0
jmp 0x18004376d
mov eax, dword [rsp + 0x164]
inc eax
mov dword [rsp + 0x164], eax
cmp dword [rsp + 0x164], 2
jge 0x18004378b
movsxd rax, dword [rsp + 0x164]
xor ecx, ecx
mov word [rsp + rax*2 + 0x128], cx
jmp 0x18004375d
mov dword [rsp + 0x168], 0
jmp 0x1800437a8
mov eax, dword [rsp + 0x168]
inc eax
mov dword [rsp + 0x168], eax
cmp dword [rsp + 0x168], 2
jge 0x1800437c6
movsxd rax, dword [rsp + 0x168]
xor ecx, ecx
mov word [rsp + rax*2 + 0x12c], cx
jmp 0x180043798
mov dword [rsp + 0x16c], 0
jmp 0x1800437e3
mov eax, dword [rsp + 0x16c]
inc eax
mov dword [rsp + 0x16c], eax
cmp dword [rsp + 0x16c], 9
jge 0x180043801
movsxd rax, dword [rsp + 0x16c]
xor ecx, ecx
mov word [rsp + rax*2 + 0x3a0], cx
jmp 0x1800437d3
mov dword [rsp + 0x170], 0
jmp 0x18004381e
mov eax, dword [rsp + 0x170]
inc eax
mov dword [rsp + 0x170], eax
cmp dword [rsp + 0x170], 0xa
jge 0x18004383c
movsxd rax, dword [rsp + 0x170]
xor ecx, ecx
mov word [rsp + rax*2 + 0x3e0], cx
jmp 0x18004380e
mov dword [rsp + 0x174], 0
jmp 0x180043859
mov eax, dword [rsp + 0x174]
inc eax
mov dword [rsp + 0x174], eax
cmp dword [rsp + 0x174], 9
jge 0x180043877
movsxd rax, dword [rsp + 0x174]
xor ecx, ecx
mov word [rsp + rax*2 + 0x3b8], cx
jmp 0x180043849
mov dword [rsp + 0x178], 0
jmp 0x180043894
mov eax, dword [rsp + 0x178]
inc eax
mov dword [rsp + 0x178], eax
cmp dword [rsp + 0x178], 0x14
jge 0x1800438b2
movsxd rax, dword [rsp + 0x178]
xor ecx, ecx
mov word [rsp + rax*2 + 0x9c0], cx
jmp 0x180043884
lea rax, [rsp + 0x1110]
lea rcx, [0x18007d6d0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x44
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x998]
lea rcx, [0x18007d718]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x26
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x760]
lea rcx, [0x18007d740]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x20
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x720]
lea rcx, [0x18007d760]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x1e
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x7a8]
lea rcx, [0x18007d780]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x22
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xc60]
lea rcx, [0x18007d7a8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x30
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xd58]
lea rcx, [0x18007d7d8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x36
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xd20]
lea rcx, [0x18007d810]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x34
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xc90]
lea rcx, [0x18007d848]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x30
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xfd0]
lea rcx, [0x18007d878]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x3e
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x1510]
lea rcx, [0x18007d8c0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x40
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xea0]
lea rcx, [0x18007d900]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x3c
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xe60]
lea rcx, [0x18007d940]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x3c
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xf90]
lea rcx, [0x18007d980]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x3e
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x1160]
lea rcx, [0x18007d9c0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x44
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xe20]
lea rcx, [0x18007da08]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x3c
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xcc0]
lea rcx, [0x18007da48]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x30
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x1340]
lea rcx, [0x18007da80]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x4a
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x10c0]
lea rcx, [0x18007dad0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x42
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xee0]
lea rcx, [0x18007db18]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x34
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xf50]
lea rcx, [0x18007db50]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x3e
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x1200]
lea rcx, [0x18007db90]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x44
rep movsb byte [rdi], byte [rsi]
mov eax, 2
imul rax, rax, 0x21
movzx eax, word [rsp + rax + 0x1200]
test eax, eax
je 0x180043b3c
mov dword [rsp + 0x240], 1
jmp 0x180043b47
mov dword [rsp + 0x240], 0
movzx eax, byte [rsp + 0x240]
mov byte [rsp + 0x49], al
movzx eax, byte [rsp + 0x49]
movzx eax, al
test eax, eax
je 0x180043bcc
mov dword [rsp + 0xc4], 0
jmp 0x180043b7c
mov eax, dword [rsp + 0xc4]
inc eax
mov dword [rsp + 0xc4], eax
cmp dword [rsp + 0xc4], 0x22
jge 0x180043bcc
movsxd rax, dword [rsp + 0xc4]
movzx eax, word [rsp + rax*2 + 0x1200]
mov dword [rsp + 0x304], eax
mov eax, dword [rsp + 0xc4]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x304]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0xc4]
mov word [rsp + rcx*2 + 0x1200], ax
jmp 0x180043b6c
lea rax, [rsp + 0x1200]
mov qword [rsp + 0x558], rax
mov rax, qword [rsp + 0x558]
xor r9d, r9d
mov r8, rax
xor edx, edx
xor ecx, ecx
call fcn.18004b480
mov qword [rsp + 0x560], rax
mov rax, qword [rsp + 0x560]
mov qword [0x18008c1d8], rax
mov eax, 2
imul rax, rax, 0x21
movzx eax, word [rsp + rax + 0x1110]
test eax, eax
je 0x180043c2c
mov dword [rsp + 0x244], 1
jmp 0x180043c37
mov dword [rsp + 0x244], 0
movzx eax, byte [rsp + 0x244]
mov byte [rsp + 0x4a], al
movzx eax, byte [rsp + 0x4a]
movzx eax, al
test eax, eax
je 0x180043cbc
mov dword [rsp + 0xc8], 0
jmp 0x180043c6c
mov eax, dword [rsp + 0xc8]
inc eax
mov dword [rsp + 0xc8], eax
cmp dword [rsp + 0xc8], 0x22
jge 0x180043cbc
movsxd rax, dword [rsp + 0xc8]
movzx eax, word [rsp + rax*2 + 0x1110]
mov dword [rsp + 0x308], eax
mov eax, dword [rsp + 0xc8]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x308]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0xc8]
mov word [rsp + rcx*2 + 0x1110], ax
jmp 0x180043c5c
lea rax, [rsp + 0x1110]
mov qword [rsp + 0x568], rax
mov rax, qword [rsp + 0x568]
xor r9d, r9d
mov r8, rax
xor edx, edx
xor ecx, ecx
call fcn.18004b480
mov qword [rsp + 0x570], rax
mov rax, qword [rsp + 0x570]
mov qword [0x18008c1e0], rax
mov eax, 2
imul rax, rax, 0x12
movzx eax, word [rsp + rax + 0x998]
test eax, eax
je 0x180043d1c
mov dword [rsp + 0x248], 1
jmp 0x180043d27
mov dword [rsp + 0x248], 0
movzx eax, byte [rsp + 0x248]
mov byte [rsp + 0x4b], al
movzx eax, byte [rsp + 0x4b]
movzx eax, al
test eax, eax
je 0x180043dac
mov dword [rsp + 0xcc], 0
jmp 0x180043d5c
mov eax, dword [rsp + 0xcc]
inc eax
mov dword [rsp + 0xcc], eax
cmp dword [rsp + 0xcc], 0x13
jge 0x180043dac
movsxd rax, dword [rsp + 0xcc]
movzx eax, word [rsp + rax*2 + 0x998]
mov dword [rsp + 0x30c], eax
mov eax, dword [rsp + 0xcc]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x30c]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0xcc]
mov word [rsp + rcx*2 + 0x998], ax
jmp 0x180043d4c
lea rax, [rsp + 0x998]
mov qword [rsp + 0x578], rax
mov rax, qword [rsp + 0x578]
xor r9d, r9d
mov r8, rax
xor edx, edx
xor ecx, ecx
call fcn.18004b480
mov qword [rsp + 0x580], rax
mov rax, qword [rsp + 0x580]
mov qword [0x18008c258], rax
mov eax, 2
imul rax, rax, 0x17
movzx eax, word [rsp + rax + 0xc60]
test eax, eax
je 0x180043e0c
mov dword [rsp + 0x24c], 1
jmp 0x180043e17
mov dword [rsp + 0x24c], 0
movzx eax, byte [rsp + 0x24c]
mov byte [rsp + 0x4c], al
movzx eax, byte [rsp + 0x4c]
movzx eax, al
test eax, eax
je 0x180043e9c
mov dword [rsp + 0xd0], 0
jmp 0x180043e4c
mov eax, dword [rsp + 0xd0]
inc eax
mov dword [rsp + 0xd0], eax
cmp dword [rsp + 0xd0], 0x18
jge 0x180043e9c
movsxd rax, dword [rsp + 0xd0]
movzx eax, word [rsp + rax*2 + 0xc60]
mov dword [rsp + 0x310], eax
mov eax, dword [rsp + 0xd0]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x310]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0xd0]
mov word [rsp + rcx*2 + 0xc60], ax
jmp 0x180043e3c
lea rax, [rsp + 0xc60]
mov qword [rsp + 0x588], rax
mov rax, qword [rsp + 0x588]
xor r9d, r9d
mov r8, rax
xor edx, edx
xor ecx, ecx
call fcn.18004b480
mov qword [rsp + 0x590], rax
mov rax, qword [rsp + 0x590]
mov qword [0x18008c260], rax
mov eax, 2
imul rax, rax, 0x1a
movzx eax, word [rsp + rax + 0xd58]
test eax, eax
je 0x180043efc
mov dword [rsp + 0x250], 1
jmp 0x180043f07
mov dword [rsp + 0x250], 0
movzx eax, byte [rsp + 0x250]
mov byte [rsp + 0x4d], al
movzx eax, byte [rsp + 0x4d]
movzx eax, al
test eax, eax
je 0x180043f8c
mov dword [rsp + 0xd4], 0
jmp 0x180043f3c
mov eax, dword [rsp + 0xd4]
inc eax
mov dword [rsp + 0xd4], eax
cmp dword [rsp + 0xd4], 0x1b
jge 0x180043f8c
movsxd rax, dword [rsp + 0xd4]
movzx eax, word [rsp + rax*2 + 0xd58]
mov dword [rsp + 0x314], eax
mov eax, dword [rsp + 0xd4]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x314]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0xd4]
mov word [rsp + rcx*2 + 0xd58], ax
jmp 0x180043f2c
lea rax, [rsp + 0xd58]
mov qword [rsp + 0x598], rax
mov rax, qword [rsp + 0x598]
xor r9d, r9d
mov r8, rax
xor edx, edx
xor ecx, ecx
call fcn.18004b480
mov qword [rsp + 0x5a0], rax
mov rax, qword [rsp + 0x5a0]
mov qword [0x18008c270], rax
mov eax, 2
imul rax, rax, 0x19
movzx eax, word [rsp + rax + 0xd20]
test eax, eax
je 0x180043fec
mov dword [rsp + 0x254], 1
jmp 0x180043ff7
mov dword [rsp + 0x254], 0
movzx eax, byte [rsp + 0x254]
mov byte [rsp + 0x4e], al
movzx eax, byte [rsp + 0x4e]
movzx eax, al
test eax, eax
je 0x18004407c
mov dword [rsp + 0xd8], 0
jmp 0x18004402c
mov eax, dword [rsp + 0xd8]
inc eax
mov dword [rsp + 0xd8], eax
cmp dword [rsp + 0xd8], 0x1a
jge 0x18004407c
movsxd rax, dword [rsp + 0xd8]
movzx eax, word [rsp + rax*2 + 0xd20]
mov dword [rsp + 0x318], eax
mov eax, dword [rsp + 0xd8]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x318]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0xd8]
mov word [rsp + rcx*2 + 0xd20], ax
jmp 0x18004401c
lea rax, [rsp + 0xd20]
mov qword [rsp + 0x5a8], rax
mov rax, qword [rsp + 0x5a8]
xor r9d, r9d
mov r8, rax
xor edx, edx
xor ecx, ecx
call fcn.18004b480
mov qword [rsp + 0x5b0], rax
mov rax, qword [rsp + 0x5b0]
mov qword [0x18008c268], rax
mov eax, 2
imul rax, rax, 0xf
movzx eax, word [rsp + rax + 0x760]
test eax, eax
je 0x1800440dc
mov dword [rsp + 0x258], 1
jmp 0x1800440e7
mov dword [rsp + 0x258], 0
movzx eax, byte [rsp + 0x258]
mov byte [rsp + 0x4f], al
movzx eax, byte [rsp + 0x4f]
movzx eax, al
test eax, eax
je 0x18004416c
mov dword [rsp + 0xdc], 0
jmp 0x18004411c
mov eax, dword [rsp + 0xdc]
inc eax
mov dword [rsp + 0xdc], eax
cmp dword [rsp + 0xdc], 0x10
jge 0x18004416c
movsxd rax, dword [rsp + 0xdc]
movzx eax, word [rsp + rax*2 + 0x760]
mov dword [rsp + 0x31c], eax
mov eax, dword [rsp + 0xdc]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x31c]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0xdc]
mov word [rsp + rcx*2 + 0x760], ax
jmp 0x18004410c
lea rax, [rsp + 0x760]
mov qword [rsp + 0x5b8], rax
mov rax, qword [rsp + 0x5b8]
xor r9d, r9d
mov r8, rax
xor edx, edx
xor ecx, ecx
call fcn.18004b480
mov qword [rsp + 0x5c0], rax
mov rax, qword [rsp + 0x5c0]
mov qword [0x18008c240], rax
mov eax, 2
imul rax, rax, 0xe
movzx eax, word [rsp + rax + 0x720]
test eax, eax
je 0x1800441cc
mov dword [rsp + 0x25c], 1
jmp 0x1800441d7
mov dword [rsp + 0x25c], 0
movzx eax, byte [rsp + 0x25c]
mov byte [rsp + 0x50], al
movzx eax, byte [rsp + 0x50]
movzx eax, al
test eax, eax
je 0x18004425c
mov dword [rsp + 0xe0], 0
jmp 0x18004420c
mov eax, dword [rsp + 0xe0]
inc eax
mov dword [rsp + 0xe0], eax
cmp dword [rsp + 0xe0], 0xf
jge 0x18004425c
movsxd rax, dword [rsp + 0xe0]
movzx eax, word [rsp + rax*2 + 0x720]
mov dword [rsp + 0x320], eax
mov eax, dword [rsp + 0xe0]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x320]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0xe0]
mov word [rsp + rcx*2 + 0x720], ax
jmp 0x1800441fc
lea rax, [rsp + 0x720]
mov qword [rsp + 0x5c8], rax
mov rax, qword [rsp + 0x5c8]
xor r9d, r9d
mov r8, rax
xor edx, edx
xor ecx, ecx
call fcn.18004b480
mov qword [rsp + 0x5d0], rax
mov rax, qword [rsp + 0x5d0]
mov qword [0x18008c248], rax
mov eax, 2
imul rax, rax, 0x10
movzx eax, word [rsp + rax + 0x7a8]
test eax, eax
je 0x1800442bc
mov dword [rsp + 0x260], 1
jmp 0x1800442c7
mov dword [rsp + 0x260], 0
movzx eax, byte [rsp + 0x260]
mov byte [rsp + 0x51], al
movzx eax, byte [rsp + 0x51]
movzx eax, al
test eax, eax
je 0x18004434c
mov dword [rsp + 0xe4], 0
jmp 0x1800442fc
mov eax, dword [rsp + 0xe4]
inc eax
mov dword [rsp + 0xe4], eax
cmp dword [rsp + 0xe4], 0x11
jge 0x18004434c
movsxd rax, dword [rsp + 0xe4]
movzx eax, word [rsp + rax*2 + 0x7a8]
mov dword [rsp + 0x324], eax
mov eax, dword [rsp + 0xe4]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x324]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0xe4]
mov word [rsp + rcx*2 + 0x7a8], ax
jmp 0x1800442ec
lea rax, [rsp + 0x7a8]
mov qword [rsp + 0x5d8], rax
mov rax, qword [rsp + 0x5d8]
xor r9d, r9d
mov r8, rax
xor edx, edx
xor ecx, ecx
call fcn.18004b480
mov qword [rsp + 0x5e0], rax
mov rax, qword [rsp + 0x5e0]
mov qword [0x18008c250], rax
mov eax, 2
imul rax, rax, 0x17
movzx eax, word [rsp + rax + 0xc90]
test eax, eax
je 0x1800443ac
mov dword [rsp + 0x264], 1
jmp 0x1800443b7
mov dword [rsp + 0x264], 0
movzx eax, byte [rsp + 0x264]
mov byte [rsp + 0x52], al
movzx eax, byte [rsp + 0x52]
movzx eax, al
test eax, eax
je 0x18004443c
mov dword [rsp + 0xe8], 0
jmp 0x1800443ec
mov eax, dword [rsp + 0xe8]
inc eax
mov dword [rsp + 0xe8], eax
cmp dword [rsp + 0xe8], 0x18
jge 0x18004443c
movsxd rax, dword [rsp + 0xe8]
movzx eax, word [rsp + rax*2 + 0xc90]
mov dword [rsp + 0x328], eax
mov eax, dword [rsp + 0xe8]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x328]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0xe8]
mov word [rsp + rcx*2 + 0xc90], ax
jmp 0x1800443dc
lea rax, [rsp + 0xc90]
mov qword [rsp + 0x5e8], rax
mov rax, qword [rsp + 0x5e8]
xor r9d, r9d
mov r8, rax
xor edx, edx
xor ecx, ecx
call fcn.18004b480
mov qword [rsp + 0x5f0], rax
mov rax, qword [rsp + 0x5f0]
mov qword [0x18008c1e8], rax
mov eax, 2
imul rax, rax, 0x1e
movzx eax, word [rsp + rax + 0xfd0]
test eax, eax
je 0x18004449c
mov dword [rsp + 0x268], 1
jmp 0x1800444a7
mov dword [rsp + 0x268], 0
movzx eax, byte [rsp + 0x268]
mov byte [rsp + 0x53], al
movzx eax, byte [rsp + 0x53]
movzx eax, al
test eax, eax
je 0x18004452c
mov dword [rsp + 0xec], 0
jmp 0x1800444dc
mov eax, dword [rsp + 0xec]
inc eax
mov dword [rsp + 0xec], eax
cmp dword [rsp + 0xec], 0x1f
jge 0x18004452c
movsxd rax, dword [rsp + 0xec]
movzx eax, word [rsp + rax*2 + 0xfd0]
mov dword [rsp + 0x32c], eax
mov eax, dword [rsp + 0xec]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x32c]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0xec]
mov word [rsp + rcx*2 + 0xfd0], ax
jmp 0x1800444cc
lea rax, [rsp + 0xfd0]
mov qword [rsp + 0x5f8], rax
mov rax, qword [rsp + 0x5f8]
xor r9d, r9d
mov r8, rax
xor edx, edx
xor ecx, ecx
call fcn.18004b480
mov qword [rsp + 0x600], rax
mov rax, qword [rsp + 0x600]
mov qword [0x18008c1f8], rax
mov eax, 2
imul rax, rax, 0x1d
movzx eax, word [rsp + rax + 0xea0]
test eax, eax
je 0x18004458c
mov dword [rsp + 0x26c], 1
jmp 0x180044597
mov dword [rsp + 0x26c], 0
movzx eax, byte [rsp + 0x26c]
mov byte [rsp + 0x54], al
movzx eax, byte [rsp + 0x54]
movzx eax, al
test eax, eax
je 0x18004461c
mov dword [rsp + 0xf0], 0
jmp 0x1800445cc
mov eax, dword [rsp + 0xf0]
inc eax
mov dword [rsp + 0xf0], eax
cmp dword [rsp + 0xf0], 0x1e
jge 0x18004461c
movsxd rax, dword [rsp + 0xf0]
movzx eax, word [rsp + rax*2 + 0xea0]
mov dword [rsp + 0x330], eax
mov eax, dword [rsp + 0xf0]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x330]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0xf0]
mov word [rsp + rcx*2 + 0xea0], ax
jmp 0x1800445bc
lea rax, [rsp + 0xea0]
mov qword [rsp + 0x608], rax
mov rax, qword [rsp + 0x608]
xor r9d, r9d
mov r8, rax
xor edx, edx
xor ecx, ecx
call fcn.18004b480
mov qword [rsp + 0x610], rax
mov rax, qword [rsp + 0x610]
mov qword [0x18008c200], rax
mov eax, 2
imul rax, rax, 0x1d
movzx eax, word [rsp + rax + 0xe60]
test eax, eax
je 0x18004467c
mov dword [rsp + 0x270], 1
jmp 0x180044687
mov dword [rsp + 0x270], 0
movzx eax, byte [rsp + 0x270]
mov byte [rsp + 0x55], al
movzx eax, byte [rsp + 0x55]
movzx eax, al
test eax, eax
je 0x18004470c
mov dword [rsp + 0xf4], 0
jmp 0x1800446bc
mov eax, dword [rsp + 0xf4]
inc eax
mov dword [rsp + 0xf4], eax
cmp dword [rsp + 0xf4], 0x1e
jge 0x18004470c
movsxd rax, dword [rsp + 0xf4]
movzx eax, word [rsp + rax*2 + 0xe60]
mov dword [rsp + 0x334], eax
mov eax, dword [rsp + 0xf4]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x334]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0xf4]
mov word [rsp + rcx*2 + 0xe60], ax
jmp 0x1800446ac
lea rax, [rsp + 0xe60]
mov qword [rsp + 0x618], rax
mov rax, qword [rsp + 0x618]
xor r9d, r9d
mov r8, rax
xor edx, edx
xor ecx, ecx
call fcn.18004b480
mov qword [rsp + 0x620], rax
mov rax, qword [rsp + 0x620]
mov qword [0x18008c208], rax
mov eax, 2
imul rax, rax, 0x1e
movzx eax, word [rsp + rax + 0xf90]
test eax, eax
je 0x18004476c
mov dword [rsp + 0x274], 1
jmp 0x180044777
mov dword [rsp + 0x274], 0
movzx eax, byte [rsp + 0x274]
mov byte [rsp + 0x56], al
movzx eax, byte [rsp + 0x56]
movzx eax, al
test eax, eax
je 0x1800447fc
mov dword [rsp + 0xf8], 0
jmp 0x1800447ac
mov eax, dword [rsp + 0xf8]
inc eax
mov dword [rsp + 0xf8], eax
cmp dword [rsp + 0xf8], 0x1f
jge 0x1800447fc
movsxd rax, dword [rsp + 0xf8]
movzx eax, word [rsp + rax*2 + 0xf90]
mov dword [rsp + 0x338], eax
mov eax, dword [rsp + 0xf8]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x338]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0xf8]
mov word [rsp + rcx*2 + 0xf90], ax
jmp 0x18004479c
lea rax, [rsp + 0xf90]
mov qword [rsp + 0x628], rax
mov rax, qword [rsp + 0x628]
xor r9d, r9d
mov r8, rax
xor edx, edx
xor ecx, ecx
call fcn.18004b480
mov qword [rsp + 0x630], rax
mov rax, qword [rsp + 0x630]
mov qword [0x18008c210], rax
mov eax, 2
imul rax, rax, 0x21
movzx eax, word [rsp + rax + 0x1160]
test eax, eax
je 0x18004485c
mov dword [rsp + 0x278], 1
jmp 0x180044867
mov dword [rsp + 0x278], 0
movzx eax, byte [rsp + 0x278]
mov byte [rsp + 0x57], al
movzx eax, byte [rsp + 0x57]
movzx eax, al
test eax, eax
je 0x1800448ec
mov dword [rsp + 0xfc], 0
jmp 0x18004489c
mov eax, dword [rsp + 0xfc]
inc eax
mov dword [rsp + 0xfc], eax
cmp dword [rsp + 0xfc], 0x22
jge 0x1800448ec
movsxd rax, dword [rsp + 0xfc]
movzx eax, word [rsp + rax*2 + 0x1160]
mov dword [rsp + 0x33c], eax
mov eax, dword [rsp + 0xfc]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x33c]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0xfc]
mov word [rsp + rcx*2 + 0x1160], ax
jmp 0x18004488c
lea rax, [rsp + 0x1160]
mov qword [rsp + 0x638], rax
mov rax, qword [rsp + 0x638]
xor r9d, r9d
mov r8, rax
xor edx, edx
xor ecx, ecx
call fcn.18004b480
mov qword [rsp + 0x640], rax
mov rax, qword [rsp + 0x640]
mov qword [0x18008c218], rax
mov eax, 2
imul rax, rax, 0x1d
movzx eax, word [rsp + rax + 0xe20]
test eax, eax
je 0x18004494c
mov dword [rsp + 0x27c], 1
jmp 0x180044957
mov dword [rsp + 0x27c], 0
movzx eax, byte [rsp + 0x27c]
mov byte [rsp + 0x58], al
movzx eax, byte [rsp + 0x58]
movzx eax, al
test eax, eax
je 0x1800449dc
mov dword [rsp + 0x100], 0
jmp 0x18004498c
mov eax, dword [rsp + 0x100]
inc eax
mov dword [rsp + 0x100], eax
cmp dword [rsp + 0x100], 0x1e
jge 0x1800449dc
movsxd rax, dword [rsp + 0x100]
movzx eax, word [rsp + rax*2 + 0xe20]
mov dword [rsp + 0x340], eax
mov eax, dword [rsp + 0x100]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x340]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0x100]
mov word [rsp + rcx*2 + 0xe20], ax
jmp 0x18004497c
lea rax, [rsp + 0xe20]
mov qword [rsp + 0x648], rax
mov rax, qword [rsp + 0x648]
xor r9d, r9d
mov r8, rax
xor edx, edx
xor ecx, ecx
call fcn.18004b480
mov qword [rsp + 0x650], rax
mov rax, qword [rsp + 0x650]
mov qword [0x18008c220], rax
mov eax, 2
imul rax, rax, 0x17
movzx eax, word [rsp + rax + 0xcc0]
test eax, eax
je 0x180044a3c
mov dword [rsp + 0x280], 1
jmp 0x180044a47
mov dword [rsp + 0x280], 0
movzx eax, byte [rsp + 0x280]
mov byte [rsp + 0x59], al
movzx eax, byte [rsp + 0x59]
movzx eax, al
test eax, eax
je 0x180044acc
mov dword [rsp + 0x104], 0
jmp 0x180044a7c
mov eax, dword [rsp + 0x104]
inc eax
mov dword [rsp + 0x104], eax
cmp dword [rsp + 0x104], 0x18
jge 0x180044acc
movsxd rax, dword [rsp + 0x104]
movzx eax, word [rsp + rax*2 + 0xcc0]
mov dword [rsp + 0x344], eax
mov eax, dword [rsp + 0x104]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x344]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0x104]
mov word [rsp + rcx*2 + 0xcc0], ax
jmp 0x180044a6c
lea rax, [rsp + 0xcc0]
mov qword [rsp + 0x658], rax
mov rax, qword [rsp + 0x658]
xor r9d, r9d
mov r8, rax
xor edx, edx
xor ecx, ecx
call fcn.18004b480
mov qword [rsp + 0x660], rax
mov rax, qword [rsp + 0x660]
mov qword [0x18008c228], rax
mov eax, 2
imul rax, rax, 0x24
movzx eax, word [rsp + rax + 0x1340]
test eax, eax
je 0x180044b2c
mov dword [rsp + 0x284], 1
jmp 0x180044b37
mov dword [rsp + 0x284], 0
movzx eax, byte [rsp + 0x284]
mov byte [rsp + 0x5a], al
movzx eax, byte [rsp + 0x5a]
movzx eax, al
test eax, eax
je 0x180044bbc
mov dword [rsp + 0x108], 0
jmp 0x180044b6c
mov eax, dword [rsp + 0x108]
inc eax
mov dword [rsp + 0x108], eax
cmp dword [rsp + 0x108], 0x25
jge 0x180044bbc
movsxd rax, dword [rsp + 0x108]
movzx eax, word [rsp + rax*2 + 0x1340]
mov dword [rsp + 0x348], eax
mov eax, dword [rsp + 0x108]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x348]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0x108]
mov word [rsp + rcx*2 + 0x1340], ax
jmp 0x180044b5c
lea rax, [rsp + 0x1340]
mov qword [rsp + 0x668], rax
mov rax, qword [rsp + 0x668]
xor r9d, r9d
mov r8, rax
xor edx, edx
xor ecx, ecx
call fcn.18004b480
mov qword [rsp + 0x670], rax
mov rax, qword [rsp + 0x670]
mov qword [0x18008c230], rax
mov eax, 2
imul rax, rax, 0x20
movzx eax, word [rsp + rax + 0x10c0]
test eax, eax
je 0x180044c1c
mov dword [rsp + 0x288], 1
jmp 0x180044c27
mov dword [rsp + 0x288], 0
movzx eax, byte [rsp + 0x288]
mov byte [rsp + 0x5b], al
movzx eax, byte [rsp + 0x5b]
movzx eax, al
test eax, eax
je 0x180044cac
mov dword [rsp + 0x10c], 0
jmp 0x180044c5c
cmp dword [rsp + 0x10c], 0x21
jge 0x180044cac
movsxd rax, dword [rsp + 0x10c]
movzx eax, word [rsp + rax*2 + 0x10c0]
mov dword [rsp + 0x34c], eax
mov eax, dword [rsp + 0x10c]
cdq
and eax, 1
xor eax, edx
sub eax, edx
add eax, 0x56
mov ecx, dword [rsp + 0x34c]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0x10c]
mov word [rsp + rcx*2 + 0x10c0], ax
jmp 0x180044c4c
lea rax, [rsp + 0x10c0]
mov qword [rsp + 0x678], rax
mov rax, qword [rsp + 0x678]
xor r9d, r9d
mov r8, rax
xor edx, edx
xor ecx, ecx
call fcn.18004b480
mov qword [rsp + 0x680], rax
mov rax, qword [rsp + 0x680]
mov qword [0x18008c238], rax
mov eax, 2
imul rax, rax, 0x19
movzx eax, word [rsp + rax + 0xee0]
test eax, eax
je 0x180044d0c
mov dword [rsp + 0x28c], 1
jmp 0x180044d17
mov dword [rsp + 0x28c], 0
movzx eax, byte [rsp + 0x28c]
mov byte [rsp + 0x5c], al
movzx eax, byte [rsp + 0x5c]
movzx eax, al
test eax, eax
je 0x180044d9c
mov dword [rsp + 0x110], 0
jmp 0x180044d4c
lea rax, [rsp + 0xee0]
mov qword [rsp + 0x688], rax
mov rax, qword [rsp + 0x688]
xor r9d, r9d
mov r8, rax
xor edx, edx
xor ecx, ecx
call fcn.18004b480
mov qword [rsp + 0x690], rax
mov rax, qword [rsp + 0x690]
mov qword [0x18008c1f0], rax
mov eax, 2
imul rax, rax, 0x1e
movzx eax, word [rsp + rax + 0xf50]
test eax, eax
je 0x180044dfc
add rsp, 0x1558
pop rdi
pop rsi
ret