Function at 0x18003ebc1
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x208
lea rbp, [rsp + 0x80]
mov rdi, r9
mov dword [rbp + 0xe4], r8d
mov qword [rbp + 0x80], rdx
mov qword [rbp + 0x88], rcx
sub rsp, 0x20
xor esi, esi
lea rcx, [rbp - 0x78]
mov r8d, 0xa8
xor edx, edx
call fcn.180003c5d
add rsp, 0x20
mov eax, dword [0x1800e4c60]
cmp dword [0x1800e4c64], 0xa
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
mov byte [rbp + 0x167], al
mov byte [rbp + 0x187], al
mov al, byte [rbp + 0x187]
lea rax, [0x180059f70]
movsxd rcx, dword [rsi + rax]
xor dword [rbp + rcx*4 - 0x78], 0x1e27
add rsi, 4
cmp rsi, 0xa4
jne 0x18003ec46
lea rax, [rdi + 4]
mov qword [rbp + 0xd0], rax
lea rax, [rdi + 0x14]
mov qword [rbp + 0xc8], rax
mov eax, 0x6e3f
xor ecx, ecx
mov qword [rbp + 0x90], rcx
lea rbx, [0x18005a2a0]
lea r9, [0x18005a278]
lea r10, [0x18005a280]
lea r11, [0x18005a288]
lea r13, [0x18005a2a8]
lea r15, [0x18005a2c0]
lea rsi, [0x18005a2cc]
lea r12, [0x18005a290]
lea r14, [0x18005a2b0]
lea r8, [0x180059ed0]
mov ecx, 0
mov qword [rbp + 0xa0], rcx
mov ecx, 0
mov qword [rbp + 0xa8], rcx
mov ecx, 0
mov qword [rbp + 0xb0], rcx
mov ecx, 0
mov qword [rbp + 0x98], rcx
mov ecx, 0
mov qword [rbp + 0x30], rcx
mov ecx, 0
mov qword [rbp + 0x38], rcx
xor ecx, ecx
mov qword [rbp + 0x40], rcx
xor ecx, ecx
mov qword [rbp + 0x48], rcx
xor ecx, ecx
mov qword [rbp + 0x50], rcx
xor ecx, ecx
mov qword [rbp + 0x58], rcx
xor ecx, ecx
mov qword [rbp + 0x60], rcx
xor ecx, ecx
mov qword [rbp + 0x68], rcx
xor ecx, ecx
mov qword [rbp + 0x70], rcx
xor ecx, ecx
mov qword [rbp + 0x78], rcx
xor ecx, ecx
mov qword [rbp + 0xb8], rcx
xor ecx, ecx
mov qword [rbp + 0xc0], rcx
cmp eax, 0x4120
jg 0x18003ee99
cmp eax, 0x2e2a
jg 0x18003ef71
cmp eax, 0x15dd
jle 0x18003f307
cmp eax, 0x1dcc
jle 0x18003f844
cmp eax, 0x1dcd
je 0x180040416
cmp eax, 0x20d4
je 0x18003fb24
cmp eax, 0x2d81
jne 0x18003ed4d
mov rax, qword [rbp + 0x168]
mov eax, dword [rdi]
mov rcx, qword [rbp + 0x168]
mov dword [rcx], eax
mov rax, qword [rbp + 0x158]
mov rax, qword [rbp + 0x158]
mov dword [rax], 0
mov rax, qword [rbp + 0x150]
mov rax, qword [rbp + 0x168]
mov eax, dword [rax]
mov rcx, qword [rbp + 0x150]
mov qword [rcx], rax
mov rax, qword [rbp + 0x148]
mov rax, qword [rbp + 0x170]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x148]
mov qword [rcx], rax
mov rax, qword [rbp + 0x138]
mov rax, qword [rax]
mov rdx, qword [rbp + 0x148]
mov rcx, qword [rbp + 0x158]
mov r8, qword [rbp + 0x150]
sub rsp, 0x30
mov qword [rsp + 0x20], rcx
mov rcx, 0xffffffffffffffff
mov r9d, 0x40
call rax
lea r8, [0x180059ed0]
lea rsi, [0x18005a2cc]
lea r11, [0x18005a288]
lea r10, [0x18005a280]
lea r9, [0x18005a278]
add rsp, 0x30
test eax, eax
mov eax, 0x4cb2acb5
mov ecx, 0xcf493c61
cmove eax, ecx
mov rcx, qword [rbp + 0x178]
mov dword [rcx], eax
mov eax, dword [0x1800e4c40]
mov ecx, 1
sub ecx, eax
imul ecx, eax
test cl, 1
mov eax, 0x473d
mov ecx, 0x2d42
cmove eax, ecx
cmp dword [0x1800e4c44], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x44]
jmp 0x18003ed4d
cmp eax, 0x5f43
jg 0x18003f242
cmp eax, 0x5067
jg 0x18003f374
cmp eax, 0x42a9
jle 0x18003f8b3
cmp eax, 0x42aa
je 0x18003fc56
cmp eax, 0x4654
je 0x18003fc84
cmp eax, 0x4b40
jne 0x18003ed4d
mov rax, qword [rbp + 0x168]
mov eax, dword [rax]
mov rcx, qword [rbp + 0x100]
mov qword [rcx], rax
mov rax, qword [rbp + 0x110]
cmp dword [rax], 0
mov eax, 0xcb17b6b2
mov ecx, 0x18a52bd6
cmove eax, ecx
mov rcx, qword [rbp + 0x178]
mov dword [rcx], eax
mov eax, dword [0x1800e4d24]
mov ecx, dword [0x1800e4d20]
cmp ecx, 9
setg dl
cmp ecx, 0xa
setl r8b
lea ebx, [rax + 1]
imul ebx, eax
test bl, 1
lea rbx, [0x18005a2a0]
sete al
mov ecx, r8d
xor cl, al
or dl, al
xor dl, r8b
lea r8, [0x180059ed0]
lea rsi, [0x18005a2cc]
mov eax, 0xbc5
mov edx, 0x1bc6
cmovne eax, edx
test cl, cl
mov ecx, 0xbc5
cmovne eax, ecx
xor eax, dword [rbp - 0x34]
jmp 0x18003ed4d
cmp eax, 0x34c0
jg 0x18003f3f9
cmp eax, 0x2ff6
jle 0x18003f8d8
cmp eax, 0x2ff7
je 0x18004046f
cmp eax, 0x3029
je 0x18004002e
cmp eax, 0x339d
jne 0x18003ed4d
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x100], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xf8], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x118], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x110], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xf0], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x170], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x140], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x128], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x138], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x130], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x120], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x168], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x158], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x150], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x148], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xe8], rax
mov rax, qword [rbp + 0x110]
mov ecx, dword [rbp + 0xe4]
mov dword [rax], ecx
mov rax, qword [rbp + 0xf0]
mov rcx, qword [rbp + 0x80]
mov qword [rax], rcx
mov rax, qword [rbp + 0x170]
mov rcx, qword [rbp + 0x88]
mov qword [rax], rcx
mov rax, qword [rbp + 0x140]
sub rsp, 0x20
call fcn.180022fd5
add rsp, 0x20
mov rcx, qword [rbp + 0x140]
mov qword [rcx], rax
mov rax, qword [rbp + 0x128]
mov rax, qword [rbp + 0x140]
mov rcx, qword [rax]
sub rsp, 0x20
mov edx, 0x8531dae1
call fcn.18001ea27
add rsp, 0x20
mov rcx, qword [rbp + 0x128]
mov qword [rcx], rax
mov rax, qword [rbp + 0x138]
mov rax, qword [rbp + 0x140]
mov rcx, qword [rax]
sub rsp, 0x20
mov edx, 0xfc26e024
call fcn.18001ea27
lea r8, [0x180059ed0]
lea rsi, [0x18005a2cc]
lea r11, [0x18005a288]
lea r10, [0x18005a280]
lea r9, [0x18005a278]
add rsp, 0x20
mov rcx, qword [rbp + 0x138]
mov qword [rcx], rax
mov rax, qword [rbp + 0x110]
cmp dword [rax], 2
mov rax, qword [rbp + 0xf8]
sete byte [rax]
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x178], rax
mov rax, qword [rbp + 0x178]
mov dword [rax], 0xa2fc8295
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x108], rax
mov eax, dword [rbp - 4]
mov ecx, 0x656c
xor eax, ecx
jmp 0x18003ed4d
cmp eax, 0x6e3e
jg 0x18003f547
cmp eax, 0x692f
jle 0x18003f966
cmp eax, 0x6930
je 0x18004008e
cmp eax, 0x6aef
je 0x18003fcb1
cmp eax, 0x6cd0
jne 0x18003ed4d
mov rax, qword [rbp + 0x148]
mov rax, qword [rbp + 0x150]
mov rax, qword [rbp + 0x158]
mov rax, qword [rbp + 0x168]
mov rax, qword [rbp + 0x138]
mov rax, qword [rbp + 0x128]
mov rax, qword [rbp + 0x140]
mov rax, qword [rbp + 0x118]
mov eax, dword [rax]
mov dword [rbp + 0xdc], eax
cmp dword [0x1800e4d30], 0xa
mov eax, dword [0x1800e4d34]
setl cl
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0xb8], 0
jne 0x18003f2e7
xor dword [rbp - 0x10], 0x52b
test al, al
mov eax, 0x2fc2
mov ecx, 0x1437
cmovne eax, ecx
xor eax, dword [rbp - 0x14]
mov cl, 1
mov qword [rbp + 0xb8], rcx
jmp 0x18003ed4d
cmp eax, 0xaba
jle 0x18003f981
cmp eax, 0xabb
je 0x18003fce7
cmp eax, 0xc50
je 0x18003fda2
cmp eax, 0x124b
lea r9, [0x18005a278]
lea r10, [0x18005a280]
lea r11, [0x18005a288]
lea rsi, [0x18005a2cc]
lea r8, [0x180059ed0]
jne 0x18003ed4d
mov rax, qword [rbp + 0x178]
mov eax, dword [rax]
mov dword [rbp + 0xe0], eax
mov eax, dword [rbp]
mov ecx, 0x6ac6
xor eax, ecx
jmp 0x18003ed4d
cmp eax, 0x5661
jle 0x18003f9f0
cmp eax, 0x5662
je 0x18004054e
cmp eax, 0x5bd0
je 0x18003feb5
cmp eax, 0x5f11
jne 0x18003ed4d
cmp dword [0x1800e4cb4], 0xa
mov eax, dword [0x1800e4cb0]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x78], 0
jne 0x18003f3dc
xor ecx, ecx
movsxd rdx, dword [rcx + r15]
xor dword [rbp + rdx*4 - 0x78], 0x4819
add rcx, 4
cmp rcx, 0xc
jne 0x18003f3c6
test al, al
mov eax, 0x67db
mov ecx, 0x2520
cmovne eax, ecx
xor eax, dword [rbp - 0x18]
mov cl, 1
mov qword [rbp + 0x78], rcx
jmp 0x18003ed4d
cmp eax, 0x3737
jle 0x18003fa88
cmp eax, 0x3738
je 0x18003fec4
cmp eax, 0x3b9c
je 0x18003ff44
cmp eax, 0x3e46
jne 0x18003ed4d
mov dword [rdi], 0x10
mov rax, qword [rbp + 0x170]
mov rdx, qword [rax]
sub rsp, 0x20
mov r8d, 0x10
mov rcx, qword [rbp + 0xd0]
call fcn.18000ebdf
add rsp, 0x20
mov r8d, dword [rdi]
mov rax, qword [rbp + 0x170]
mov rdx, qword [rax]
sub rsp, 0x20
mov rbx, qword [rbp + 0xc8]
mov rcx, rbx
call fcn.18000ebdf
add rsp, 0x20
mov rax, qword [rbp + 0x130]
mov rax, qword [rbp + 0x130]
movabs rcx, 0xe2ff410000000000
mov qword [rax + 5], rcx
mov qword [rax], 0xba49
mov rax, qword [rbp + 0x120]
mov rax, qword [rbp + 0xf0]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x120]
mov qword [rcx], rax
mov rdx, qword [rbp + 0x120]
mov rcx, qword [rbp + 0x130]
add rcx, 2
sub rsp, 0x20
mov r8d, 8
call fcn.18000ebdf
add rsp, 0x20
mov rdx, qword [rbp + 0x130]
sub rsp, 0x20
mov r8d, 0xd
mov rcx, rbx
lea rbx, [0x18005a2a0]
call fcn.18000ebdf
lea r8, [0x180059ed0]
lea rsi, [0x18005a2cc]
lea r11, [0x18005a288]
lea r10, [0x18005a280]
lea r9, [0x18005a278]
add rsp, 0x20
mov rax, qword [rbp + 0x120]
mov rax, qword [rbp + 0x130]
mov rax, qword [rbp + 0x178]
mov dword [rax], 0xe9d9a7d1
mov eax, dword [rbp + 0xc]
mov ecx, 0x6bec
xor eax, ecx
jmp 0x18003ed4d
cmp eax, 0x72db
jle 0x18003facc
cmp eax, 0x72dc
je 0x18003ff73
cmp eax, 0x7987
je 0x18003ffc1
cmp eax, 0x7b6d
jne 0x18003ed4d
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x100], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xf8], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x118], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x110], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xf0], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x170], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x140], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x128], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x138], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x130], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x120], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x168], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x158], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x150], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x148], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xe8], rax
mov rax, qword [rbp + 0x110]
mov ecx, dword [rbp + 0xe4]
mov dword [rax], ecx
mov rax, qword [rbp + 0xf0]
mov rcx, qword [rbp + 0x80]
mov qword [rax], rcx
mov rax, qword [rbp + 0x170]
mov rcx, qword [rbp + 0x88]
mov qword [rax], rcx
mov rax, qword [rbp + 0x140]
sub rsp, 0x20
call fcn.180022fd5
add rsp, 0x20
mov rcx, qword [rbp + 0x140]
mov qword [rcx], rax
mov rax, qword [rbp + 0x128]
mov rax, qword [rbp + 0x140]
mov rcx, qword [rax]
sub rsp, 0x20
mov edx, 0x8531dae1
call fcn.18001ea27
add rsp, 0x20
mov rcx, qword [rbp + 0x128]
mov qword [rcx], rax
mov rax, qword [rbp + 0x138]
mov rax, qword [rbp + 0x140]
mov rcx, qword [rax]
sub rsp, 0x20
mov edx, 0xfc26e024
call fcn.18001ea27
add rsp, 0x20
mov rcx, qword [rbp + 0x138]
mov qword [rcx], rax
mov rax, qword [rbp + 0x110]
cmp dword [rax], 2
mov rax, qword [rbp + 0xf8]
sete byte [rax]
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x178], rax
mov rax, qword [rbp + 0x178]
mov dword [rax], 0xa2fc8295
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x108], rax
cmp dword [0x1800e4d18], 0xa
mov eax, dword [0x1800e4d1c]
setl cl
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0xa0], 0
lea rsi, [0x18005a020]
jne 0x18003f824
xor ecx, ecx
movsxd rdx, dword [rcx + rsi]
xor dword [rbp + rdx*4 - 0x78], 0x52f6
add rcx, 4
cmp rcx, 0x98
jne 0x18003f80b
test al, al
mov eax, 0x2d9c
mov ecx, 0x4e69
cmovne eax, ecx
xor eax, dword [rbp - 0x70]
mov cl, 1
mov qword [rbp + 0xa0], rcx
jmp 0x18003fe8d
cmp eax, 0x1c08
je 0x1800400e7
cmp eax, 0x1d9a
jne 0x1800405a7
cmp dword [0x1800e4c3c], 0xa
mov eax, dword [0x1800e4c38]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x30], 0
jne 0x18003f896
xor ecx, ecx
movsxd rdx, dword [rcx + r9]
xor dword [rbp + rdx*4 - 0x78], 0x20ad
add rcx, 4
cmp rcx, 8
jne 0x18003f880
test al, al
mov eax, 0x8cf
mov ecx, 0xb5a
cmovne eax, ecx
xor eax, dword [rbp - 0x60]
mov cl, 1
mov qword [rbp + 0x30], rcx
jmp 0x18003ed4d
cmp eax, 0x4121
je 0x18004013c
cmp eax, 0x413f
jne 0x18003ed4d
mov eax, dword [rbp + 4]
mov ecx, 0x2bf7
xor eax, ecx
jmp 0x18003ed4d
cmp eax, 0x2e2b
je 0x180040169
cmp eax, 0x2fb4
jne 0x18003ed4d
mov rax, qword [rbp + 0x178]
mov eax, dword [rax]
mov dword [rbp + 0xe0], eax
cmp dword [0x1800e4c28], 0xa
mov eax, dword [0x1800e4c2c]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0xb0], 0
jne 0x18003f946
xor ecx, ecx
lea rdx, [0x18005a160]
movsxd rdx, dword [rcx + rdx]
xor dword [rbp + rdx*4 - 0x78], 0x2297
add rcx, 4
cmp rcx, 0x8c
jne 0x18003f926
test al, al
mov eax, 0x5739
mov ecx, 0x3cf5
cmovne eax, ecx
xor eax, dword [rbp - 0x68]
mov cl, 1
mov qword [rbp + 0xb0], rcx
jmp 0x18003ed4d
cmp eax, 0x5f44
je 0x1800404de
cmp eax, 0x60c4
je 0x1800405b4
jmp 0x18003ed4d
cmp eax, 0x44e
je 0x1800401b8
cmp eax, 0x91b
jne 0x18003ed4d
cmp dword [0x1800e4cc4], 0xa
mov eax, dword [0x1800e4cc0]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x58], 0
jne 0x18003f9d3
xor ecx, ecx
movsxd rdx, dword [rcx + rbx]
xor dword [rbp + rdx*4 - 0x78], 0x22f1
add rcx, 4
cmp rcx, 8
jne 0x18003f9bd
test al, al
mov eax, 0x3937
mov ecx, 0x2b0
cmovne eax, ecx
xor eax, dword [rbp - 0x38]
mov cl, 1
mov qword [rbp + 0x58], rcx
jmp 0x18003ed4d
cmp eax, 0x5068
je 0x180040204
cmp eax, 0x5494
jne 0x18003ed4d
mov ecx, dword [0x1800e4c30]
mov eax, dword [0x1800e4c34]
cmp eax, 9
setg r8b
cmp eax, 0xa
setl dl
lea eax, [rcx + 1]
imul eax, ecx
and eax, 1
sete cl
mov ebx, edx
and bl, cl
and r8b, cl
xor cl, dl
xor cl, r8b
or al, dl
xor al, cl
xor al, 1
or al, bl
cmp byte [rbp + 0x70], 0
lea rbx, [0x18005a2b8]
jne 0x18003fa64
xor ecx, ecx
movsxd rdx, dword [rcx + rbx]
xor dword [rbp + rdx*4 - 0x78], 0x5497
add rcx, 4
cmp rcx, 8
jne 0x18003fa4e
test al, al
mov eax, 0x45a0
mov ecx, 0x6924
cmovne eax, ecx
xor eax, dword [rbp - 0x20]
mov cl, 1
mov qword [rbp + 0x70], rcx
lea rbx, [0x18005a2a0]
jmp 0x18003fea2
cmp eax, 0x34c1
je 0x18004026d
cmp eax, 0x3711
jne 0x18003ed4d
mov eax, dword [0x1800e4c54]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x1ae0
mov ecx, 0x1158
cmove eax, ecx
cmp dword [0x1800e4c50], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 8]
jmp 0x18003ed4d
cmp eax, 0x6e3f
je 0x1800403ae
cmp eax, 0x70c7
jne 0x18003ed4d
mov rax, qword [rbp + 0x168]
mov eax, dword [rax]
mov rcx, qword [rbp + 0x100]
mov qword [rcx], rax
mov rax, qword [rbp + 0x110]
cmp dword [rax], 0
mov eax, 0xcb17b6b2
mov ecx, 0x18a52bd6
cmove eax, ecx
mov rcx, qword [rbp + 0x178]
mov dword [rcx], eax
mov eax, dword [rbp + 0x18]
mov ecx, 0x2041
xor eax, ecx
jmp 0x18003ed4d
mov rax, qword [rbp + 0x108]
mov rdx, qword [rax]
mov rax, qword [rbp + 0x170]
mov rcx, qword [rax]
mov rax, qword [rbp + 0x100]
mov r8, qword [rax]
sub rsp, 0x20
call fcn.18000ebdf
add rsp, 0x20
mov rax, qword [rbp + 0x128]
mov rcx, qword [rbp + 0x168]
mov r8d, dword [rcx]
mov rcx, qword [rbp + 0x170]
mov rdx, qword [rcx]
sub rsp, 0x20
mov rcx, 0xffffffffffffffff
call qword [rax]
add rsp, 0x20
mov rax, qword [rbp + 0x168]
mov eax, dword [rax]
mov rcx, qword [rbp + 0x150]
mov qword [rcx], rax
mov rax, qword [rbp + 0x170]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x148]
mov qword [rcx], rax
mov rax, qword [rbp + 0x138]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x158]
mov r9d, dword [rcx]
mov rdx, qword [rbp + 0x148]
mov rcx, qword [rbp + 0x158]
mov r8, qword [rbp + 0x150]
sub rsp, 0x30
mov qword [rsp + 0x20], rcx
mov rcx, 0xffffffffffffffff
call rax
lea r8, [0x180059ed0]
lea rsi, [0x18005a2cc]
lea r11, [0x18005a288]
lea r10, [0x18005a280]
lea r9, [0x18005a278]
add rsp, 0x30
mov rax, qword [rbp + 0x118]
mov ecx, 1
mov dword [rax], ecx
mov rax, qword [rbp + 0xe8]
mov dword [rax], ecx
mov rax, qword [rbp + 0x178]
mov dword [rax], 0xeee2ca6
mov eax, dword [0x1800e4c74]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x1137
mov ecx, 0x7da3
cmove eax, ecx
cmp dword [0x1800e4c70], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x1c]
jmp 0x18003ed4d
mov eax, dword [0x1800e4ce0]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x2862
mov ecx, 0x999
cmove eax, ecx
cmp dword [0x1800e4ce4], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x5c]
jmp 0x18003ed4d
mov rax, qword [rbp + 0x178]
mov dword [rax], 0xd4bd2d23
mov rax, qword [rbp + 0x108]
mov rcx, qword [rbp + 0xc8]
mov qword [rax], rcx
mov eax, dword [rbp + 0x1c]
mov ecx, 0x757d
xor eax, ecx
jmp 0x18003ed4d
mov rax, qword [rbp + 0x118]
mov dword [rax], 0
mov rax, qword [rbp + 0xe8]
mov dword [rax], 1
mov rax, qword [rbp + 0x178]
mov dword [rax], 0xeee2ca6
mov eax, dword [rbp + 0x14]
mov ecx, 0x5c1
xor eax, ecx
jmp 0x18003ed4d
mov rax, qword [rbp + 0x168]
mov eax, dword [rdi]
mov rcx, qword [rbp + 0x168]
mov dword [rcx], eax
mov rax, qword [rbp + 0x158]
mov rax, qword [rbp + 0x158]
mov dword [rax], 0
mov rax, qword [rbp + 0x150]
mov rax, qword [rbp + 0x168]
mov eax, dword [rax]
mov rcx, qword [rbp + 0x150]
mov qword [rcx], rax
mov rax, qword [rbp + 0x148]
mov rax, qword [rbp + 0x170]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x148]
mov qword [rcx], rax
mov rax, qword [rbp + 0x138]
mov rax, qword [rax]
mov rdx, qword [rbp + 0x148]
mov rcx, qword [rbp + 0x158]
mov r8, qword [rbp + 0x150]
sub rsp, 0x30
mov qword [rsp + 0x20], rcx
mov rcx, 0xffffffffffffffff
mov r9d, 0x40
call rax
add rsp, 0x30
test eax, eax
mov eax, 0x4cb2acb5
mov ecx, 0xcf493c61
cmove eax, ecx
mov rcx, qword [rbp + 0x178]
mov dword [rcx], eax
mov eax, dword [rbp + 0x10]
mov ecx, 0x6007
jmp 0x18003fe8b
mov rax, qword [rbp + 0x108]
mov rdx, qword [rax]
mov rax, qword [rbp + 0x170]
mov rcx, qword [rax]
mov rax, qword [rbp + 0x100]
mov r8, qword [rax]
sub rsp, 0x20
call fcn.18000ebdf
add rsp, 0x20
mov rax, qword [rbp + 0x128]
mov rcx, qword [rbp + 0x168]
mov r8d, dword [rcx]
mov rcx, qword [rbp + 0x170]
mov rdx, qword [rcx]
sub rsp, 0x20
mov rcx, 0xffffffffffffffff
call qword [rax]
add rsp, 0x20
mov rax, qword [rbp + 0x168]
mov eax, dword [rax]
mov rcx, qword [rbp + 0x150]
mov qword [rcx], rax
mov rax, qword [rbp + 0x170]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x148]
mov qword [rcx], rax
mov rax, qword [rbp + 0x138]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x158]
mov r9d, dword [rcx]
mov rdx, qword [rbp + 0x148]
mov rcx, qword [rbp + 0x158]
mov r8, qword [rbp + 0x150]
sub rsp, 0x30
mov qword [rsp + 0x20], rcx
mov rcx, 0xffffffffffffffff
call rax
add rsp, 0x30
mov rax, qword [rbp + 0x118]
mov ecx, 1
mov dword [rax], ecx
mov rax, qword [rbp + 0xe8]
mov dword [rax], ecx
mov rax, qword [rbp + 0x178]
mov dword [rax], 0xeee2ca6
mov eax, dword [rbp + 0x24]
mov ecx, 0x3db3
xor eax, ecx
lea r9, [0x18005a278]
lea r10, [0x18005a280]
lea r11, [0x18005a288]
lea rsi, [0x18005a2cc]
lea r8, [0x180059ed0]
jmp 0x18003ed4d
mov eax, dword [rbp + 0x2c]
mov ecx, 0x7621
xor eax, ecx
jmp 0x18003ed4d
mov rax, qword [rbp + 0x178]
mov dword [rax], 0xd4bd2d23
mov rax, qword [rbp + 0x108]
mov rcx, qword [rbp + 0xc8]
mov qword [rax], rcx
mov eax, dword [0x1800e4d44]
mov rsi, rdi
mov edi, dword [0x1800e4d40]
cmp edi, 0xa
setl dl
lea ebx, [rax + 1]
imul ebx, eax
and ebx, 1
sete al
mov ecx, ebx
and cl, dl
xor cl, dl
xor cl, al
or dl, al
xor dl, cl
xor dl, al
mov ecx, 0x411
mov edx, 0x2281
cmovne ecx, edx
test ebx, ebx
lea rbx, [0x18005a2a0]
mov eax, ecx
cmove eax, edx
cmp edi, 0xa
mov rdi, rsi
lea rsi, [0x18005a2cc]
cmovge eax, ecx
xor eax, dword [rbp - 0x2c]
jmp 0x18003ed4d
mov rax, qword [rbp + 0xf8]
cmp byte [rax], 0
mov eax, 0xe9d9a7d1
mov ecx, 0x8939bedb
cmovne eax, ecx
mov rcx, qword [rbp + 0x178]
mov dword [rcx], eax
mov eax, dword [rbp + 8]
mov ecx, 0x13fe
xor eax, ecx
jmp 0x18003ed4d
mov rax, qword [rbp + 0xf8]
cmp byte [rax], 0
mov eax, 0xe9d9a7d1
mov ecx, 0x8939bedb
cmovne eax, ecx
mov rcx, qword [rbp + 0x178]
mov dword [rcx], eax
mov eax, dword [0x1800e4c84]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x5abe
mov ecx, 0x1e6
cmove eax, ecx
cmp dword [0x1800e4c80], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x54]
jmp 0x18003ed4d
mov eax, dword [rbp + 0xe0]
cmp byte [rbp + 0x98], 0
jne 0x18003fff2
xor ecx, ecx
lea rdx, [0x18005a1f0]
movsxd rdx, dword [rcx + rdx]
xor dword [rbp + rdx*4 - 0x78], 0x2e15
add rcx, 4
cmp rcx, 0x88
jne 0x18003ffd2
mov cl, 1
mov qword [rbp + 0x98], rcx
cmp eax, 0xd4bd2d22
jle 0x1800403f9
cmp eax, 0xeee2ca5
jle 0x1800404c8
cmp eax, 0xeee2ca6
je 0x18003f3a0
cmp eax, 0x18a52bd6
je 0x18004008e
cmp eax, 0x4cb2acb5
jne 0x18003f85a
cmp dword [0x1800e4cfc], 0xa
mov eax, dword [0x1800e4cf8]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x50], 0
jne 0x180040071
xor ecx, ecx
lea rdx, [0x18005a298]
movsxd rdx, dword [rcx + rdx]
xor dword [rbp + rdx*4 - 0x78], 0x5039
add rcx, 4
cmp rcx, 8
jne 0x180040054
test al, al
mov eax, 0x231f
mov ecx, 0x55f8
cmovne eax, ecx
xor eax, dword [rbp - 0x40]
mov cl, 1
mov qword [rbp + 0x50], rcx
jmp 0x18003ed4d
cmp dword [0x1800e4c1c], 0xa
mov eax, dword [0x1800e4c18]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x68], 0
jne 0x1800400ca
xor ecx, ecx
movsxd rdx, dword [rcx + r14]
xor dword [rbp + rdx*4 - 0x78], 0x51f0
add rcx, 4
cmp rcx, 8
jne 0x1800400b4
test al, al
mov eax, 0x8d1
mov ecx, 0x4dbe
cmovne eax, ecx
xor eax, dword [rbp - 0x28]
mov cl, 1
mov qword [rbp + 0x68], rcx
jmp 0x18003ed4d
mov rax, qword [rbp + 0x118]
mov dword [rax], 0
mov rax, qword [rbp + 0xe8]
mov dword [rax], 1
mov rax, qword [rbp + 0x178]
mov dword [rax], 0xeee2ca6
mov eax, dword [0x1800e4d3c]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x7326
mov ecx, 0x790d
cmove eax, ecx
cmp dword [0x1800e4d38], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x3c]
jmp 0x18003ed4d
mov rax, qword [rbp + 0x178]
mov dword [rax], 0xd4bd2d23
mov rax, qword [rbp + 0x108]
mov rcx, qword [rbp + 0xd0]
mov qword [rax], rcx
mov eax, dword [rbp + 0x20]
mov ecx, 0x1c4e
xor eax, ecx
jmp 0x18003ed4d
mov rax, qword [rbp + 0x148]
mov rax, qword [rbp + 0x150]
mov rax, qword [rbp + 0x158]
mov rax, qword [rbp + 0x168]
mov rax, qword [rbp + 0x138]
mov rax, qword [rbp + 0x128]
mov rax, qword [rbp + 0x140]
mov rax, qword [rbp + 0x118]
mov eax, dword [rax]
mov dword [rbp + 0xdc], eax
mov eax, dword [rbp + 0x28]
mov ecx, 0x6d39
xor eax, ecx
jmp 0x18003ed4d
mov rax, qword [rbp + 0x178]
mov dword [rax], 0xd4bd2d23
mov rax, qword [rbp + 0x108]
mov rcx, qword [rbp + 0xd0]
mov qword [rax], rcx
mov eax, dword [0x1800e4ccc]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x5921
mov ecx, 0x78c4
cmove eax, ecx
cmp dword [0x1800e4cc8], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x24]
jmp 0x18003ed4d
cmp dword [0x1800e4ca4], 0xa
mov eax, dword [0x1800e4ca0]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0xa8], 0
jne 0x18004024d
xor ecx, ecx
lea rdx, [0x18005a0c0]
movsxd rdx, dword [rcx + rdx]
xor dword [rbp + rdx*4 - 0x78], 0x985
add rcx, 4
cmp rcx, 0x94
jne 0x18004022d
test al, al
mov eax, 0x5ebc
mov ecx, 0x6343
cmovne eax, ecx
xor eax, dword [rbp - 0x6c]
mov cl, 1
mov qword [rbp + 0xa8], rcx
jmp 0x18003ed4d
mov dword [rdi], 0x10
mov rax, qword [rbp + 0x170]
mov rdx, qword [rax]
sub rsp, 0x20
mov r8d, 0x10
mov rcx, qword [rbp + 0xd0]
call fcn.18000ebdf
add rsp, 0x20
mov r8d, dword [rdi]
mov rax, qword [rbp + 0x170]
mov rdx, qword [rax]
sub rsp, 0x20
mov rbx, qword [rbp + 0xc8]
mov rcx, rbx
call fcn.18000ebdf
add rsp, 0x20
mov rax, qword [rbp + 0x130]
mov rax, qword [rbp + 0x130]
movabs rcx, 0xe2ff410000000000
mov qword [rax + 5], rcx
mov qword [rax], 0xba49
mov rax, qword [rbp + 0x120]
mov rax, qword [rbp + 0xf0]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x120]
mov qword [rcx], rax
mov rdx, qword [rbp + 0x120]
mov rcx, qword [rbp + 0x130]
add rcx, 2
sub rsp, 0x20
mov r8d, 8
call fcn.18000ebdf
add rsp, 0x20
mov rdx, qword [rbp + 0x130]
sub rsp, 0x20
mov r8d, 0xd
mov rcx, rbx
lea rbx, [0x18005a2a0]
call fcn.18000ebdf
lea r8, [0x180059ed0]
lea rsi, [0x18005a2cc]
lea r11, [0x18005a288]
lea r10, [0x18005a280]
lea r9, [0x18005a278]
add rsp, 0x20
mov rax, qword [rbp + 0x120]
mov rax, qword [rbp + 0x130]
mov rax, qword [rbp + 0x178]
mov dword [rax], 0xe9d9a7d1
mov eax, dword [0x1800e4c10]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x616b
mov ecx, 0x3fe9
cmove eax, ecx
cmp dword [0x1800e4c14], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x4c]
jmp 0x18003ed4d
mov al, byte [rbp + 0x187]
cmp byte [rbp + 0x90], 0
jne 0x1800403d4
xor eax, eax
movsxd rcx, dword [rax + r8]
xor byte [rbp + rcx*4 - 0x78], 0x26
add rax, 4
cmp rax, 0xa0
jne 0x1800403bf
cmp byte [rbp + 0x167], 0
mov eax, 0x2dba
mov ecx, 0x654a
cmovne eax, ecx
xor eax, dword [rbp - 0x78]
mov cl, 1
mov qword [rbp + 0x90], rcx
jmp 0x18003ed4d
cmp eax, 0xcb17b6b1
jg 0x180040537
cmp eax, 0x8939bedb
je 0x18004046f
cmp eax, 0xa2fc8295
jne 0x18003f85a
cmp dword [0x1800e4c9c], 0xa
mov eax, dword [0x1800e4c98]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x38], 0
jne 0x180040452
xor ecx, ecx
movsxd rdx, dword [rcx + r10]
xor dword [rbp + rdx*4 - 0x78], 0x28d2
add rcx, 4
cmp rcx, 8
jne 0x18004043c
test al, al
mov eax, 0x726c
mov ecx, 0x3b2c
cmovne eax, ecx
xor eax, dword [rbp - 0x58]
mov cl, 1
mov qword [rbp + 0x38], rcx
jmp 0x18003ed4d
cmp dword [0x1800e4c8c], 0xa
mov eax, dword [0x1800e4c88]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x40], 0
jne 0x1800404ab
xor ecx, ecx
movsxd rdx, dword [rcx + r11]
xor dword [rbp + rdx*4 - 0x78], 0x16dd
add rcx, 4
cmp rcx, 8
jne 0x180040495
test al, al
mov eax, 0x77b6
mov ecx, 0x7d31
cmovne eax, ecx
xor eax, dword [rbp - 0x50]
mov cl, 1
mov qword [rbp + 0x40], rcx
jmp 0x18003ed4d
cmp eax, 0xd4bd2d23
je 0x18003fa06
cmp eax, 0xe9d9a7d1
jne 0x18003f85a
cmp dword [0x1800e4cf4], 0xa
mov eax, dword [0x1800e4cf0]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x48], 0
jne 0x18004051a
xor ecx, ecx
movsxd rdx, dword [rcx + r12]
xor dword [rbp + rdx*4 - 0x78], 0x476
add rcx, 4
cmp rcx, 8
jne 0x180040504
test al, al
mov eax, 0x434b
mov ecx, 0x6471
cmovne eax, ecx
xor eax, dword [rbp - 0x48]
mov cl, 1
mov qword [rbp + 0x48], rcx
jmp 0x18003ed4d
cmp eax, 0xcb17b6b2
je 0x18004054e
cmp eax, 0xcf493c61
je 0x18003f997
jmp 0x18003f85a
cmp dword [0x1800e4c24], 0xa
mov eax, dword [0x1800e4c20]
setl cl
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x60], 0
jne 0x18004058a
xor ecx, ecx
movsxd rdx, dword [rcx + r13]
xor dword [rbp + rdx*4 - 0x78], 0xbb5
add rcx, 4
cmp rcx, 8
jne 0x180040574
test al, al
mov eax, 0xfa4
mov ecx, 0x7ec8
cmovne eax, ecx
xor eax, dword [rbp - 0x30]
mov cl, 1
mov qword [rbp + 0x60], rcx
jmp 0x18003ed4d
cmp eax, 0x15de
jne 0x18003ed4d
jmp 0x18004060c
cmp dword [0x1800e4cac], 0xa
mov eax, dword [0x1800e4ca8]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0xc0], 0
jne 0x1800405f3
xor ecx, ecx
movsxd rdx, dword [rcx + rsi]
xor dword [rbp + rdx*4 - 0x78], 0x8c0
add rcx, 4
cmp rcx, 8
jne 0x1800405dd
test al, al
mov eax, 0x1220
mov ecx, 0x7ee1
cmovne eax, ecx
xor eax, dword [rbp - 0xc]
mov cl, 1
jmp 0x18003ed46
mov eax, dword [rbp + 0xdc]
lea rsp, [rbp + 0x188]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret