Function at 0x18003b3e0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rsi
push r15
lea rbp, [rsp - 0xaa0]
sub rsp, 0xba0
xor r15d, r15d
lea rdx, [rbp - 0x18]
mov dword [rbp + 0xac8], r15d
mov rsi, rcx
call fcn.18003f230
mov rax, qword [rbp - 0x18]
cmp eax, 1
jne 0x18003b429
mov edx, dword [rbp - 0x14]
mov rcx, rsi
call fcn.18003ff70
mov rax, qword [rax]
mov qword [rbp - 0x18], rax
cmp eax, 4
jne case.default.0x18003b47e
shr rax, 0x20
lea ecx, [rax - 1]
cmp ecx, 0x29
ja case.default.0x18003b47e
mov qword [rsp + 0xb98], rbx
lea rdx, [0x180000000]
mov qword [rsp + 0xb90], rdi
mov qword [rsp + 0xb88], r12
movsxd rax, ecx
mov qword [rsp + 0xb80], r13
mov qword [rsp + 0xb78], r14
mov ecx, dword [rdx + rax*4 + 0x3f130]
add rcx, rdx
jmp rcx
lea rdx, [rbp + 0x360]
mov rcx, rsi
call fcn.18003ffd0
jmp 0x18003f0fb
lea rdx, [rbp]
mov rcx, rsi
call fcn.18003ffd0
cmp dword [rbp], 3
jne 0x18003f0fb
mov eax, dword [rbp + 4]
dec eax
movsxd rcx, eax
shl rcx, 5
add rcx, qword [rsi + 0x70]
call fcn.180351da0
mov qword [rbp + 0x118], rax
lea rdx, [rbp + 0x118]
lea rax, [0x180366b74]
mov qword [rbp + 0x1c8], 0x6f5c9d6a
add rax, 0x6f5c9d6a
lea rcx, [rbp + 0x370]
mov qword [rbp + 0x1c0], rax
movaps xmm0, xmmword [rbp + 0x1c0]
movdqa xmmword [rbp + 0x370], xmm0
call fcn.180354820
jmp 0x18003f0fb
lea rdx, [rbp + 8]
mov rcx, rsi
call fcn.18003ffd0
cmp dword [rbp + 8], 2
jne 0x18003f0fb
mov ecx, 0x148
call fcn.1803610bc
movzx edx, word [rbp + 0xc]
mov r8, rax
mov rcx, rax
call fcn.1800537f0
jmp 0x18003f0fb
lea rdx, [rbp + 0x10]
mov rcx, rsi
call fcn.18003ffd0
cmp dword [rbp + 0x10], 3
jne 0x18003f0fb
mov eax, dword [rbp + 0x14]
xorps xmm0, xmm0
dec eax
mov qword [rbp + 0x1e8], r15
movsxd rcx, eax
shl rcx, 5
add rcx, qword [rsi + 0x70]
movdqu xmmword [rbp + 0x1d8], xmm0
call fcn.180351da0
mov rdx, rax
lea rcx, [rbp + 0x1d8]
xor r8d, r8d
call fcn.1800367d0
lea rcx, [rbp + 0x1d8]
call fcn.180351b90
jmp 0x18003f0fb
lea rdx, [rbp + 0x18]
mov rcx, rsi
call fcn.18003ffd0
lea rdx, [rbp + 0x20]
mov rcx, rsi
call fcn.18003ffd0
cmp dword [rbp + 0x20], 3
jne 0x18003f0fb
cmp dword [rbp + 0x18], 3
jne 0x18003f0fb
mov eax, dword [rbp + 0x1c]
xorps xmm0, xmm0
dec eax
mov qword [rbp + 0x200], r15
movsxd rcx, eax
shl rcx, 5
add rcx, qword [rsi + 0x70]
movdqu xmmword [rbp + 0x1f0], xmm0
call fcn.180351da0
mov ecx, dword [rbp + 0x24]
mov rbx, rax
dec ecx
movsxd rcx, ecx
shl rcx, 5
add rcx, qword [rsi + 0x70]
call fcn.180351da0
mov rdx, rax
lea rcx, [rbp + 0x1f0]
mov r8, rbx
call fcn.1800367d0
lea rcx, [rbp + 0x1f0]
call fcn.180351b90
jmp 0x18003f0fb
lea rdx, [rbp + 0x28]
mov rcx, rsi
call fcn.18003ffd0
cmp dword [rbp + 0x28], 3
jne 0x18003f0fb
mov ecx, 0x98
call fcn.1803610bc
mov ecx, dword [rbp + 0x2c]
mov rbx, rax
dec ecx
movsxd rcx, ecx
shl rcx, 5
add rcx, qword [rsi + 0x70]
call fcn.180351da0
lea rdx, [0x18038e6da]
mov r9b, 1
mov qword [rsp + 0x20], rdx
mov r8, rdx
mov rdx, rax
mov rcx, rbx
call fcn.180037fc0
jmp 0x18003f0fb
cmp byte [0x18039d41b], r15b
mov dword [rsi + 0x20], 2
jne 0x18003b6a4
call fcn.18000c260
mov byte [0x18039d41b], 1
call fcn.18000c0e0
mov dword [rsi + 0x24], eax
jmp 0x18003f0fb
lea rdx, [rbp + 0x30]
mov rcx, rsi
call fcn.18003ffd0
lea rdx, [rbp + 0x38]
mov rcx, rsi
call fcn.18003ffd0
cmp dword [rbp + 0x38], 2
jne 0x18003f0fb
cmp dword [rbp + 0x30], 2
jne 0x18003f0fb
cmp byte [0x18039d41b], r15b
mov ebx, dword [rbp + 0x34]
mov edi, dword [rbp + 0x3c]
mov dword [rsi + 0x20], 2
jne 0x18003b6ff
call fcn.18000c260
mov byte [0x18039d41b], 1
call fcn.18000c0e0
xor edx, edx
mov ecx, ebx
sub ecx, edi
inc ecx
div ecx
lea ecx, [rbx + 1]
mov eax, edx
xor edx, edx
div ecx
add edx, edi
mov dword [rsi + 0x24], edx
jmp 0x18003f0fb
lea rdx, [rbp + 0x40]
mov rcx, rsi
call fcn.18003ffd0
cmp dword [rbp + 0x40], 2
jne 0x18003f0fb
xor eax, eax
mov dword [rsp + 0x4e], 0xc5f3cd2a
mov byte [rsp + 0x54], al
mov word [rsp + 0x52], 0xd2c4
mov qword [rsp + 0x30], r15
mov rax, qword [rsp + 0x30]
nop word [rax + rax]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
sub cl, 0x62
xor cl, byte [rsp + rax + 0x4f]
mov rax, qword [rsp + 0x30]
mov byte [rsp + rax + 0x4f], cl
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp rax, 5
jb 0x18003b760
mov byte [rsp + 0x54], r15b
call fcn.1800015d0
mov rcx, qword gs:[0x58]
mov rdi, rax
mov r8d, dword [0x18039b468]
mov edx, 4
mov rbx, qword [rcx + r8*8]
add rbx, rdx
mov ecx, dword [rbx]
cmp dword [0x18039d510], ecx
jle 0x18003b7f4
lea rcx, [0x18039d510]
call fcn.180360f8c
cmp dword [0x18039d510], 0xffffffff
jne 0x18003b7f4
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [0x18039d510]
mov qword [0x1803a15b8], rax
call fcn.180360f2c
mov eax, dword [rbx]
cmp dword [0x1803a1558], eax
jle 0x18003b82d
lea rcx, [0x1803a1558]
call fcn.180360f8c
cmp dword [0x1803a1558], 0xffffffff
jne 0x18003b82d
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x1803a1558]
mov qword [0x1803a1560], rax
call fcn.180360f2c
mov rcx, rdi
call qword [0x1803a15b8]
mov rcx, rax
lea rdx, [rsp + 0x4f]
call qword [0x1803a1560]
mov ecx, dword [rbp + 0x44]
call rax
jmp 0x18003f0fb
lea rdx, [rbp + 0x48]
mov rcx, rsi
call fcn.18003ffd0
cmp dword [rbp + 0x48], 3
jne 0x18003f0fb
mov eax, dword [rbp + 0x4c]
dec eax
movsxd rcx, eax
shl rcx, 5
add rcx, qword [rsi + 0x70]
call fcn.180351da0
mov r8d, dword [0x18039b468]
lea rdi, [0x18038ea08]
mov rcx, qword gs:[0x58]
lea r12, [0x18038ea08]
mov edx, 4
mov rbx, rax
mov r14, 0xffffffffffffffff
mov rsi, qword [rcx + r8*8]
add rsi, rdx
mov qword [rbp + 0x120], rsi
mov eax, dword [rsi]
cmp dword [0x1803a1aa4], eax
jle 0x18003b9bb
lea rcx, [0x1803a1aa4]
call fcn.180360f8c
cmp dword [0x1803a1aa4], r14d
jne 0x18003b9bb
xor eax, eax
mov word [rbp + 0xad8], 0xd12b
mov byte [rbp + 0xada], al
mov qword [rsp + 0x30], r15
mov rax, qword [rsp + 0x30]
nop word [rax + rax]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
sub cl, 0x4d
xor cl, byte [rbp + rax + 0xad9]
mov rax, qword [rsp + 0x30]
mov byte [rbp + rax + 0xad9], cl
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp rax, 1
jb 0x18003b900
xor r8d, r8d
mov byte [rbp + 0xada], r15b
xor edx, edx
mov qword [0x1803a1a50], rdi
lea rcx, [0x1803a1a58]
call fcn.180001990
lea rcx, [0x1803a1a60]
call fcn.1803520a0
xorps xmm0, xmm0
mov qword [0x1803a1a90], r15
movdqa xmmword [0x1803a1a80], xmm0
lea rax, [rbp + 0xad9]
mov r8, r14
nop
inc r8
cmp byte [rax + r8], r15b
jne 0x18003b980
lea rdx, [rbp + 0xad9]
lea rcx, [0x1803a1a60]
call fcn.180353890
lea rcx, [0x18037d2e0]
mov qword [0x1803a1a50], r12
call fcn.1803614c4
lea rcx, [0x1803a1aa4]
call fcn.180360f2c
mov rax, qword [0x1803a1a50]
lea rcx, [0x1803a1a50]
mov rdx, rbx
call qword [rax]
test al, al
je 0x18003bcf7
mov eax, dword [rsi]
lea rdi, [0x18039d520]
cmp dword [0x1803a1aa0], eax
jle 0x18003bb09
lea rcx, [0x1803a1aa0]
call fcn.180360f8c
cmp dword [0x1803a1aa0], r14d
jne 0x18003bb09
xorps xmm0, xmm0
mov qword [0x18039d528], r15
xorps xmm1, xmm1
movdqa xmmword [0x18039d530], xmm0
lea rcx, [0x1803a1048]
movdqa xmmword [0x18039d540], xmm1
movdqa xmmword [0x18039d560], xmm0
movdqa xmmword [0x18039d570], xmm1
movdqa xmmword [0x18039d580], xmm0
movdqa xmmword [0x18039d590], xmm1
mov qword [0x18039d550], r15
mov qword [0x18039d520], rdi
mov qword [0x18039d558], rdi
mov qword [0x18039d5a0], r15
mov word [0x18039f2ec], r15w
mov word [0x1803a1034], r15w
call fcn.1803540c0
xor r8d, r8d
mov dword [0x1803a1038], r15d
xor edx, edx
mov qword [0x1803a1040], r15
lea rcx, [0x1803a1068]
call fcn.180001990
lea rcx, [0x1803a1078]
call fcn.180351640
xorps xmm0, xmm0
mov qword [0x1803a10a0], r15
lea rcx, [0x18037d3f0]
movdqa xmmword [0x1803a1090], xmm0
mov qword [0x1803a1058], r15
mov qword [0x1803a1060], r15
mov byte [0x1803a1070], r15b
mov dword [0x1803a1088], 0x10000
mov dword [0x1803a10a8], r15d
mov qword [0x1803a14c0], r15
mov qword [0x1803a14c8], r15
mov byte [0x1803a14d0], r15b
call fcn.1803614c4
lea rcx, [0x1803a1aa0]
call fcn.180360f2c
mov rcx, rdi
call fcn.18004de20
mov rax, qword [0x18039d598]
mov r13d, r15d
mov rcx, qword [0x18039d590]
sub rax, rcx
sar rax, 3
test eax, eax
je 0x18003bce4
mov r12d, 0x57
lea rdi, [0x1803a1568]
mov r14, rbx
mov eax, r13d
lea rdx, [rbp + 0x1d0]
mov rcx, qword [rcx + rax*8]
lea rax, [rax*8]
mov qword [rbp - 0x28], rax
mov rcx, qword [rcx + 0x20]
call fcn.18000b7e0
xor bl, bl
mov rsi, r15
mov ecx, dword [rax]
mov dword [rbp - 0x38], ecx
mov byte [0x1803a1568], bl
nop dword [rax]
nop dword [rax + rax]
movzx ecx, byte [rbp + rsi - 0x38]
lea r9, [rsp + 0x58]
nop word [rax + rax]
mov eax, 0xcccccccd
mul ecx
shr edx, 3
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
mov eax, 0x30
cmp ecx, 0xa
cmovge eax, r12d
add al, cl
mov ecx, edx
mov byte [r9], al
inc r9
test edx, edx
jg 0x18003bb90
lea rax, [rsp + 0x58]
mov byte [r9], r15b
sub r9d, eax
mov r10d, r15d
mov r11d, r9d
shr r11d, 1
je 0x18003bc09
lea r8, [rsp + 0x58]
nop word [rax + rax]
movzx edx, byte [r8]
lea rcx, [rsp + 0x58]
mov eax, r9d
lea r8, [r8 + 1]
sub eax, r10d
inc r10d
dec eax
add rcx, rax
movzx eax, byte [rcx]
mov byte [r8 - 1], al
mov byte [rcx], dl
cmp r10d, r11d
jb 0x18003bbe0
mov ecx, r15d
test bl, bl
je 0x18003bc18
inc ecx
cmp byte [rcx + rdi], r15b
jne 0x18003bc10
lea rdx, [rsp + 0x58]
add rcx, rdi
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
mov byte [rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x18003bc20
cmp rsi, 3
jge 0x18003bc72
cmp byte [0x1803a1568], r15b
mov ecx, r15d
je 0x18003bc4b
inc ecx
cmp byte [rcx + rdi], r15b
jne 0x18003bc43
mov edx, ecx
lea r8, [0x18038e6ac]
add rdx, rdi
nop word [rax + rax]
movzx eax, byte [r8]
lea r8, [r8 + 1]
mov byte [rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x18003bc60
inc rsi
cmp rsi, 4
jge 0x18003bc87
movzx ebx, byte [0x1803a1568]
jmp 0x18003bb80
mov rdx, rdi
mov rcx, r14
call fcn.180005b80
test al, al
je 0x18003bcae
mov rax, qword [0x18039d590]
mov rcx, qword [rbp - 0x28]
mov rcx, qword [rax + rcx]
mov rcx, qword [rcx + 0x20]
call fcn.18000b220
mov rax, qword [0x18039d598]
inc r13d
mov rcx, qword [0x18039d590]
sub rax, rcx
sar rax, 3
cmp r13d, eax
jb 0x18003bb41
mov rsi, qword [rbp + 0x120]
lea r12, [0x18038ea08]
mov r14, 0xffffffffffffffff
lea rcx, [0x1803a1068]
call fcn.180001ae0
lea rdi, [0x18038ea08]
mov eax, dword [rsi]
cmp dword [0x1803a1aa4], eax
jle 0x18003c03e
lea rcx, [0x1803a1aa4]
call fcn.180360f8c
cmp dword [0x1803a1aa4], 0xffffffff
jne 0x18003c03e
xor eax, eax
mov word [rsp + 0x38], 0xd12b
mov byte [rsp + 0x3a], al
mov qword [rsp + 0x30], r15
mov rax, qword [rsp + 0x30]
nop word [rax + rax]
mov rdx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
sub dl, 0x4d
xor dl, byte [rsp + rax + 0x39]
mov rax, qword [rsp + 0x30]
mov byte [rsp + rax + 0x39], dl
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp rax, 1
jb 0x18003bd40
xor r8d, r8d
mov byte [rsp + 0x3a], r15b
xor edx, edx
mov qword [0x1803a1a50], rdi
lea rcx, [0x1803a1a58]
call fcn.180001990
lea rcx, [0x1803a1a60]
call fcn.1803520a0
xorps xmm0, xmm0
mov qword [0x1803a1a90], r15
movdqa xmmword [0x1803a1a80], xmm0
lea rax, [rsp + 0x39]
inc r14
cmp byte [rax + r14], r15b
jne 0x18003bdb2
mov r8, r14
lea rdx, [rsp + 0x39]
lea rcx, [0x1803a1a60]
call fcn.180353890
mov qword [0x1803a1a50], r12
jmp 0x18003c026
lea rdx, [rbp + 0x128]
mov rcx, rsi
call fcn.18003ffd0
cmp dword [rbp + 0x128], 3
jne 0x18003f0fb
mov rax, qword gs:[0x58]
lea rdi, [0x18038ea08]
mov edx, dword [0x18039b468]
lea rsi, [0x18038ea08]
mov ecx, 4
mov r14, 0xffffffffffffffff
mov rbx, qword [rax + rdx*8]
add rbx, rcx
mov eax, dword [rbx]
cmp dword [0x1803a1aa4], eax
jle 0x18003bf1e
lea rcx, [0x1803a1aa4]
call fcn.180360f8c
cmp dword [0x1803a1aa4], r14d
jne 0x18003bf1e
xor eax, eax
mov word [rsp + 0x3b], 0xd12b
mov byte [rsp + 0x3d], al
mov qword [rsp + 0x30], r15
mov rax, qword [rsp + 0x30]
nop word [rax + rax]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
sub cl, 0x4d
xor cl, byte [rsp + rax + 0x3c]
mov rax, qword [rsp + 0x30]
mov byte [rsp + rax + 0x3c], cl
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp rax, 1
jb 0x18003be70
xor r8d, r8d
mov byte [rsp + 0x3d], r15b
xor edx, edx
mov qword [0x1803a1a50], rdi
lea rcx, [0x1803a1a58]
call fcn.180001990
lea rcx, [0x1803a1a60]
call fcn.1803520a0
xorps xmm0, xmm0
mov qword [0x1803a1a90], r15
movdqa xmmword [0x1803a1a80], xmm0
lea rax, [rsp + 0x3c]
mov r8, r14
inc r8
cmp byte [rax + r8], r15b
jne 0x18003bee5
lea rdx, [rsp + 0x3c]
lea rcx, [0x1803a1a60]
call fcn.180353890
lea rcx, [0x18037d2e0]
mov qword [0x1803a1a50], rsi
call fcn.1803614c4
lea rcx, [0x1803a1aa4]
call fcn.180360f2c
lea rdx, [0x1803a1a58]
lea rcx, [rbp + 0x130]
call fcn.180001c30
lea rcx, [0x1803a1a80]
call fcn.180351980
mov rcx, qword [rbp + 0x130]
call fcn.180001ae0
mov eax, dword [rbx]
cmp dword [0x1803a1aa4], eax
jle 0x18003c03e
lea rcx, [0x1803a1aa4]
call fcn.180360f8c
cmp dword [0x1803a1aa4], r14d
jne 0x18003c03e
xor eax, eax
mov word [rsp + 0x3e], 0xd12b
mov byte [rsp + 0x40], al
mov qword [rsp + 0x30], r15
mov rax, qword [rsp + 0x30]
nop word [rax + rax]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
sub cl, 0x4d
xor cl, byte [rsp + rax + 0x3f]
mov rax, qword [rsp + 0x30]
mov byte [rsp + rax + 0x3f], cl
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp rax, 1
jb 0x18003bf90
xor r8d, r8d
mov byte [rsp + 0x40], r15b
xor edx, edx
mov qword [0x1803a1a50], rdi
lea rcx, [0x1803a1a58]
call fcn.180001990
lea rcx, [0x1803a1a60]
call fcn.1803520a0
xorps xmm0, xmm0
mov qword [0x1803a1a90], r15
movdqa xmmword [0x1803a1a80], xmm0
lea rax, [rsp + 0x3f]
inc r14
cmp byte [rax + r14], r15b
jne 0x18003c002
mov r8, r14
lea rdx, [rsp + 0x3f]
lea rcx, [0x1803a1a60]
call fcn.180353890
mov qword [0x1803a1a50], rsi
lea rcx, [0x18037d2e0]
call fcn.1803614c4
lea rcx, [0x1803a1aa4]
call fcn.180360f2c
lea rcx, [0x1803a1a50]
call fcn.180005750
jmp 0x18003f0fb
lea rdx, [rbp + 0x50]
mov rcx, rsi
call fcn.18003ffd0
cmp dword [rbp + 0x50], 3
jne 0x18003f0fb
mov edx, dword [0x18039b468]
mov rax, qword gs:[0x58]
mov r9d, 4
mov rax, qword [rax + rdx*8]
mov eax, dword [r9 + rax]
cmp dword [0x1803a15d0], eax
jle 0x18003c0c3
lea rcx, [0x1803a15d0]
call fcn.180360f8c
cmp dword [0x1803a15d0], 0xffffffff
jne 0x18003c0c3
lea rcx, [0x1803a14e0]
call fcn.1800036c0
lea rcx, [0x18037d290]
call fcn.1803614c4
lea rcx, [0x1803a15d0]
call fcn.180360f2c
mov eax, dword [rbp + 0x54]
dec eax
movsxd rcx, eax
shl rcx, 5
add rcx, qword [rsi + 0x70]
call fcn.180351da0
mov r8, rax
lea rdx, [rbp + 0xe0]
lea rcx, [0x1803a14e0]
call fcn.180004da0
mov rcx, qword [rbp + 0xe8]
mov r15, qword [rbp + 0xe0]
cmp rcx, r15
je 0x18003c107
cmp byte [rcx - 1], 0
je 0x18003c12f
lea rdx, [rbp + 0xac8]
mov byte [rbp + 0xac8], 0
lea rcx, [rbp + 0xe0]
call fcn.180351b60
mov rcx, qword [rbp + 0xe8]
mov r15, qword [rbp + 0xe0]
cmp rcx, r15
je 0x18003c1f3
mov rdx, r15
mov dword [rsi + 0x20], 3
lea rcx, [rbp + 0x680]
call fcn.180352060
lea rdx, [rsp + 0x68]
mov r14, rax
lea rcx, [rsi + 0x70]
mov ebx, 1
call fcn.1803516c0
lea rdx, [rbp + 0x138]
lea rcx, [rsi + 0x70]
call fcn.1803516b0
mov rcx, qword [rsp + 0x68]
cmp rcx, qword [rax]
je 0x18003c1b1
nop
mov rdx, rcx
mov rcx, r14
call fcn.180354960
test al, al
jne 0x18003c204
add qword [rsp + 0x68], 0x20
lea rdx, [rbp + 0x138]
lea rcx, [rsi + 0x70]
inc ebx
call fcn.1803516b0
mov rcx, qword [rsp + 0x68]
cmp rcx, qword [rax]
jne 0x18003c180
mov rcx, r14
call fcn.180353810
mov rdx, r15
lea rcx, [rbp + 0x508]
call fcn.180352060
lea rdx, [rbp + 0x508]
lea rcx, [rsi + 0x70]
call fcn.180351a50
lea rcx, [rbp + 0x508]
call fcn.180353810
mov rbx, qword [rsi + 0x78]
sub rbx, qword [rsi + 0x70]
sar rbx, 5
mov dword [rsi + 0x24], ebx
lea rcx, [rbp + 0xe0]
call fcn.180351b90
jmp 0x18003f0fb
mov rcx, r14
call fcn.180353810
test ebx, ebx
jne 0x18003c1f0
jmp 0x18003c1b9
lea rdx, [rbp + 0x58]
mov rcx, rsi
call fcn.18003ffd0
lea rdx, [rbp + 0x60]
mov rcx, rsi
call fcn.18003ffd0
cmp dword [rbp + 0x60], 3
jne 0x18003f0fb
cmp dword [rbp + 0x58], 3
jne 0x18003f0fb
mov rax, qword gs:[0x58]
mov edx, dword [0x18039b468]
mov ecx, 4
mov rdi, qword [rax + rdx*8]
add rdi, rcx
mov eax, dword [rdi]
cmp dword [0x1803a15d0], eax
jle 0x18003c29c
lea rcx, [0x1803a15d0]
call fcn.180360f8c
cmp dword [0x1803a15d0], 0xffffffff
jne 0x18003c29c
lea rcx, [0x1803a14e0]
call fcn.1800036c0
lea rcx, [0x18037d290]
call fcn.1803614c4
lea rcx, [0x1803a15d0]
call fcn.180360f2c
mov eax, dword [rbp + 0x5c]
dec eax
movsxd rcx, eax
shl rcx, 5
add rcx, qword [rsi + 0x70]
call fcn.180351da0
mov ecx, dword [rbp + 0x64]
mov rbx, rax
dec ecx
movsxd rcx, ecx
shl rcx, 5
add rcx, qword [rsi + 0x70]
call fcn.180351da0
mov rdx, rax
lea rcx, [0x1803a14e0]
mov r8, rbx
call fcn.180004860
mov eax, dword [rdi]
jmp 0x18003c4dd
lea rdx, [rbp + 0x68]
mov rcx, rsi
call fcn.18003ffd0
lea rdx, [rbp - 0x10]
mov rcx, rsi
call fcn.18003ffd0
cmp dword [rbp - 0x10], 3
jne 0x18003f0fb
cmp dword [rbp + 0x68], 3
jne 0x18003f0fb
mov rax, qword gs:[0x58]
mov edx, dword [0x18039b468]
mov ecx, 4
mov r14, qword [rax + rdx*8]
add r14, rcx
mov eax, dword [r14]
cmp dword [0x1803a15d0], eax
jle 0x18003c36d
lea rcx, [0x1803a15d0]
call fcn.180360f8c
cmp dword [0x1803a15d0], 0xffffffff
jne 0x18003c36d
lea rcx, [0x1803a14e0]
call fcn.1800036c0
lea rcx, [0x18037d290]
call fcn.1803614c4
lea rcx, [0x1803a15d0]
call fcn.180360f2c
mov eax, dword [rbp - 0xc]
dec eax
movsxd rcx, eax
shl rcx, 5
add rcx, qword [rsi + 0x70]
call fcn.180351da0
mov r8, rax
lea rdx, [rbp + 0x588]
lea rcx, [0x1803a14e0]
call fcn.180004da0
lea rcx, [rbp + 0x588]
mov rdi, qword [rax + 8]
mov rbx, qword [rax]
call fcn.180351b90
cmp rdi, rbx
jne 0x18003f0fb
mov eax, dword [r14]
cmp dword [0x1803a15d0], eax
jle 0x18003c3f8
lea rcx, [0x1803a15d0]
call fcn.180360f8c
cmp dword [0x1803a15d0], 0xffffffff
jne 0x18003c3f8
lea rcx, [0x1803a14e0]
call fcn.1800036c0
lea rcx, [0x18037d290]
call fcn.1803614c4
lea rcx, [0x1803a15d0]
call fcn.180360f2c
mov eax, dword [rbp + 0x6c]
dec eax
movsxd rcx, eax
shl rcx, 5
add rcx, qword [rsi + 0x70]
call fcn.180351da0
mov ecx, dword [rbp - 0xc]
mov rbx, rax
dec ecx
movsxd rcx, ecx
shl rcx, 5
add rcx, qword [rsi + 0x70]
call fcn.180351da0
mov rdx, rax
lea rcx, [0x1803a14e0]
mov r8, rbx
call fcn.180004860
mov eax, dword [r14]
jmp 0x18003c4dd
lea rdx, [rbp + 0x70]
mov rcx, rsi
call fcn.18003ffd0
cmp dword [rbp + 0x70], 3
jne 0x18003f0fb
mov rax, qword gs:[0x58]
mov edx, dword [0x18039b468]
mov ecx, 4
mov rbx, qword [rax + rdx*8]
add rbx, rcx
mov eax, dword [rbx]
cmp dword [0x1803a15d0], eax
jle 0x18003c4b3
lea rcx, [0x1803a15d0]
call fcn.180360f8c
cmp dword [0x1803a15d0], 0xffffffff
jne 0x18003c4b3
lea rcx, [0x1803a14e0]
call fcn.1800036c0
lea rcx, [0x18037d290]
call fcn.1803614c4
lea rcx, [0x1803a15d0]
call fcn.180360f2c
mov eax, dword [rbp + 0x74]
lea rcx, [rsi + 0x70]
dec eax
movsxd rdx, eax
call fcn.180351960
mov rcx, rax
call fcn.180351da0
mov rdx, rax
lea rcx, [0x1803a14e0]
call fcn.180004f10
mov eax, dword [rbx]
cmp dword [0x1803a15d0], eax
jle 0x18003c51e
lea rcx, [0x1803a15d0]
call fcn.180360f8c
cmp dword [0x1803a15d0], 0xffffffff
jne 0x18003c51e
lea rcx, [0x1803a14e0]
call fcn.1800036c0
lea rcx, [0x18037d290]
call fcn.1803614c4
lea rcx, [0x1803a15d0]
call fcn.180360f2c
lea rcx, [0x1803a14e0]
call fcn.180004280
jmp 0x18003f0fb
xor eax, eax
mov dword [rsi + 0x20], 3
mov byte [rsp + 0x4d], al
mov dword [rsp + 0x47], 0xb5b3ae4a
mov word [rsp + 0x4b], 0xc9ca
mov qword [rsp + 0x30], r15
mov rax, qword [rsp + 0x30]
nop word [rax + rax]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
sub cl, 7
xor cl, byte [rsp + rax + 0x48]
mov rax, qword [rsp + 0x30]
mov byte [rsp + rax + 0x48], cl
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp rax, 5
jb 0x18003c560
lea rdx, [rsp + 0x48]
mov byte [rsp + 0x4d], r15b
lea rcx, [rbp + 0x6a0]
call fcn.180352060
lea rdx, [rsp + 0x60]
mov r14, rax
lea rcx, [rsi + 0x70]
mov ebx, 1
call fcn.1803516c0
lea rdx, [rbp + 0x140]
lea rcx, [rsi + 0x70]
call fcn.1803516b0
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.180351670
test al, al
je 0x18003c630
nop
lea rcx, [rsp + 0x60]
call fcn.1803516a0
mov rdx, rax
mov rcx, r14
call fcn.180354960
test al, al
jne 0x18003c665
xor r8d, r8d
lea rdx, [rbp + 0x380]
lea rcx, [rsp + 0x60]
call fcn.180351940
lea rdx, [rbp + 0x140]
inc ebx
lea rcx, [rsi + 0x70]
call fcn.1803516b0
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.180351670
test al, al
jne 0x18003c5e0
mov rcx, r14
call fcn.18000cb80
lea rdx, [rsp + 0x48]
lea rcx, [rbp + 0x528]
call fcn.180352060
lea rdx, [rbp + 0x528]
lea rcx, [rsi + 0x70]
call fcn.1803519e0
lea rcx, [rbp + 0x528]
jmp 0x18003d7fb
mov rcx, r14
call fcn.18000cb80
test ebx, ebx
jne 0x18003d80b
jmp 0x18003c638
mov dword [rsi + 0x20], 2
call fcn.180030860
mov dword [rsi + 0x24], eax
jmp 0x18003f0fb
mov edx, dword [0x18039b468]
mov rax, qword gs:[0x58]
mov r9d, 4
mov dword [rsi + 0x20], 3
mov rax, qword [rax + rdx*8]
mov eax, dword [r9 + rax]
cmp dword [0x1803a1578], eax
jle 0x18003c6f0
lea rcx, [0x1803a1578]
call fcn.180360f8c
cmp dword [0x1803a1578], 0xffffffff
jne 0x18003c6f0
lea rcx, [0x1803a1580]
call fcn.180030380
lea rcx, [0x18037d3e0]
call fcn.1803614c4
lea rcx, [0x1803a1578]
call fcn.180360f2c
lea rcx, [0x1803a1580]
call fcn.180030390
mov rdx, rax
lea rcx, [rbp + 0x6c0]
mov r15, rax
call fcn.180352060
lea rdx, [rsp + 0x70]
mov r14, rax
lea rcx, [rsi + 0x70]
mov ebx, 1
call fcn.1803516c0
lea rdx, [rbp + 0x148]
lea rcx, [rsi + 0x70]
call fcn.1803516b0
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.180351670
test al, al
je 0x18003c795
lea rcx, [rsp + 0x70]
call fcn.1803516a0
mov rdx, rax
mov rcx, r14
call fcn.180354960
test al, al
jne 0x18003c7c8
xor r8d, r8d
lea rdx, [rbp + 0x3c0]
lea rcx, [rsp + 0x70]
call fcn.180351940
lea rdx, [rbp + 0x148]
inc ebx
lea rcx, [rsi + 0x70]
call fcn.1803516b0
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.180351670
test al, al
jne 0x18003c745
mov rcx, r14
call fcn.18000cb80
mov rdx, r15
lea rcx, [rbp + 0x548]
call fcn.180352060
lea rdx, [rbp + 0x548]
lea rcx, [rsi + 0x70]
call fcn.1803519e0
lea rcx, [rbp + 0x548]
jmp 0x18003d7fb
mov rcx, r14
call fcn.18000cb80
test ebx, ebx
jne 0x18003d80b
jmp 0x18003c79d
mov dword [rsi + 0x20], 3
mov dword [rsp + 0x41], 0x25382597
mov word [rsp + 0x45], 0x2b
mov qword [rsp + 0x30], r15
mov rax, qword [rsp + 0x30]
nop word [rax + rax]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
add cl, 0x15
xor cl, byte [rsp + rax + 0x42]
mov rax, qword [rsp + 0x30]
mov byte [rsp + rax + 0x42], cl
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp rax, 4
jb 0x18003c800
lea rdx, [rsp + 0x42]
mov byte [rsp + 0x46], r15b
lea rcx, [rbp + 0x6e0]
call fcn.180352060
lea rdx, [rsp + 0x78]
mov r14, rax
lea rcx, [rsi + 0x70]
mov ebx, 1
call fcn.1803516c0
lea rdx, [rbp + 0x150]
lea rcx, [rsi + 0x70]
call fcn.1803516b0
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.180351670
test al, al
je 0x18003c8d0
nop
lea rcx, [rsp + 0x78]
call fcn.1803516a0
mov rdx, rax
mov rcx, r14
call fcn.180354960
test al, al
jne 0x18003c905
xor r8d, r8d
lea rdx, [rbp + 0x340]
lea rcx, [rsp + 0x78]
call fcn.180351940
lea rdx, [rbp + 0x150]
inc ebx
lea rcx, [rsi + 0x70]
call fcn.1803516b0
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.180351670
test al, al
jne 0x18003c880
mov rcx, r14
call fcn.18000cb80
lea rdx, [rsp + 0x42]
lea rcx, [rbp + 0x568]
call fcn.180352060
lea rdx, [rbp + 0x568]
lea rcx, [rsi + 0x70]
call fcn.1803519e0
lea rcx, [rbp + 0x568]
jmp 0x18003d7fb
mov rcx, r14
call fcn.18000cb80
test ebx, ebx
jne 0x18003d80b
jmp 0x18003c8d8
mov edx, dword [0x18039b468]
lea rdi, [0x18039d520]
mov rax, qword gs:[0x58]
mov r9d, 4
mov rax, qword [rax + rdx*8]
mov eax, dword [r9 + rax]
cmp dword [0x1803a1aa0], eax
jle 0x18003ca4a
lea rcx, [0x1803a1aa0]
call fcn.180360f8c
cmp dword [0x1803a1aa0], 0xffffffff
jne 0x18003ca4a
lea rcx, [0x18039d528]
call fcn.1803516d0
lea rcx, [0x18039d540]
call fcn.1803516d0
lea rcx, [0x18039d560]
mov qword [0x18039d520], rdi
call fcn.1803516d0
lea rcx, [0x18039d578]
call fcn.1803516d0
lea rcx, [0x18039d590]
mov qword [0x18039d558], rdi
call fcn.1803516d0
lea rcx, [0x18039d5a8]
call fcn.18000ed50
lea rcx, [0x18039f2f0]
call fcn.18000ed50
lea rcx, [0x1803a1038]
call fcn.180032250
xor r8d, r8d
lea rcx, [0x1803a1068]
xor edx, edx
call fcn.180001990
lea rcx, [0x1803a1078]
call fcn.180351640
lea rcx, [0x1803a1090]
call fcn.1803516d0
lea rcx, [0x18037d3f0]
mov qword [0x1803a1058], r15
mov qword [0x1803a1060], r15
mov byte [0x1803a1070], r15b
mov dword [0x1803a1088], 0x10000
mov dword [0x1803a10a8], r15d
mov qword [0x1803a14c0], r15
mov qword [0x1803a14c8], r15
mov byte [0x1803a14d0], r15b
call fcn.1803614c4
lea rcx, [0x1803a1aa0]
call fcn.180360f2c
mov rcx, rdi
call fcn.18004de20
mov ebx, 1
mov dword [rsi + 0x18c], ebx
jmp 0x18003f0fb
mov edx, dword [0x18039b468]
mov rax, qword gs:[0x58]
mov r9d, 4
mov rax, qword [rax + rdx*8]
mov eax, dword [r9 + rax]
cmp dword [0x1803a1aa0], eax
jle 0x18003cb95
lea rcx, [0x1803a1aa0]
call fcn.180360f8c
cmp dword [0x1803a1aa0], 0xffffffff
jne 0x18003cb95
lea rcx, [0x18039d528]
call fcn.1803516d0
lea rcx, [0x18039d540]
call fcn.1803516d0
lea rdi, [0x18039d520]
lea rcx, [0x18039d560]
mov qword [0x18039d520], rdi
call fcn.1803516d0
lea rcx, [0x18039d578]
call fcn.1803516d0
lea rcx, [0x18039d590]
mov qword [0x18039d558], rdi
call fcn.1803516d0
lea rcx, [0x18039d5a8]
call fcn.18000ed50
lea rcx, [0x18039f2f0]
call fcn.18000ed50
lea rcx, [0x1803a1038]
call fcn.180032250
xor r8d, r8d
lea rcx, [0x1803a1068]
xor edx, edx
call fcn.180001990
lea rcx, [0x1803a1078]
call fcn.180351640
lea rcx, [0x1803a1090]
call fcn.1803516d0
lea rcx, [0x18037d3f0]
mov qword [0x1803a1058], r15
mov qword [0x1803a1060], r15
mov byte [0x1803a1070], r15b
mov dword [0x1803a1088], 0x10000
mov dword [0x1803a10a8], r15d
mov qword [0x1803a14c0], r15
mov qword [0x1803a14c8], r15
mov byte [0x1803a14d0], r15b
call fcn.1803614c4
lea rcx, [0x1803a1aa0]
call fcn.180360f2c
lea rcx, [0x1803a1068]
call fcn.180001ae0
mov dword [rsi + 0x18c], r15d
jmp 0x18003f0fb
mov edx, dword [0x18039b468]
lea rdi, [0x18039d520]
mov rax, qword gs:[0x58]
mov r9d, 4
mov dword [rsi + 0x20], 2
mov rax, qword [rax + rdx*8]
mov eax, dword [r9 + rax]
cmp dword [0x1803a1aa0], eax
jle 0x18003cce7
lea rcx, [0x1803a1aa0]
call fcn.180360f8c
cmp dword [0x1803a1aa0], 0xffffffff
jne 0x18003cce7
lea rcx, [0x18039d528]
call fcn.1803516d0
lea rcx, [0x18039d540]
call fcn.1803516d0
lea rcx, [0x18039d560]
mov qword [0x18039d520], rdi
call fcn.1803516d0
lea rcx, [0x18039d578]
call fcn.1803516d0
lea rcx, [0x18039d590]
mov qword [0x18039d558], rdi
call fcn.1803516d0
lea rcx, [0x18039d5a8]
call fcn.18000ed50
lea rcx, [0x18039f2f0]
call fcn.18000ed50
lea rcx, [0x1803a1038]
call fcn.180032250
xor r8d, r8d
lea rcx, [0x1803a1068]
xor edx, edx
call fcn.180001990
lea rcx, [0x1803a1078]
call fcn.180351640
lea rcx, [0x1803a1090]
call fcn.1803516d0
lea rcx, [0x18037d3f0]
mov qword [0x1803a1058], r15
mov qword [0x1803a1060], r15
mov byte [0x1803a1070], r15b
mov dword [0x1803a1088], 0x10000
mov dword [0x1803a10a8], r15d
mov qword [0x1803a14c0], r15
mov qword [0x1803a14c8], r15
mov byte [0x1803a14d0], r15b
call fcn.1803614c4
lea rcx, [0x1803a1aa0]
call fcn.180360f2c
mov rcx, rdi
call fcn.18004e010
mov dword [rsi + 0x24], eax
jmp 0x18003f0fb
mov edx, dword [0x18039b468]
lea rdi, [0x18039d520]
mov rax, qword gs:[0x58]
mov r9d, 4
mov dword [rsi + 0x20], 2
mov rax, qword [rax + rdx*8]
mov eax, dword [r9 + rax]
cmp dword [0x1803a1aa0], eax
jle 0x18003ce31
lea rcx, [0x1803a1aa0]
call fcn.180360f8c
cmp dword [0x1803a1aa0], 0xffffffff
jne 0x18003ce31
lea rcx, [0x18039d528]
call fcn.1803516d0
lea rcx, [0x18039d540]
call fcn.1803516d0
lea rcx, [0x18039d560]
mov qword [0x18039d520], rdi
call fcn.1803516d0
lea rcx, [0x18039d578]
call fcn.1803516d0
lea rcx, [0x18039d590]
mov qword [0x18039d558], rdi
call fcn.1803516d0
lea rcx, [0x18039d5a8]
call fcn.18000ed50
lea rcx, [0x18039f2f0]
call fcn.18000ed50
lea rcx, [0x1803a1038]
call fcn.180032250
xor r8d, r8d
lea rcx, [0x1803a1068]
xor edx, edx
call fcn.180001990
lea rcx, [0x1803a1078]
call fcn.180351640
lea rcx, [0x1803a1090]
call fcn.1803516d0
lea rcx, [0x18037d3f0]
mov qword [0x1803a1058], r15
mov qword [0x1803a1060], r15
mov byte [0x1803a1070], r15b
mov dword [0x1803a1088], 0x10000
mov dword [0x1803a10a8], r15d
mov qword [0x1803a14c0], r15
mov qword [0x1803a14c8], r15
mov byte [0x1803a14d0], r15b
call fcn.1803614c4
lea rcx, [0x1803a1aa0]
call fcn.180360f2c
mov edx, 1
mov rcx, rdi
call fcn.18004dfd0
mov dword [rsi + 0x24], eax
jmp 0x18003f0fb
mov edx, dword [0x18039b468]
lea rdi, [0x18039d520]
mov rax, qword gs:[0x58]
mov r9d, 4
mov dword [rsi + 0x20], 2
mov rax, qword [rax + rdx*8]
mov eax, dword [r9 + rax]
cmp dword [0x1803a1aa0], eax
jle 0x18003cf80
lea rcx, [0x1803a1aa0]
call fcn.180360f8c
cmp dword [0x1803a1aa0], 0xffffffff
jne 0x18003cf80
lea rcx, [0x18039d528]
call fcn.1803516d0
lea rcx, [0x18039d540]
call fcn.1803516d0
lea rcx, [0x18039d560]
mov qword [0x18039d520], rdi
call fcn.1803516d0
lea rcx, [0x18039d578]
call fcn.1803516d0
lea rcx, [0x18039d590]
mov qword [0x18039d558], rdi
call fcn.1803516d0
lea rcx, [0x18039d5a8]
call fcn.18000ed50
lea rcx, [0x18039f2f0]
call fcn.18000ed50
lea rcx, [0x1803a1038]
call fcn.180032250
xor r8d, r8d
lea rcx, [0x1803a1068]
xor edx, edx
call fcn.180001990
lea rcx, [0x1803a1078]
call fcn.180351640
lea rcx, [0x1803a1090]
call fcn.1803516d0
lea rcx, [0x18037d3f0]
mov qword [0x1803a1058], r15
mov qword [0x1803a1060], r15
mov byte [0x1803a1070], r15b
mov dword [0x1803a1088], 0x10000
mov dword [0x1803a10a8], r15d
mov qword [0x1803a14c0], r15
mov qword [0x1803a14c8], r15
mov byte [0x1803a14d0], r15b
call fcn.1803614c4
lea rcx, [0x1803a1aa0]
call fcn.180360f2c
mov edx, 2
mov rcx, rdi
call fcn.18004dfd0
mov dword [rsi + 0x24], eax
jmp 0x18003f0fb
mov edx, dword [0x18039b468]
lea rdi, [0x18039d520]
mov rax, qword gs:[0x58]
mov r9d, 4
mov dword [rsi + 0x20], 2
mov rax, qword [rax + rdx*8]
mov eax, dword [r9 + rax]
cmp dword [0x1803a1aa0], eax
jle 0x18003d0cf
lea rcx, [0x1803a1aa0]
call fcn.180360f8c
cmp dword [0x1803a1aa0], 0xffffffff
jne 0x18003d0cf
lea rcx, [0x18039d528]
call fcn.1803516d0
lea rcx, [0x18039d540]
call fcn.1803516d0
lea rcx, [0x18039d560]
mov qword [0x18039d520], rdi
call fcn.1803516d0
lea rcx, [0x18039d578]
call fcn.1803516d0
lea rcx, [0x18039d590]
mov qword [0x18039d558], rdi
call fcn.1803516d0
lea rcx, [0x18039d5a8]
call fcn.18000ed50
lea rcx, [0x18039f2f0]
call fcn.18000ed50
lea rcx, [0x1803a1038]
call fcn.180032250
xor r8d, r8d
lea rcx, [0x1803a1068]
xor edx, edx
call fcn.180001990
lea rcx, [0x1803a1078]
call fcn.180351640
lea rcx, [0x1803a1090]
call fcn.1803516d0
lea rcx, [0x18037d3f0]
mov qword [0x1803a1058], r15
mov qword [0x1803a1060], r15
mov byte [0x1803a1070], r15b
mov dword [0x1803a1088], 0x10000
mov dword [0x1803a10a8], r15d
mov qword [0x1803a14c0], r15
mov qword [0x1803a14c8], r15
mov byte [0x1803a14d0], r15b
call fcn.1803614c4
lea rcx, [0x1803a1aa0]
call fcn.180360f2c
xor edx, edx
mov rcx, rdi
call fcn.18004dfd0
mov dword [rsi + 0x24], eax
jmp 0x18003f0fb
mov edx, dword [0x18039b468]
lea rdi, [0x18039d520]
mov rax, qword gs:[0x58]
mov r9d, 4
mov dword [rsi + 0x20], 2
mov rax, qword [rax + rdx*8]
mov eax, dword [r9 + rax]
cmp dword [0x1803a1aa0], eax
jle 0x18003d21b
lea rcx, [0x1803a1aa0]
call fcn.180360f8c
cmp dword [0x1803a1aa0], 0xffffffff
jne 0x18003d21b
lea rcx, [0x18039d528]
call fcn.1803516d0
lea rcx, [0x18039d540]
call fcn.1803516d0
lea rcx, [0x18039d560]
mov qword [0x18039d520], rdi
call fcn.1803516d0
lea rcx, [0x18039d578]
call fcn.1803516d0
lea rcx, [0x18039d590]
mov qword [0x18039d558], rdi
call fcn.1803516d0
lea rcx, [0x18039d5a8]
call fcn.18000ed50
lea rcx, [0x18039f2f0]
call fcn.18000ed50
lea rcx, [0x1803a1038]
call fcn.180032250
xor r8d, r8d
lea rcx, [0x1803a1068]
xor edx, edx
call fcn.180001990
lea rcx, [0x1803a1078]
call fcn.180351640
lea rcx, [0x1803a1090]
call fcn.1803516d0
lea rcx, [0x18037d3f0]
mov qword [0x1803a1058], r15
mov qword [0x1803a1060], r15
mov byte [0x1803a1070], r15b
mov dword [0x1803a1088], 0x10000
mov dword [0x1803a10a8], r15d
mov qword [0x1803a14c0], r15
mov qword [0x1803a14c8], r15
mov byte [0x1803a14d0], r15b
call fcn.1803614c4
lea rcx, [0x1803a1aa0]
call fcn.180360f2c
mov rcx, rdi
call fcn.18004b220
movzx eax, ax
mov dword [rsi + 0x24], eax
jmp 0x18003f0fb
mov edx, dword [0x18039b468]
mov rax, qword gs:[0x58]
mov r9d, 4
mov dword [rsi + 0x20], 2
mov rax, qword [rax + rdx*8]
mov ecx, dword [r9 + rax]
cmp dword [0x1803a1aa0], ecx
jle 0x18003d368
lea rcx, [0x1803a1aa0]
call fcn.180360f8c
cmp dword [0x1803a1aa0], 0xffffffff
jne 0x18003d368
lea rcx, [0x18039d528]
call fcn.1803516d0
lea rcx, [0x18039d540]
call fcn.1803516d0
lea rdi, [0x18039d520]
lea rcx, [0x18039d560]
mov qword [0x18039d520], rdi
call fcn.1803516d0
lea rcx, [0x18039d578]
call fcn.1803516d0
lea rcx, [0x18039d590]
mov qword [0x18039d558], rdi
call fcn.1803516d0
lea rcx, [0x18039d5a8]
call fcn.18000ed50
lea rcx, [0x18039f2f0]
call fcn.18000ed50
lea rcx, [0x1803a1038]
call fcn.180032250
xor r8d, r8d
lea rcx, [0x1803a1068]
xor edx, edx
call fcn.180001990
lea rcx, [0x1803a1078]
call fcn.180351640
lea rcx, [0x1803a1090]
call fcn.1803516d0
lea rcx, [0x18037d3f0]
mov qword [0x1803a1058], r15
mov qword [0x1803a1060], r15
mov byte [0x1803a1070], r15b
mov dword [0x1803a1088], 0x10000
mov dword [0x1803a10a8], r15d
mov qword [0x1803a14c0], r15
mov qword [0x1803a14c8], r15
mov byte [0x1803a14d0], r15b
call fcn.1803614c4
lea rcx, [0x1803a1aa0]
call fcn.180360f2c
movzx eax, byte [0x1803a1070]
mov dword [rsi + 0x24], eax
jmp 0x18003f0fb
lea rdx, [rbp + 0x78]
mov rcx, rsi
call fcn.18003ffd0
cmp dword [rbp + 0x78], 2
jne 0x18003f0fb
mov rax, qword gs:[0x58]
lea rdi, [0x18039d520]
mov edx, dword [0x18039b468]
mov r14d, dword [rbp + 0x7c]
mov ecx, 4
mov rbx, qword [rax + rdx*8]
add rbx, rcx
mov eax, dword [rbx]
cmp dword [0x1803a1aa0], eax
jle 0x18003d4c4
lea rcx, [0x1803a1aa0]
call fcn.180360f8c
cmp dword [0x1803a1aa0], 0xffffffff
jne 0x18003d4c4
lea rcx, [0x18039d528]
call fcn.1803516d0
lea rcx, [0x18039d540]
call fcn.1803516d0
lea rcx, [0x18039d560]
mov qword [0x18039d520], rdi
call fcn.1803516d0
lea rcx, [0x18039d578]
call fcn.1803516d0
lea rcx, [0x18039d590]
mov qword [0x18039d558], rdi
call fcn.1803516d0
lea rcx, [0x18039d5a8]
call fcn.18000ed50
lea rcx, [0x18039f2f0]
call fcn.18000ed50
lea rcx, [0x1803a1038]
call fcn.180032250
xor r8d, r8d
lea rcx, [0x1803a1068]
xor edx, edx
call fcn.180001990
lea rcx, [0x1803a1078]
call fcn.180351640
lea rcx, [0x1803a1090]
call fcn.1803516d0
lea rcx, [0x18037d3f0]
mov qword [0x1803a1058], r15
mov qword [0x1803a1060], r15
mov byte [0x1803a1070], r15b
mov dword [0x1803a1088], 0x10000
mov dword [0x1803a10a8], r15d
mov qword [0x1803a14c0], r15
mov qword [0x1803a14c8], r15
mov byte [0x1803a14d0], r15b
call fcn.1803614c4
lea rcx, [0x1803a1aa0]
call fcn.180360f2c
mov rcx, rdi
call fcn.18004e010
cmp r14d, eax
jae 0x18003f0fb
mov eax, dword [rbx]
mov dword [rsi + 0x20], 3
cmp dword [0x1803a1aa0], eax
jle 0x18003d5ed
lea rcx, [0x1803a1aa0]
call fcn.180360f8c
cmp dword [0x1803a1aa0], 0xffffffff
jne 0x18003d5ed
lea rcx, [0x18039d528]
call fcn.1803516d0
lea rcx, [0x18039d540]
call fcn.1803516d0
lea rcx, [0x18039d560]
mov qword [0x18039d520], rdi
call fcn.1803516d0
lea rcx, [0x18039d578]
call fcn.1803516d0
lea rcx, [0x18039d590]
mov qword [0x18039d558], rdi
call fcn.1803516d0
lea rcx, [0x18039d5a8]
call fcn.18000ed50
lea rcx, [0x18039f2f0]
call fcn.18000ed50
lea rcx, [0x1803a1038]
call fcn.180032250
xor r8d, r8d
lea rcx, [0x1803a1068]
xor edx, edx
call fcn.180001990
lea rcx, [0x1803a1078]
call fcn.180351640
lea rcx, [0x1803a1090]
call fcn.1803516d0
lea rcx, [0x18037d3f0]
mov qword [0x1803a1058], r15
mov qword [0x1803a1060], r15
mov byte [0x1803a1070], r15b
mov dword [0x1803a1088], 0x10000
mov dword [0x1803a10a8], r15d
mov qword [0x1803a14c0], r15
mov qword [0x1803a14c8], r15
mov byte [0x1803a14d0], r15b
call fcn.1803614c4
lea rcx, [0x1803a1aa0]
call fcn.180360f2c
mov edx, r14d
mov rcx, rdi
call fcn.18004e510
mov rcx, rax
call fcn.18000bb60
lea rdx, [rbp + 0x1d4]
mov rcx, rax
call fcn.18000b7e0
xor r14b, r14b
lea rdi, [0x1803a1568]
mov rbx, r15
mov r12d, 0x57
mov ecx, dword [rax]
mov dword [rbp - 0x30], ecx
mov byte [0x1803a1568], r14b
nop
movzx ecx, byte [rbp + rbx - 0x30]
lea r8, [rsp + 0x5c]
nop word [rax + rax]
mov eax, 0xcccccccd
mul ecx
shr edx, 3
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
mov eax, 0x30
cmp ecx, 0xa
cmovge eax, r12d
add al, cl
mov ecx, edx
mov byte [r8], al
inc r8
test edx, edx
jg 0x18003d640
lea rax, [rsp + 0x5c]
mov byte [r8], r15b
sub r8d, eax
mov r10d, r15d
mov r11d, r8d
shr r11d, 1
je 0x18003d6b9
lea r9, [rsp + 0x5c]
nop word [rax + rax]
movzx edx, byte [r9]
lea rcx, [rsp + 0x5c]
mov eax, r8d
lea r9, [r9 + 1]
sub eax, r10d
inc r10d
dec eax
add rcx, rax
movzx eax, byte [rcx]
mov byte [r9 - 1], al
mov byte [rcx], dl
cmp r10d, r11d
jb 0x18003d690
mov ecx, r15d
test r14b, r14b
je 0x18003d6c9
inc ecx
cmp byte [rcx + rdi], r15b
jne 0x18003d6c1
lea rdx, [rsp + 0x5c]
add rcx, rdi
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
mov byte [rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x18003d6d1
cmp rbx, 3
jge 0x18003d71e
cmp byte [0x1803a1568], r15b
mov ecx, r15d
je 0x18003d6fc
inc ecx
cmp byte [rcx + rdi], r15b
jne 0x18003d6f4
add rcx, rdi
lea rdx, [0x18038e6ac]
sub rdx, rcx
nop dword [rax]
movzx eax, byte [rcx + rdx]
mov byte [rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x18003d710
inc rbx
cmp rbx, 4
jge 0x18003d734
movzx r14d, byte [0x1803a1568]
jmp 0x18003d630
mov rdx, rdi
lea rcx, [rbp + 0x700]
call fcn.180352060
lea rdx, [rbp - 0x80]
mov r15, rax
lea rcx, [rsi + 0x70]
mov ebx, 1
call fcn.1803516c0
lea rdx, [rbp + 0x158]
lea rcx, [rsi + 0x70]
call fcn.1803516b0
mov rdx, rax
lea rcx, [rbp - 0x80]
call fcn.180351670
test al, al
je 0x18003d7cd
nop dword [rax + rax]
lea rcx, [rbp - 0x80]
call fcn.1803516a0
mov rdx, rax
mov rcx, r15
call fcn.180354960
test al, al
jne 0x18003d813
xor r8d, r8d
lea rdx, [rbp + 0x310]
lea rcx, [rbp - 0x80]
call fcn.180351940
lea rdx, [rbp + 0x158]
inc ebx
lea rcx, [rsi + 0x70]
call fcn.1803516b0
mov rdx, rax
lea rcx, [rbp - 0x80]
call fcn.180351670
test al, al
jne 0x18003d780
mov rcx, r15
call fcn.18000cb80
mov rdx, rdi
lea rcx, [rbp + 0x3e8]
call fcn.180352060
lea rdx, [rbp + 0x3e8]
lea rcx, [rsi + 0x70]
call fcn.1803519e0
lea rcx, [rbp + 0x3e8]
call fcn.18000cb80
lea rcx, [rsi + 0x70]
call fcn.180351970
mov ebx, eax
mov dword [rsi + 0x24], ebx
jmp 0x18003f0fb
mov rcx, r15
call fcn.18000cb80
test ebx, ebx
jne 0x18003d80b
jmp 0x18003d7d5
lea rdx, [rbp + 0x80]
mov rcx, rsi
call fcn.18003ffd0
cmp dword [rbp + 0x80], 2
jne 0x18003f0fb
mov rax, qword gs:[0x58]
lea rdi, [0x18039d520]
mov edx, dword [0x18039b468]
mov ebx, dword [rbp + 0x84]
mov ecx, 4
mov r14, qword [rax + rdx*8]
add r14, rcx
mov eax, dword [r14]
cmp dword [0x1803a1aa0], eax
jle 0x18003d977
lea rcx, [0x1803a1aa0]
call fcn.180360f8c
cmp dword [0x1803a1aa0], 0xffffffff
jne 0x18003d977
lea rcx, [0x18039d528]
call fcn.1803516d0
lea rcx, [0x18039d540]
call fcn.1803516d0
lea rcx, [0x18039d560]
mov qword [0x18039d520], rdi
call fcn.1803516d0
lea rcx, [0x18039d578]
call fcn.1803516d0
lea rcx, [0x18039d590]
mov qword [0x18039d558], rdi
call fcn.1803516d0
lea rcx, [0x18039d5a8]
call fcn.18000ed50
lea rcx, [0x18039f2f0]
call fcn.18000ed50
lea rcx, [0x1803a1038]
call fcn.180032250
xor r8d, r8d
lea rcx, [0x1803a1068]
xor edx, edx
call fcn.180001990
lea rcx, [0x1803a1078]
call fcn.180351640
lea rcx, [0x1803a1090]
call fcn.1803516d0
lea rcx, [0x18037d3f0]
mov qword [0x1803a1058], r15
mov qword [0x1803a1060], r15
mov byte [0x1803a1070], r15b
mov dword [0x1803a1088], 0x10000
mov dword [0x1803a10a8], r15d
mov qword [0x1803a14c0], r15
mov qword [0x1803a14c8], r15
mov byte [0x1803a14d0], r15b
call fcn.1803614c4
lea rcx, [0x1803a1aa0]
call fcn.180360f2c
mov rcx, rdi
call fcn.18004e010
cmp ebx, eax
jae 0x18003f0fb
mov eax, dword [r14]
mov dword [rsi + 0x20], 2
cmp dword [0x1803a1aa0], eax
jle 0x18003daa0
lea rcx, [0x1803a1aa0]
call fcn.180360f8c
cmp dword [0x1803a1aa0], 0xffffffff
jne 0x18003daa0
lea rcx, [0x18039d528]
call fcn.1803516d0
lea rcx, [0x18039d540]
call fcn.1803516d0
lea rcx, [0x18039d560]
mov qword [0x18039d520], rdi
call fcn.1803516d0
lea rcx, [0x18039d578]
call fcn.1803516d0
lea rcx, [0x18039d590]
mov qword [0x18039d558], rdi
call fcn.1803516d0
lea rcx, [0x18039d5a8]
call fcn.18000ed50
lea rcx, [0x18039f2f0]
call fcn.18000ed50
lea rcx, [0x1803a1038]
call fcn.180032250
xor r8d, r8d
lea rcx, [0x1803a1068]
xor edx, edx
call fcn.180001990
lea rcx, [0x1803a1078]
call fcn.180351640
lea rcx, [0x1803a1090]
call fcn.1803516d0
lea rcx, [0x18037d3f0]
mov qword [0x1803a1058], r15
mov qword [0x1803a1060], r15
mov byte [0x1803a1070], r15b
mov dword [0x1803a1088], 0x10000
mov dword [0x1803a10a8], r15d
mov qword [0x1803a14c0], r15
mov qword [0x1803a14c8], r15
mov byte [0x1803a14d0], r15b
call fcn.1803614c4
lea rcx, [0x1803a1aa0]
call fcn.180360f2c
mov edx, ebx
mov rcx, rdi
call fcn.18004e510
mov rcx, rax
call fcn.180046dc0
movzx eax, ax
mov dword [rsi + 0x24], eax
jmp 0x18003f0fb
lea rdx, [rbp + 0x88]
mov rcx, rsi
call fcn.18003ffd0
cmp dword [rbp + 0x88], 2
jne 0x18003f0fb
mov rax, qword gs:[0x58]
lea rdi, [0x18039d520]
mov edx, dword [0x18039b468]
mov ebx, dword [rbp + 0x8c]
mov ecx, 4
mov r14, qword [rax + rdx*8]
add r14, rcx
mov eax, dword [r14]
cmp dword [0x1803a1aa0], eax
jle 0x18003dc13
lea rcx, [0x1803a1aa0]
call fcn.180360f8c
cmp dword [0x1803a1aa0], 0xffffffff
jne 0x18003dc13
lea rcx, [0x18039d528]
call fcn.1803516d0
lea rcx, [0x18039d540]
call fcn.1803516d0
lea rcx, [0x18039d560]
mov qword [0x18039d520], rdi
call fcn.1803516d0
lea rcx, [0x18039d578]
call fcn.1803516d0
lea rcx, [0x18039d590]
mov qword [0x18039d558], rdi
call fcn.1803516d0
lea rcx, [0x18039d5a8]
call fcn.18000ed50
lea rcx, [0x18039f2f0]
call fcn.18000ed50
lea rcx, [0x1803a1038]
call fcn.180032250
xor r8d, r8d
lea rcx, [0x1803a1068]
xor edx, edx
call fcn.180001990
lea rcx, [0x1803a1078]
call fcn.180351640
lea rcx, [0x1803a1090]
call fcn.1803516d0
lea rcx, [0x18037d3f0]
mov qword [0x1803a1058], r15
mov qword [0x1803a1060], r15
mov byte [0x1803a1070], r15b
mov dword [0x1803a1088], 0x10000
mov dword [0x1803a10a8], r15d
mov qword [0x1803a14c0], r15
mov qword [0x1803a14c8], r15
mov byte [0x1803a14d0], r15b
call fcn.1803614c4
lea rcx, [0x1803a1aa0]
call fcn.180360f2c
mov rcx, rdi
call fcn.18004e010
cmp ebx, eax
jae 0x18003f0fb
mov eax, dword [r14]
mov dword [rsi + 0x20], 2
cmp dword [0x1803a1aa0], eax
jle 0x18003dd3c
lea rcx, [0x1803a1aa0]
call fcn.180360f8c
cmp dword [0x1803a1aa0], 0xffffffff
jne 0x18003dd3c
lea rcx, [0x18039d528]
call fcn.1803516d0
lea rcx, [0x18039d540]
call fcn.1803516d0
lea rcx, [0x18039d560]
mov qword [0x18039d520], rdi
call fcn.1803516d0
lea rcx, [0x18039d578]
call fcn.1803516d0
lea rcx, [0x18039d590]
mov qword [0x18039d558], rdi
call fcn.1803516d0
lea rcx, [0x18039d5a8]
call fcn.18000ed50
lea rcx, [0x18039f2f0]
call fcn.18000ed50
lea rcx, [0x1803a1038]
call fcn.180032250
xor r8d, r8d
lea rcx, [0x1803a1068]
xor edx, edx
call fcn.180001990
lea rcx, [0x1803a1078]
call fcn.180351640
lea rcx, [0x1803a1090]
call fcn.1803516d0
lea rcx, [0x18037d3f0]
mov qword [0x1803a1058], r15
mov qword [0x1803a1060], r15
mov byte [0x1803a1070], r15b
mov dword [0x1803a1088], 0x10000
mov dword [0x1803a10a8], r15d
mov qword [0x1803a14c0], r15
mov qword [0x1803a14c8], r15
mov byte [0x1803a14d0], r15b
call fcn.1803614c4
lea rcx, [0x1803a1aa0]
call fcn.180360f2c
mov edx, ebx
mov rcx, rdi
call fcn.18004e510
mov ecx, dword [rax + 0x9c]
mov dword [rsi + 0x24], ecx
jmp 0x18003f0fb
lea rdx, [rbp + 0x90]
mov rcx, rsi
call fcn.18003ffd0
cmp dword [rbp + 0x90], 3
jne 0x18003f0fb
mov edx, dword [0x18039b468]
mov rax, qword gs:[0x58]
mov r9d, 4
mov rax, qword [rax + rdx*8]
mov eax, dword [r9 + rax]
cmp dword [0x18039d508], eax
jle 0x18003ddce
lea rcx, [0x18039d508]
call fcn.180360f8c
cmp dword [0x18039d508], 0xffffffff
jne 0x18003ddce
lea rcx, [0x1803a1a28]
call fcn.1803531e0
lea rcx, [0x18037d310]
call fcn.1803614c4
lea rcx, [0x18039d508]
call fcn.180360f2c
mov eax, dword [rbp + 0x94]
lea rcx, [rsi + 0x70]
dec eax
movsxd rdx, eax
call fcn.180351960
mov rcx, rax
call fcn.180351da0
mov rdx, rax
lea rcx, [rbp + 0x720]
call fcn.180352060
lea rdx, [0x1803a1a40]
mov rsi, rax
lea rcx, [rbp + 0x160]
call fcn.180001c30
lea rcx, [rbp + 0x390]
call fcn.18000c7c0
xor r8d, r8d
mov dl, 0x3a
mov rcx, rsi
call fcn.180351d40
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x18003de45
mov rdx, rsi
lea rcx, [rbp + 0x620]
lea ebx, [rax + 2]
call fcn.1803520c0
jmp 0x18003de5f
mov r9, rdi
lea rdx, [rbp + 0x600]
xor r8d, r8d
mov rcx, rsi
mov ebx, 2
call fcn.180351ce0
mov rdx, rax
lea rcx, [rbp + 0x390]
call fcn.180351fc0
test bl, 2
je 0x18003de82
and ebx, 0xfffffffd
lea rcx, [rbp + 0x600]
call fcn.18000cb80
test bl, 1
je 0x18003de96
and ebx, 0xfffffffe
lea rcx, [rbp + 0x620]
call fcn.18000cb80
cmp rdi, 0xffffffffffffffff
jne 0x18003deb4
lea rdx, [0x18038e6da]
lea rcx, [rbp + 0x660]
call fcn.180352060
lea ecx, [rdi + 5]
jmp 0x18003ded3
lea r8, [rdi + 1]
mov r9, 0xffffffffffffffff
lea rdx, [rbp + 0x640]
mov rcx, rsi
call fcn.180351ce0
mov ecx, 8
or ebx, ecx
mov rdx, rax
lea rcx, [rbp + 0x3c8]
call fcn.180352010
test bl, 8
je 0x18003def8
and ebx, 0xfffffff7
lea rcx, [rbp + 0x640]
call fcn.18000cb80
test bl, 4
je 0x18003df09
lea rcx, [rbp + 0x660]
call fcn.18000cb80
lea rcx, [rbp + 0xad0]
mov byte [rbp + 0xad0], r15b
call fcn.18000cb90
lea rcx, [rbp + 0x3c8]
mov word [rbp + 0x3b0], ax
call fcn.180351d90
test rax, rax
je 0x18003dfca
lea rcx, [rbp + 0x3c8]
call fcn.180351da0
mov rdx, rax
xor r9b, r9b
movzx eax, byte [rax]
test al, al
je 0x18003df6c
lea ecx, [rax - 0x30]
cmp cl, 9
jbe 0x18003df6c
cmp al, 0x2d
je 0x18003df73
cmp al, 0x2b
je 0x18003df6c
movzx eax, byte [rdx + 1]
inc rdx
test al, al
jne 0x18003df51
movzx eax, byte [rdx]
cmp al, 0x2d
jne 0x18003df7d
movzx eax, byte [rdx]
mov r9b, 1
cmp al, 0x2d
je 0x18003df81
cmp al, 0x2b
jne 0x18003df84
inc rdx
movzx r8d, byte [rdx]
test r8b, r8b
je 0x18003dfb4
nop dword [rax]
lea eax, [r8 - 0x30]
cmp al, 9
ja 0x18003dfb4
inc rdx
movsx eax, r8b
lea r15d, [r15 + r15*4]
lea r15d, [r15 - 0x18]
movzx r8d, byte [rdx]
lea r15d, [rax + r15*2]
test r8b, r8b
jne 0x18003df90
movzx eax, r15w
neg ax
test r9b, r9b
cmove ax, r15w
mov word [rbp + 0x3b0], ax
lea rdx, [rbp + 0x390]
lea rcx, [rbp + 0x840]
call fcn.18000cbc0
mov rdx, rax
lea rcx, [0x1803a1a28]
call fcn.18000c940
lea rcx, [rbp + 0x3c8]
call fcn.18000cb80
lea rcx, [rbp + 0x390]
call fcn.18000cb80
lea rcx, [rbp + 0x160]
call fcn.180001d90
mov rcx, rsi
call fcn.18000cb80
jmp 0x18003f0fb
lea rdx, [rbp + 0x98]
mov rcx, rsi
call fcn.18003ffd0
cmp dword [rbp + 0x98], 3
jne 0x18003f0fb
mov eax, dword [rbp + 0x9c]
lea rcx, [rsi + 0x70]
dec eax
movsxd rdx, eax
call fcn.180351960
mov rcx, rax
call fcn.180351da0
mov rdx, rax
lea rcx, [rbp + 0x210]
call fcn.1800358f0
lea rcx, [rbp + 0x210]
call fcn.180036790
test rax, rax
je 0x18003e165
lea rcx, [rbp + 0x210]
mov dword [rsi + 0x20], 3
call fcn.180036790
mov rdx, rax
lea rcx, [rbp + 0x740]
mov r15, rax
call fcn.180352060
lea rdx, [rbp - 0x78]
mov r14, rax
lea rcx, [rsi + 0x70]
mov ebx, 1
call fcn.1803516c0
lea rdx, [rbp + 0x168]
lea rcx, [rsi + 0x70]
call fcn.1803516b0
mov rdx, rax
lea rcx, [rbp - 0x78]
call fcn.180351670
test al, al
je 0x18003e124
lea rcx, [rbp - 0x78]
call fcn.1803516a0
mov rdx, rax
mov rcx, r14
call fcn.180354960
test al, al
jne 0x18003e1be
xor r8d, r8d
lea rdx, [rbp + 0x318]
lea rcx, [rbp - 0x78]
call fcn.180351940
lea rdx, [rbp + 0x168]
inc ebx
lea rcx, [rsi + 0x70]
call fcn.1803516b0
mov rdx, rax
lea rcx, [rbp - 0x78]
call fcn.180351670
test al, al
jne 0x18003e0d3
mov rcx, r14
call fcn.18000cb80
mov rdx, r15
lea rcx, [rbp + 0x408]
call fcn.180352060
lea rdx, [rbp + 0x408]
lea rcx, [rsi + 0x70]
call fcn.1803519e0
lea rcx, [rbp + 0x408]
call fcn.18000cb80
lea rcx, [rsi + 0x70]
call fcn.180351970
mov ebx, eax
mov dword [rsi + 0x24], ebx
mov rcx, qword [rbp + 0x210]
call fcn.180360d9c
mov rcx, qword [rbp + 0x218]
call fcn.180360d9c
mov rcx, qword [rbp + 0x220]
call fcn.180360d9c
mov rcx, qword [rbp + 0x228]
call fcn.180360d9c
mov rcx, qword [rbp + 0x238]
call fcn.180360d9c
mov rcx, qword [rbp + 0x240]
call fcn.180360d9c
mov rcx, qword [rbp + 0x248]
call fcn.180360d9c
jmp 0x18003f0fb
mov rcx, r14
call fcn.18000cb80
test ebx, ebx
jne 0x18003e162
jmp 0x18003e12c
lea rdx, [rbp + 0xa0]
mov rcx, rsi
call fcn.18003ffd0
cmp dword [rbp + 0xa0], 3
jne 0x18003f0fb
mov eax, dword [rbp + 0xa4]
lea rcx, [rsi + 0x70]
dec eax
movsxd rdx, eax
call fcn.180351960
mov rcx, rax
call fcn.180351da0
mov rdx, rax
lea rcx, [rbp + 0x250]
call fcn.1800358f0
lea rcx, [rbp + 0x250]
call fcn.1800367a0
test rax, rax
je 0x18003e323
lea rcx, [rbp + 0x250]
mov dword [rsi + 0x20], 3
call fcn.1800367a0
mov rdx, rax
lea rcx, [rbp + 0x760]
mov r15, rax
call fcn.180352060
lea rdx, [rbp - 0x70]
mov r14, rax
lea rcx, [rsi + 0x70]
mov ebx, 1
call fcn.1803516c0
lea rdx, [rbp + 0x170]
lea rcx, [rsi + 0x70]
call fcn.1803516b0
mov rdx, rax
lea rcx, [rbp - 0x70]
call fcn.180351670
test al, al
je 0x18003e2d2
lea rcx, [rbp - 0x70]
call fcn.1803516a0
mov rdx, rax
mov rcx, r14
call fcn.180354960
test al, al
jne 0x18003e315
xor r8d, r8d
lea rdx, [rbp + 0x320]
lea rcx, [rbp - 0x70]
call fcn.180351940
lea rdx, [rbp + 0x170]
inc ebx
lea rcx, [rsi + 0x70]
call fcn.1803516b0
mov rdx, rax
lea rcx, [rbp - 0x70]
call fcn.180351670
test al, al
jne 0x18003e285
mov rcx, r14
call fcn.18000cb80
mov rdx, r15
lea rcx, [rbp + 0x428]
call fcn.180352060
lea rdx, [rbp + 0x428]
lea rcx, [rsi + 0x70]
call fcn.1803519e0
lea rcx, [rbp + 0x428]
call fcn.18000cb80
lea rcx, [rsi + 0x70]
call fcn.180351970
mov ebx, eax
mov dword [rsi + 0x24], ebx
jmp 0x18003e327
mov rcx, r14
call fcn.18000cb80
test ebx, ebx
jne 0x18003e310
jmp 0x18003e2da
mov dword [rsi + 0x20], r15d
mov rcx, qword [rbp + 0x250]
call fcn.180360d9c
mov rcx, qword [rbp + 0x258]
call fcn.180360d9c
mov rcx, qword [rbp + 0x260]
call fcn.180360d9c
mov rcx, qword [rbp + 0x268]
call fcn.180360d9c
mov rcx, qword [rbp + 0x278]
call fcn.180360d9c
mov rcx, qword [rbp + 0x280]
call fcn.180360d9c
mov rcx, qword [rbp + 0x288]
call fcn.180360d9c
jmp 0x18003f0fb
lea rdx, [rbp + 0xa8]
mov rcx, rsi
call fcn.18003ffd0
cmp dword [rbp + 0xa8], 3
jne 0x18003f0fb
mov eax, dword [rbp + 0xac]
lea rcx, [rsi + 0x70]
dec eax
movsxd rdx, eax
call fcn.180351960
mov rcx, rax
call fcn.180351da0
mov rdx, rax
lea rcx, [rbp + 0x290]
call fcn.1800358f0
lea rcx, [rbp + 0x290]
call fcn.1800367b0
test rax, rax
je 0x18003e4d4
lea rcx, [rbp + 0x290]
mov dword [rsi + 0x20], 3
call fcn.1800367b0
mov rdx, rax
lea rcx, [rbp + 0x780]
mov r15, rax
call fcn.180352060
lea rdx, [rbp - 0x68]
mov r14, rax
lea rcx, [rsi + 0x70]
mov ebx, 1
call fcn.1803516c0
lea rdx, [rbp + 0x178]
lea rcx, [rsi + 0x70]
call fcn.1803516b0
mov rdx, rax
lea rcx, [rbp - 0x68]
call fcn.180351670
test al, al
je 0x18003e483
lea rcx, [rbp - 0x68]
call fcn.1803516a0
mov rdx, rax
mov rcx, r14
call fcn.180354960
test al, al
jne 0x18003e4c6
xor r8d, r8d
lea rdx, [rbp + 0x328]
lea rcx, [rbp - 0x68]
call fcn.180351940
lea rdx, [rbp + 0x178]
inc ebx
lea rcx, [rsi + 0x70]
call fcn.1803516b0
mov rdx, rax
lea rcx, [rbp - 0x68]
call fcn.180351670
test al, al
jne 0x18003e436
mov rcx, r14
call fcn.18000cb80
mov rdx, r15
lea rcx, [rbp + 0x448]
call fcn.180352060
lea rdx, [rbp + 0x448]
lea rcx, [rsi + 0x70]
call fcn.1803519e0
lea rcx, [rbp + 0x448]
call fcn.18000cb80
lea rcx, [rsi + 0x70]
call fcn.180351970
mov ebx, eax
mov dword [rsi + 0x24], ebx
jmp 0x18003e4d8
mov rcx, r14
call fcn.18000cb80
test ebx, ebx
jne 0x18003e4c1
jmp 0x18003e48b
mov dword [rsi + 0x20], r15d
mov rcx, qword [rbp + 0x290]
call fcn.180360d9c
mov rcx, qword [rbp + 0x298]
call fcn.180360d9c
mov rcx, qword [rbp + 0x2a0]
call fcn.180360d9c
mov rcx, qword [rbp + 0x2a8]
call fcn.180360d9c
mov rcx, qword [rbp + 0x2b8]
call fcn.180360d9c
mov rcx, qword [rbp + 0x2c0]
call fcn.180360d9c
mov rcx, qword [rbp + 0x2c8]
call fcn.180360d9c
jmp 0x18003f0fb
lea rdx, [rbp + 0xb0]
mov rcx, rsi
call fcn.18003ffd0
cmp dword [rbp + 0xb0], 3
jne 0x18003f0fb
mov eax, dword [rbp + 0xb4]
lea rcx, [rsi + 0x70]
dec eax
movsxd rdx, eax
call fcn.180351960
mov rcx, rax
call fcn.180351da0
mov rdx, rax
lea rcx, [rbp + 0x2d0]
call fcn.1800358f0
lea rcx, [rbp + 0x2d0]
call fcn.1800367c0
test rax, rax
je 0x18003e685
lea rcx, [rbp + 0x2d0]
mov dword [rsi + 0x20], 3
call fcn.1800367c0
mov rdx, rax
lea rcx, [rbp + 0x7a0]
mov r15, rax
call fcn.180352060
lea rdx, [rbp - 0x60]
mov r14, rax
lea rcx, [rsi + 0x70]
mov ebx, 1
call fcn.1803516c0
lea rdx, [rbp + 0x180]
lea rcx, [rsi + 0x70]
call fcn.1803516b0
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.180351670
test al, al
je 0x18003e634
lea rcx, [rbp - 0x60]
call fcn.1803516a0
mov rdx, rax
mov rcx, r14
call fcn.180354960
test al, al
jne 0x18003e677
xor r8d, r8d
lea rdx, [rbp + 0x330]
lea rcx, [rbp - 0x60]
call fcn.180351940
lea rdx, [rbp + 0x180]
inc ebx
lea rcx, [rsi + 0x70]
call fcn.1803516b0
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.180351670
test al, al
jne 0x18003e5e7
mov rcx, r14
call fcn.18000cb80
mov rdx, r15
lea rcx, [rbp + 0x468]
call fcn.180352060
lea rdx, [rbp + 0x468]
lea rcx, [rsi + 0x70]
call fcn.1803519e0
lea rcx, [rbp + 0x468]
call fcn.18000cb80
lea rcx, [rsi + 0x70]
call fcn.180351970
mov ebx, eax
mov dword [rsi + 0x24], ebx
jmp 0x18003e689
mov rcx, r14
call fcn.18000cb80
test ebx, ebx
jne 0x18003e672
jmp 0x18003e63c
mov dword [rsi + 0x20], r15d
mov rcx, qword [rbp + 0x2d0]
call fcn.180360d9c
mov rcx, qword [rbp + 0x2d8]
call fcn.180360d9c
mov rcx, qword [rbp + 0x2e0]
call fcn.180360d9c
mov rcx, qword [rbp + 0x2e8]
call fcn.180360d9c
mov rcx, qword [rbp + 0x2f8]
call fcn.180360d9c
mov rcx, qword [rbp + 0x300]
call fcn.180360d9c
mov rcx, qword [rbp + 0x308]
call fcn.180360d9c
jmp 0x18003f0fb
lea rdx, [rbp + 0xc0]
mov rcx, rsi
call fcn.18003ffd0
lea rdx, [rbp + 0xb8]
mov rcx, rsi
call fcn.18003ffd0
cmp dword [rbp + 0xb8], 3
mov r14d, r15d
mov dword [rbp + 0xac8], r15d
jne 0x18003eaa3
cmp dword [rbp + 0xc0], 3
jne 0x18003eaa3
mov eax, dword [rbp + 0xbc]
lea rcx, [rsi + 0x70]
dec eax
movsxd rdx, eax
call fcn.180351960
mov rcx, rax
call fcn.180351da0
mov ecx, dword [rbp + 0xc4]
mov rdi, rax
dec ecx
movsxd rdx, ecx
lea rcx, [rsi + 0x70]
call fcn.180351960
mov rcx, rax
call fcn.180351da0
mov rbx, rax
mov eax, r15d
cmp byte [rdi], r15b
je 0x18003e778
nop word [rax + rax]
inc eax
cmp byte [rax + rdi], r14b
jne 0x18003e770
mov ecx, eax
inc rcx
call fcn.1803614dc
mov r12, rax
mov qword [rbp + 0xad0], rax
mov rdx, rax
nop
movzx ecx, byte [rdi]
lea rdi, [rdi + 1]
mov byte [rdx], cl
lea rdx, [rdx + 1]
test cl, cl
jne 0x18003e790
mov ecx, r15d
cmp byte [rbx], r14b
je 0x18003e7b8
nop dword [rax]
inc ecx
cmp byte [rcx + rbx], r14b
jne 0x18003e7b0
inc rcx
call fcn.1803614dc
mov r13, rax
mov rdx, rax
nop word [rax + rax]
movzx ecx, byte [rbx]
lea rbx, [rbx + 1]
mov byte [rdx], cl
inc rdx
test cl, cl
jne 0x18003e7d0
cmp r12, 0
jne 0x18003e7f6
mov r12, qword [rbp + 0xac8]
test r12, r12
je 0x18003ea8f
mov r9, r15
mov r8, r12
cmp byte [r12], r15b
je 0x18003e837
movzx r10d, byte [rax]
mov rax, r13
test r10b, r10b
je 0x18003e827
movzx edx, byte [r8]
movzx ecx, r10b
cmp dl, cl
je 0x18003e827
movzx ecx, byte [rax + 1]
inc rax
test cl, cl
jne 0x18003e816
jmp 0x18003e837
cmp byte [rax], r14b
je 0x18003e837
inc r8
inc r9
cmp byte [r8], r14b
jne 0x18003e806
add r12, r9
movzx edx, byte [r12]
test dl, dl
je 0x18003ea8f
movzx r10d, byte [r13]
mov r8, r12
mov r9, r15
mov rax, r13
cmp r10b, dl
je 0x18003e86f
movzx ecx, r10b
nop
test cl, cl
je 0x18003e874
movzx ecx, byte [rax + 1]
inc rax
cmp cl, dl
jne 0x18003e860
cmp byte [rax], r14b
jne 0x18003e877
mov rax, r15
inc r8
test rax, rax
jne 0x18003e88a
movzx edx, byte [r8]
inc r9
test dl, dl
jne 0x18003e852
cmp byte [r9 + r12], r15b
lea r14, [r9 + r12]
je 0x18003e89c
mov byte [r14], r15b
inc r14
jmp 0x18003e89f
mov r14, r15
mov ebx, 1
lea rcx, [rbp - 0x20]
call fcn.18003a9f0
mov rdx, r12
mov dword [rbp - 0x20], 3
lea rcx, [rbp + 0x7c0]
call fcn.180352060
lea rdx, [rbp - 0x58]
mov r15, rax
lea rcx, [rsi + 0x70]
mov edi, ebx
call fcn.1803516c0
lea rdx, [rbp + 0x188]
lea rcx, [rsi + 0x70]
call fcn.1803516b0
mov rdx, rax
lea rcx, [rbp - 0x58]
call fcn.180351670
test al, al
je 0x18003e946
lea rcx, [rbp - 0x58]
call fcn.1803516a0
mov rdx, rax
mov rcx, r15
call fcn.180354960
test al, al
jne 0x18003e9e1
xor r8d, r8d
lea rdx, [rbp + 0x338]
lea rcx, [rbp - 0x58]
call fcn.180351940
lea rdx, [rbp + 0x188]
inc edi
lea rcx, [rsi + 0x70]
call fcn.1803516b0
mov rdx, rax
lea rcx, [rbp - 0x58]
call fcn.180351670
test al, al
jne 0x18003e8f5
mov rcx, r15
call fcn.18000cb80
xor r15d, r15d
mov edi, r15d
test edi, edi
jne 0x18003e98f
mov rdx, r12
lea rcx, [rbp + 0x488]
call fcn.180352060
lea rdx, [rbp + 0x488]
lea rcx, [rsi + 0x70]
call fcn.1803519e0
lea rcx, [rbp + 0x488]
call fcn.18000cb80
lea rcx, [rsi + 0x70]
call fcn.180351970
mov rdi, rax
lea rdx, [rbp - 0x20]
mov dword [rbp - 0x1c], edi
lea rcx, [rsi + 0x58]
call fcn.180351570
test r14, r14
je 0x18003ea85
cmp byte [r14], 0
mov r9, r15
mov r8, r14
je 0x18003ea02
movzx r10d, byte [r13]
nop dword [rax]
mov rax, r13
test r10b, r10b
je 0x18003e9f1
movzx edx, byte [r8]
movzx ecx, r10b
cmp dl, cl
je 0x18003e9f1
movzx ecx, byte [rax + 1]
inc rax
test cl, cl
jne 0x18003e9d0
jmp 0x18003ea02
mov rcx, r15
call fcn.18000cb80
xor r15d, r15d
jmp 0x18003e954
cmp byte [rax], 0
je 0x18003ea02
inc r8
inc r9
cmp byte [r8], 0
jne 0x18003e9c0
movzx edx, byte [r9 + r14]
lea r12, [r9 + r14]
test dl, dl
je 0x18003ea85
movzx r10d, byte [r13]
mov r8, r12
mov r9, r15
nop word [rax + rax]
mov rax, r13
cmp r10b, dl
je 0x18003ea3f
movzx ecx, r10b
nop dword [rax]
test cl, cl
je 0x18003ea44
movzx ecx, byte [rax + 1]
inc rax
cmp cl, dl
jne 0x18003ea30
cmp byte [rax], 0
jne 0x18003ea47
mov rax, r15
inc r8
test rax, rax
jne 0x18003ea5a
movzx edx, byte [r8]
inc r9
test dl, dl
jne 0x18003ea20
cmp byte [r9 + r12], 0
lea r14, [r9 + r12]
je 0x18003ea77
mov byte [r14], 0
inc r14
inc dword [rbp + 0xac8]
jmp 0x18003e8a4
inc dword [rbp + 0xac8]
mov r14, r15
jmp 0x18003e8a4
mov r14d, dword [rbp + 0xac8]
inc r14d
mov rcx, qword [rbp + 0xad0]
call fcn.180360d9c
mov rcx, r13
call fcn.180360d9c
mov dword [rsi + 0x20], 2
mov dword [rsi + 0x24], r14d
jmp 0x18003f0fb
lea rdx, [rbp + 0xc8]
mov rcx, rsi
call fcn.18003ffd0
cmp dword [rbp + 0xc8], 3
jne 0x18003f0fb
mov eax, dword [rbp + 0xcc]
lea rcx, [rsi + 0x70]
dec eax
mov dword [rsi + 0x20], 3
movsxd rdx, eax
call fcn.180351960
mov rcx, rax
call fcn.180351da0
mov rdx, rax
lea rcx, [rbp + 0x5a0]
call fcn.180036360
mov rcx, rax
call fcn.180351da0
mov rdx, rax
lea rcx, [rbp + 0x7e0]
mov r15, rax
call fcn.180352060
lea rdx, [rbp - 0x50]
mov rdi, rax
lea rcx, [rsi + 0x70]
mov ebx, 1
call fcn.1803516c0
lea rdx, [rbp + 0x190]
lea rcx, [rsi + 0x70]
call fcn.1803516b0
mov rdx, rax
lea rcx, [rbp - 0x50]
call fcn.180351670
test al, al
je 0x18003eba1
lea rcx, [rbp - 0x50]
call fcn.1803516a0
mov rdx, rax
mov rcx, rdi
call fcn.180354960
test al, al
jne 0x18003ebf3
xor r8d, r8d
lea rdx, [rbp + 0x388]
lea rcx, [rbp - 0x50]
call fcn.180351940
lea rdx, [rbp + 0x190]
inc ebx
lea rcx, [rsi + 0x70]
call fcn.1803516b0
mov rdx, rax
lea rcx, [rbp - 0x50]
call fcn.180351670
test al, al
jne 0x18003eb50
mov rcx, rdi
call fcn.18000cb80
mov rdx, r15
lea rcx, [rbp + 0x4a8]
call fcn.180352060
lea rdx, [rbp + 0x4a8]
lea rcx, [rsi + 0x70]
call fcn.1803519e0
lea rcx, [rbp + 0x4a8]
call fcn.18000cb80
lea rcx, [rsi + 0x70]
call fcn.180351970
mov ebx, eax
lea rcx, [rbp + 0x5a0]
mov dword [rsi + 0x24], ebx
call fcn.18000cb80
jmp 0x18003f0fb
mov rcx, rdi
call fcn.18000cb80
test ebx, ebx
jne 0x18003ebdf
jmp 0x18003eba9
lea rdx, [rbp + 0xd0]
mov rcx, rsi
call fcn.18003ffd0
cmp dword [rbp + 0xd0], 3
jne 0x18003f0fb
mov eax, dword [rbp + 0xd4]
lea rcx, [rsi + 0x70]
dec eax
mov dword [rsi + 0x20], 3
movsxd rdx, eax
call fcn.180351960
mov rcx, rax
call fcn.180351da0
mov rdx, rax
lea rcx, [rbp + 0x5c0]
call fcn.1800365c0
mov rcx, rax
call fcn.180351da0
mov rdx, rax
lea rcx, [rbp + 0x800]
mov r15, rax
call fcn.180352060
lea rdx, [rbp - 0x48]
mov rdi, rax
lea rcx, [rsi + 0x70]
mov ebx, 1
call fcn.1803516c0
lea rdx, [rbp + 0x198]
lea rcx, [rsi + 0x70]
call fcn.1803516b0
mov rdx, rax
lea rcx, [rbp - 0x48]
call fcn.180351670
test al, al
je 0x18003ecf1
nop
lea rcx, [rbp - 0x48]
call fcn.1803516a0
mov rdx, rax
mov rcx, rdi
call fcn.180354960
test al, al
jne 0x18003ed43
xor r8d, r8d
lea rdx, [rbp + 0x348]
lea rcx, [rbp - 0x48]
call fcn.180351940
lea rdx, [rbp + 0x198]
inc ebx
lea rcx, [rsi + 0x70]
call fcn.1803516b0
mov rdx, rax
lea rcx, [rbp - 0x48]
call fcn.180351670
test al, al
jne 0x18003eca0
mov rcx, rdi
call fcn.18000cb80
mov rdx, r15
lea rcx, [rbp + 0x4c8]
call fcn.180352060
lea rdx, [rbp + 0x4c8]
lea rcx, [rsi + 0x70]
call fcn.1803519e0
lea rcx, [rbp + 0x4c8]
call fcn.18000cb80
lea rcx, [rsi + 0x70]
call fcn.180351970
mov ebx, eax
lea rcx, [rbp + 0x5c0]
mov dword [rsi + 0x24], ebx
call fcn.18000cb80
jmp 0x18003f0fb
mov rcx, rdi
call fcn.18000cb80
test ebx, ebx
jne 0x18003ed2f
jmp 0x18003ecf9
lea rdx, [rbp - 8]
mov rcx, rsi
call fcn.18003ffd0
lea rdx, [rbp + 0xd8]
mov rcx, rsi
call fcn.18003ffd0
cmp dword [rbp + 0xd8], 3
mov r12d, r15d
jne 0x18003f06a
cmp dword [rbp - 8], 3
jne 0x18003f06a
mov eax, dword [rbp + 0xdc]
lea r15, [rsi + 0x70]
dec eax
mov rcx, r15
movsxd rdx, eax
call fcn.180351960
mov rcx, rax
call fcn.180351da0
mov ecx, dword [rbp - 4]
mov rbx, rax
dec ecx
mov qword [rbp + 0xac8], rax
movsxd rdx, ecx
mov rcx, r15
call fcn.180351960
mov rcx, rax
call fcn.180351da0
xor r8d, r8d
lea rcx, [rbp + 0x870]
mov rdx, rax
call fcn.180355380
mov r9, 0xffffffffffffffff
mov qword [rsp + 0x20], r12
mov r8, rbx
lea rdx, [rbp + 0xf8]
lea rcx, [rbp + 0x870]
call fcn.180355490
lea rcx, [rbp + 0xf8]
call fcn.1803552e0
test eax, eax
je 0x18003f052
mov rsi, qword [rbp + 0xac8]
mov ebx, 1
nop dword [rax + rax]
lea rcx, [rbp + 0xf8]
call fcn.180355310
lea rcx, [rbp + 0xf8]
mov edi, eax
call fcn.1803552f0
sub edi, eax
je 0x18003f04b
lea ecx, [rdi + 1]
movsxd rcx, ecx
call fcn.1803614dc
movsxd r14, edi
lea rcx, [rbp + 0xf8]
mov rdi, r14
mov r13, rax
call fcn.1803552f0
movsxd rdx, eax
lea rcx, [r13 - 1]
add rdx, rsi
cmp r14, 4
jb 0x18003eede
movzx eax, byte [rdx]
inc rcx
mov r8, r14
inc rdx
shr r8, 2
mov byte [rcx], al
test al, al
je 0x18003eece
nop dword [rax + rax]
movzx eax, byte [rdx]
inc rcx
mov byte [rcx], al
test al, al
je 0x18003eece
movzx eax, byte [rdx + 1]
inc rcx
mov byte [rcx], al
test al, al
je 0x18003eece
movzx eax, byte [rdx + 2]
inc rcx
add rdx, 3
mov byte [rcx], al
test al, al
je 0x18003eece
sub r8, rbx
je 0x18003eede
movzx eax, byte [rdx]
inc rcx
inc rdx
mov byte [rcx], al
test al, al
jne 0x18003ee90
mov rax, r13
dec rdi
sub rax, rcx
add rdi, rax
je 0x18003ef0f
jmp 0x18003ef02
and edi, 3
je 0x18003ef0f
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
inc rcx
mov byte [rcx], al
sub rdi, rbx
je 0x18003ef0f
test al, al
jne 0x18003eef0
mov byte [rcx + 1], 0
lea rcx, [rcx + 1]
sub rdi, rbx
jne 0x18003ef02
mov rdx, r13
mov byte [r14 + r13], 0
lea rcx, [rbp + 0x820]
call fcn.180352060
lea rdx, [rbp - 0x40]
mov rcx, r15
mov r14, rax
mov edi, ebx
call fcn.1803516c0
lea rdx, [rbp + 0x1a0]
mov rcx, r15
call fcn.1803516b0
mov rdx, rax
lea rcx, [rbp - 0x40]
call fcn.180351670
test al, al
je 0x18003efa3
lea rcx, [rbp - 0x40]
call fcn.1803516a0
mov rdx, rax
mov rcx, r14
call fcn.180354960
test al, al
jne 0x18003f07a
xor r8d, r8d
lea rdx, [rbp + 0x350]
lea rcx, [rbp - 0x40]
call fcn.180351940
lea rdx, [rbp + 0x1a0]
mov rcx, r15
inc edi
call fcn.1803516b0
mov rdx, rax
lea rcx, [rbp - 0x40]
call fcn.180351670
test al, al
jne 0x18003ef53
mov rcx, r14
call fcn.18000cb80
xor edi, edi
test edi, edi
jne 0x18003efe3
mov rdx, r13
lea rcx, [rbp + 0x4e8]
call fcn.180352060
lea rdx, [rbp + 0x4e8]
mov rcx, r15
call fcn.1803519e0
lea rcx, [rbp + 0x4e8]
call fcn.18000cb80
mov rcx, r15
call fcn.180351970
mov rcx, r13
call fcn.180360d9c
lea rcx, [rbp + 0xf8]
inc r12d
call fcn.180355310
mov r9d, eax
mov qword [rsp + 0x20], 0
mov r8, rsi
lea rdx, [rbp + 0x5e0]
lea rcx, [rbp + 0x870]
call fcn.180355490
mov rdx, rax
lea rcx, [rbp + 0xf8]
call fcn.180355330
lea rcx, [rbp + 0x5e0]
call fcn.18003f1f0
lea rcx, [rbp + 0xf8]
call fcn.1803552e0
test eax, eax
jne 0x18003ee20
mov rsi, qword [rbp + 0xac0]
lea rcx, [rbp + 0xf8]
call fcn.18003f1f0
lea rcx, [rbp + 0x870]
call fcn.18003f1e0
mov dword [rsi + 0x20], 2
mov dword [rsi + 0x24], r12d
jmp 0x18003f0fb
mov rcx, r14
call fcn.18000cb80
jmp 0x18003efad
mov dword [rsi + 0x20], 2
call fcn.180005d80
mov dword [rsi + 0x24], eax
jmp 0x18003f0fb
lea rdx, [rbp + 0x1a8]
mov rcx, rsi
call fcn.18003ffd0
mov rax, qword [rbp + 0x1a8]
cmp eax, 3
jne 0x18003f0f7
mov r8, rax
lea rdx, [rbp + 0x358]
mov rcx, rsi
call fcn.18003feb0
jmp 0x18003f0f4
lea rdx, [rbp + 0x1b0]
mov rcx, rsi
call fcn.18003ffd0
mov rax, qword [rbp + 0x1b0]
cmp eax, 2
jne 0x18003f0f7
mov r8, rax
lea rdx, [rbp + 0x1c0]
mov rcx, rsi
call fcn.18003fbb0
mov rax, qword [rax]
mov qword [rsi + 0x20], rax
mov r13, qword [rsp + 0xb80]
mov r12, qword [rsp + 0xb88]
mov rdi, qword [rsp + 0xb90]
mov rbx, qword [rsp + 0xb98]
mov r14, qword [rsp + 0xb78]
add rsp, 0xba0
pop r15
pop rsi
pop rbp
ret