Function at 0x180030c20
Capabilities:
Validate payment card number using luhn algorithm

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x960
mov qword [rsp + 0xf8], 0xfffffffffffffffe
mov rax, qword [0x1800523d0]
xor rax, rsp
mov qword [rsp + 0x950], rax
mov rdi, r9
mov qword [rsp + 0x58], r9
mov r12, r8
mov qword [rsp + 0x80], r8
mov qword [rsp + 0x78], rdx
mov rbx, rcx
mov r15, qword [rsp + 0x9c0]
mov qword [rsp + 0x68], r15
xor esi, esi
mov r13d, esi
mov dword [rsp + 0x8b0], esi
mov dword [rsp + 0x60], esi
xor ecx, ecx
call qword [0x18003e430]
mov rcx, rax
call qword [fcn.18003e480]
xor edx, edx
mov r8d, 0x174
mov rcx, r15
call fcn.1800385ca
mov eax, dword [0x1800428e4]
mov dword [r15 + 0x128], eax
movzx eax, word [0x1800428e8]
mov word [r15 + 0x12c], ax
or r14, 0xffffffffffffffff
mov dword [r15 + 0x148], r14d
mov byte [r15 + 0x14c], 1
mov qword [0x1800526d0], rsi
xor r8d, r8d
lea rdx, [0x180040ce8]
lea rcx, [0x1800526d8]
call fcn.18000da50
mov qword [rsp + 0x338], select
mov qword [rsp + 0x330], rsi
mov byte [rsp + 0x320], sil
cmp byte [rbx], sil
jne 0x180030d1c
mov r8d, esi
jmp 0x180030d29
mov r8, r14
nop
inc r8
cmp byte [rbx + r8], sil
jne 0x180030d20
mov rdx, rbx
lea rcx, [rsp + 0x320]
call fcn.18000da50
nop
mov qword [rsp + 0x2f8], select
mov qword [rsp + 0x2f0], rsi
mov byte [rsp + 0x2e0], 0
mov r8d, 2
lea rdx, [0x180042588]
lea rcx, [rsp + 0x2e0]
call fcn.18000da50
nop
lea r8, [rsp + 0x2e0]
lea rdx, [rsp + 0x320]
lea rcx, [rsp + 0x300]
call fcn.18002fd90
mov rbx, rax
lea rax, [rsp + 0x320]
cmp rax, rbx
je 0x180030de2
cmp qword [rsp + 0x338], 0x10
jb 0x180030db6
mov rcx, qword [rsp + 0x320]
call fcn.180038426
mov qword [rsp + 0x338], select
mov qword [rsp + 0x330], rsi
mov byte [rsp + 0x320], 0
mov rdx, rbx
lea rcx, [rsp + 0x320]
call fcn.18000d090
cmp qword [rsp + 0x318], 0x10
jb 0x180030dfa
mov rcx, qword [rsp + 0x300]
call fcn.180038426
mov qword [rsp + 0x318], select
mov qword [rsp + 0x310], rsi
mov byte [rsp + 0x300], 0
cmp qword [rsp + 0x2f8], 0x10
jb 0x180030e2e
mov rcx, qword [rsp + 0x2e0]
call fcn.180038426
lea rdx, [rsp + 0x320]
lea rcx, [rsp + 0x4a8]
call fcn.18002fe40
nop
mov r9d, 7
xor r8d, r8d
lea rdx, [0x180042b38]
lea rcx, [rsp + 0x4a8]
call fcn.18000e800
mov rbx, rax
mov qword [rsp + 0x48], rax
test eax, eax
js 0x180033914
cmp byte [rsp + 0x9d0], 0
jne 0x180033914
xor edx, edx
mov r8d, 0x80
lea rcx, [rsp + 0x8d0]
call fcn.1800385ca
movsxd r9, ebx
xor r8d, r8d
lea rdx, [rsp + 0x2a0]
lea rcx, [rsp + 0x320]
call fcn.18000fe00
nop
lea rax, [rsp + 0x300]
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x360]
mov qword [rsp + 0x8c0], rax
mov qword [rsp + 0x318], select
mov qword [rsp + 0x310], rsi
mov byte [rsp + 0x300], 0
xor r8d, r8d
lea rdx, [0x180040ce8]
lea rcx, [rsp + 0x300]
call fcn.18000da50
nop
mov qword [rsp + 0x378], select
mov qword [rsp + 0x370], rsi
mov byte [rsp + 0x360], 0
mov r8d, 0xc
lea rdx, [0x180042b40]
lea rcx, [rsp + 0x360]
call fcn.18000da50
nop
mov qword [rsp + 0x400], 0xf
mov qword [rsp + 0x3f8], rsi
mov byte [rsp + 0x3e8], 0
mov r9, r14
xor r8d, r8d
lea rdx, [rsp + 0x2a0]
lea rcx, [rsp + 0x3e8]
call fcn.18000d920
nop
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
lea r9, [rsp + 0x300]
lea r8, [rsp + 0x360]
lea rdx, [rsp + 0x3e8]
lea rcx, [rsp + 0x468]
call fcn.18002f450
mov rbx, rax
lea rax, [rsp + 0x2a0]
cmp rax, rbx
je 0x180030ff3
cmp qword [rsp + 0x2b8], 0x10
jb 0x180030fc7
mov rcx, qword [rsp + 0x2a0]
call fcn.180038426
mov qword [rsp + 0x2b8], select
mov qword [rsp + 0x2b0], rsi
mov byte [rsp + 0x2a0], 0
mov rdx, rbx
lea rcx, [rsp + 0x2a0]
call fcn.18000d090
cmp qword [rsp + 0x480], 0x10
jb 0x18003100b
mov rcx, qword [rsp + 0x468]
call fcn.180038426
mov qword [rsp + 0x1d8], select
mov qword [rsp + 0x1d0], rsi
mov byte [rsp + 0x1c0], 0
mov rax, qword [rsp + 0x78]
cmp byte [rax], 0
jne 0x180031036
mov r8, rsi
jmp 0x18003104a
mov r8, r14
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x180031040
mov rdx, rax
lea rcx, [rsp + 0x1c0]
call fcn.18000da50
nop
lea rax, [rsp + 0x300]
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x360]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x318], select
mov qword [rsp + 0x310], rsi
mov byte [rsp + 0x300], 0
xor r8d, r8d
lea rdx, [0x180040ce8]
lea rcx, [rsp + 0x300]
call fcn.18000da50
nop
mov qword [rsp + 0x378], select
mov qword [rsp + 0x370], rsi
mov byte [rsp + 0x360], 0
mov r8d, 0xc
lea rdx, [0x180042b40]
lea rcx, [rsp + 0x360]
call fcn.18000da50
nop
mov qword [rsp + 0x400], 0xf
mov qword [rsp + 0x3f8], rsi
mov byte [rsp + 0x3e8], 0
mov r9, r14
xor r8d, r8d
lea rdx, [rsp + 0x1c0]
lea rcx, [rsp + 0x3e8]
call fcn.18000d920
nop
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
lea r9, [rsp + 0x300]
lea r8, [rsp + 0x360]
lea rdx, [rsp + 0x3e8]
lea rcx, [rsp + 0x468]
call fcn.18002f450
mov rbx, rax
lea rax, [rsp + 0x1c0]
cmp rax, rbx
je 0x18003119b
cmp qword [rsp + 0x1d8], 0x10
jb 0x18003116f
mov rcx, qword [rsp + 0x1c0]
call fcn.180038426
mov qword [rsp + 0x1d8], select
mov qword [rsp + 0x1d0], rsi
mov byte [rsp + 0x1c0], 0
mov rdx, rbx
lea rcx, [rsp + 0x1c0]
call fcn.18000d090
cmp qword [rsp + 0x480], 0x10
jb 0x1800311b3
mov rcx, qword [rsp + 0x468]
call fcn.180038426
lea rdx, [rsp + 0x1c0]
mov r10, qword [rsp + 0x1c0]
mov r9, qword [rsp + 0x1d8]
cmp r9, 0x10
cmovae rdx, r10
lea rcx, [rsp + 0x2a0]
cmp qword [rsp + 0x2b8], 0x10
cmovae rcx, qword [rsp + 0x2a0]
mov rbx, qword [rsp + 0x1d0]
mov r8, rbx
mov r13, qword [rsp + 0x2b0]
cmp r13, rbx
cmovb r8, r13
test r8, r8
jne 0x180031210
mov eax, esi
jmp 0x180031225
call fcn.1800385be
mov r9, qword [rsp + 0x1d8]
mov r10, qword [rsp + 0x1c0]
cdqe
test rax, rax
jne 0x18003123e
cmp r13, rbx
jae 0x180031236
mov eax, r14d
jmp 0x18003123e
mov eax, esi
cmp r13, rbx
setne al
test eax, eax
sete al
test al, al
sete al
test al, al
je 0x180031329
mov eax, esi
test rbx, rbx
setne al
test eax, eax
sete al
test al, al
sete al
test al, al
je 0x180031329
cmp dword [rsp + 0x48], 0
je 0x180031329
cmp r9, 0x10
jb 0x180031283
mov rcx, r10
call fcn.180038426
mov qword [rsp + 0x1d8], select
mov qword [rsp + 0x1d0], rsi
mov byte [rsp + 0x1c0], 0
cmp qword [rsp + 0x2b8], 0x10
jb 0x1800312b7
mov rcx, qword [rsp + 0x2a0]
call fcn.180038426
mov qword [rsp + 0x2b8], select
mov qword [rsp + 0x2b0], rsi
mov byte [rsp + 0x2a0], 0
cmp qword [rsp + 0x4c0], 0x10
jb 0x1800312eb
mov rcx, qword [rsp + 0x4a8]
call fcn.180038426
mov qword [rsp + 0x4c0], 0xf
mov qword [rsp + 0x4b8], rsi
mov byte [rsp + 0x4a8], 0
cmp qword [rsp + 0x338], 0x10
jb 0x18003131f
mov rcx, qword [rsp + 0x320]
call fcn.180038426
mov eax, 0xfffffffa
jmp 0x180035ca5
mov eax, esi
test rbx, rbx
setne al
test eax, eax
sete al
test al, al
sete al
test al, al
je 0x18003135a
mov r9, r14
xor r8d, r8d
lea rdx, [rsp + 0x1c0]
lea rcx, [rsp + 0x2a0]
call fcn.18000d920
cmp byte [rsp + 0x9c8], 0
je 0x18003137e
mov r8d, 0xc
lea rdx, [0x180042b40]
lea rcx, [rsp + 0x2a0]
call fcn.18000d6c0
lea rcx, [rsp + 0x2a0]
cmp qword [rsp + 0x2b8], 0x10
cmovae rcx, qword [rsp + 0x2a0]
lea rax, [rsp + 0x8d0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, rdi
mov rdx, r12
call fcn.18001ddf0
test eax, eax
js 0x1800337d6
mov qword [rsp + 0x2f8], select
mov qword [rsp + 0x2f0], rsi
mov byte [rsp + 0x2e0], 0
cmp byte [rsp + 0x8d0], 0
jne 0x1800313e6
mov r8, rsi
jmp 0x1800313fb
lea rax, [rsp + 0x8d0]
mov r8, r14
inc r8
cmp byte [rax + r8], 0
jne 0x1800313f1
lea rdx, [rsp + 0x8d0]
lea rcx, [rsp + 0x2e0]
call fcn.18000da50
cmp qword [rsp + 0x338], 0x10
jb 0x180031428
mov rcx, qword [rsp + 0x320]
call fcn.180038426
mov qword [rsp + 0x338], select
mov qword [rsp + 0x330], rsi
mov byte [rsp + 0x320], 0
lea rdx, [rsp + 0x2e0]
lea rcx, [rsp + 0x320]
call fcn.18000d090
cmp qword [rsp + 0x2f8], 0x10
jb 0x180031471
mov rcx, qword [rsp + 0x2e0]
call fcn.180038426
mov qword [rsp + 0x3e0], select
mov qword [rsp + 0x3d8], rsi
mov byte [rsp + 0x3c8], 0
mov r9, r14
xor r8d, r8d
lea rdx, [rsp + 0x320]
lea rcx, [rsp + 0x3c8]
call fcn.18000d920
nop
mov r12, rdi
mov qword [rsp + 0x238], select
mov qword [rsp + 0x230], rsi
mov byte [rsp + 0x220], 0
mov r9, r14
xor r8d, r8d
lea rdx, [rsp + 0x3c8]
lea rcx, [rsp + 0x220]
call fcn.18000d920
nop
mov qword [rsp + 0x1f8], select
mov qword [rsp + 0x1f0], rsi
mov byte [rsp + 0x1e0], 0
mov qword [rsp + 0x2d8], select
mov qword [rsp + 0x2d0], rsi
mov byte [rsp + 0x2c0], 0
mov qword [rsp + 0x298], select
mov qword [rsp + 0x290], rsi
mov byte [rsp + 0x280], 0
mov qword [rsp + 0x258], select
mov qword [rsp + 0x250], rsi
mov byte [rsp + 0x240], 0
mov r9, r14
xor r8d, r8d
lea rdx, [rsp + 0x2c0]
lea rcx, [rsp + 0x3c8]
call fcn.18000d920
lea rax, [rsp + 0x220]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x240]
lea r8, [rsp + 0x280]
lea rdx, [rsp + 0x2c0]
lea rcx, [rsp + 0x1e0]
call fcn.18001c840
test al, al
jne 0x180031699
cmp qword [rsp + 0x258], 0x10
jb 0x1800315c1
mov rcx, qword [rsp + 0x240]
call fcn.180038426
mov byte [rsp + 0x240], 0
mov qword [rsp + 0x250], rsi
mov qword [rsp + 0x258], select
cmp qword [rsp + 0x298], 0x10
jb 0x1800315f5
mov rcx, qword [rsp + 0x280]
call fcn.180038426
mov byte [rsp + 0x280], 0
mov qword [rsp + 0x290], rsi
mov qword [rsp + 0x298], select
cmp qword [rsp + 0x2d8], 0x10
jb 0x180031629
mov rcx, qword [rsp + 0x2c0]
call fcn.180038426
mov byte [rsp + 0x2c0], 0
mov qword [rsp + 0x2d0], rsi
mov qword [rsp + 0x2d8], select
cmp qword [rsp + 0x1f8], 0x10
jb 0x18003165d
mov rcx, qword [rsp + 0x1e0]
call fcn.180038426
mov qword [rsp + 0x1f8], select
mov qword [rsp + 0x1f0], rsi
mov byte [rsp + 0x1e0], 0
cmp qword [rsp + 0x238], 0x10
jb 0x180031691
mov rcx, qword [rsp + 0x220]
call fcn.180038426
mov ebx, r14d
jmp 0x180032873
mov ebx, dword [rsp + 0x250]
cmp ebx, 0x13
jl 0x1800315a9
mov r13d, esi
mov qword [rsp + 0x218], select
mov qword [rsp + 0x210], rsi
mov byte [rsp + 0x200], r13b
xor r8d, r8d
lea rdx, [0x180040ce8]
lea rcx, [rsp + 0x200]
call fcn.18000da50
nop
lea rax, [rsp + 0x240]
mov rdx, qword [rsp + 0x240]
mov rcx, qword [rsp + 0x258]
cmp rcx, 0x10
cmovae rax, rdx
cmp byte [rax + 0xf], 0x30
jl 0x18003180f
lea rax, [rsp + 0x240]
cmp rcx, 0x10
cmovae rax, rdx
cmp byte [rax + 0xf], 0x39
jg 0x18003180f
mov r13d, 6
cmp rdi, 0x989680
jl 0x18003274c
mov rdx, rdi
lea rcx, [rsp + 0x3a8]
call fcn.180026110
nop
lea r9d, [r13 - 4]
xor r8d, r8d
lea rdx, [rsp + 0x568]
lea rcx, [rsp + 0x3a8]
call fcn.18000fe00
mov rdx, rax
lea rcx, [rsp + 0x200]
call fcn.18000bd70
cmp qword [rsp + 0x580], 0x10
jb 0x18003178c
mov rcx, qword [rsp + 0x568]
call fcn.180038426
mov r9, r14
mov r8d, 2
lea rdx, [rsp + 0x568]
lea rcx, [rsp + 0x3a8]
call fcn.18000fe00
mov rdx, rax
lea rcx, [rsp + 0x3a8]
call fcn.18000bd70
cmp qword [rsp + 0x580], 0x10
jb 0x1800317d2
mov rcx, qword [rsp + 0x568]
call fcn.180038426
lea rcx, [rsp + 0x3a8]
cmp qword [rsp + 0x3c0], 0x10
cmovae rcx, qword [rsp + 0x3a8]
call qword [0x18003e498]
movsxd r12, eax
cmp qword [rsp + 0x3c0], 0x10
jb 0x180031822
mov rcx, qword [rsp + 0x3a8]
call fcn.180038426
jmp 0x180031822
lea rax, [rdi - 0x186a0]
cmp rax, 0x970fdf
ja 0x18003274c
neg r12
sub ebx, r13d
sub ebx, 0xf
movsxd r9, ebx
lea eax, [r13 + 0xf]
movsxd r8, eax
lea rdx, [rsp + 0x260]
lea rcx, [rsp + 0x240]
call fcn.18000fe00
nop
mov qword [rsp + 0x3c0], select
mov qword [rsp + 0x3b8], rsi
mov byte [rsp + 0x3a8], 0
mov r9, r14
xor r8d, r8d
lea rdx, [rsp + 0x260]
lea rcx, [rsp + 0x3a8]
call fcn.18000d920
lea rcx, [rsp + 0x3a8]
call fcn.180014700
test al, al
jne 0x180031990
cmp qword [rsp + 0x278], 0x10
jb 0x1800318af
mov rcx, qword [rsp + 0x260]
call fcn.180038426
mov qword [rsp + 0x278], select
mov qword [rsp + 0x270], rsi
mov byte [rsp + 0x260], 0
cmp qword [rsp + 0x218], 0x10
jb 0x1800318e3
mov rcx, qword [rsp + 0x200]
call fcn.180038426
mov qword [rsp + 0x218], select
mov qword [rsp + 0x210], rsi
mov byte [rsp + 0x200], 0
mov rbx, qword [rsp + 0x258]
cmp rbx, 0x10
jb 0x180031933
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x240]
call fcn.18000d290
mov rcx, rax
lea r8, [rbx + 1]
mov rdx, qword [rsp + 0x240]
call fcn.18000e5a0
mov qword [rsp + 0x258], select
xor edx, edx
lea rcx, [rsp + 0x240]
call fcn.18000d270
nop
lea rcx, [rsp + 0x280]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x2c0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x1e0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x220]
call fcn.18000bca0
mov ebx, 0xfffffff7
jmp 0x180032873
lea eax, [r13 + 0xe]
movsxd r8, eax
mov r9d, 1
lea rdx, [rsp + 0x300]
lea rcx, [rsp + 0x240]
call fcn.18000fe00
nop
lea eax, [r13 + 0xc]
movsxd rbx, eax
mov r9d, 2
mov r8, rbx
lea rdx, [rsp + 0x360]
lea rcx, [rsp + 0x240]
call fcn.18000fe00
nop
mov r9, rbx
xor r8d, r8d
lea rdx, [rsp + 0x568]
lea rcx, [rsp + 0x240]
call fcn.18000fe00
mov rdx, rax
lea rcx, [rsp + 0x240]
call fcn.18000bd70
lea rcx, [rsp + 0x568]
call fcn.18000bca0
lea rax, [rsp + 0x568]
mov qword [rsp + 0x68], rax
lea rdx, [rsp + 0x260]
lea rcx, [rsp + 0x568]
call fcn.18000bbe0
mov rbx, rax
lea r8, [rsp + 0x2c0]
lea rdx, [rsp + 0x1e0]
lea rcx, [rsp + 0x590]
call fcn.1800104e0
nop
lea r8, [rsp + 0x200]
mov rdx, rax
lea rcx, [rsp + 0x5b0]
call fcn.18000b770
nop
lea r8, [rsp + 0x240]
mov rdx, rax
lea rcx, [rsp + 0x3a8]
call fcn.18000b770
nop
lea r8, [rsp + 0x280]
mov rdx, rax
lea rcx, [rsp + 0x380]
call fcn.18000b770
nop
mov rdx, rbx
mov rcx, rax
call fcn.18001c500
mov edx, eax
lea rcx, [rsp + 0x340]
call fcn.180027670
nop
lea rcx, [rsp + 0x3a8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x5b0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x590]
call fcn.18000bca0
lea rcx, [rsp + 0x340]
call fcn.18000ec50
lea r8, [rax - 2]
mov r9d, 2
lea rdx, [rsp + 0x488]
lea rcx, [rsp + 0x340]
call fcn.18000fe00
mov rdx, rax
lea rcx, [rsp + 0x340]
call fcn.18000bd70
lea rcx, [rsp + 0x488]
call fcn.18000bca0
lea rcx, [rsp + 0x340]
call fcn.18000dba0
mov rcx, rax
call qword [0x18003e498]
mov ebx, eax
lea rcx, [rsp + 0x360]
call fcn.18000dba0
mov rcx, rax
call qword [0x18003e498]
cmp eax, ebx
je 0x180031bf7
lea rcx, [rsp + 0x340]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x360]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x300]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x260]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x200]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x240]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x280]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x2c0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x1e0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x220]
call fcn.18000bca0
mov ebx, 0xfffffff6
jmp 0x180032873
mov r9d, 2
xor r8d, r8d
lea rdx, [rsp + 0x3e8]
lea rcx, [rsp + 0x240]
call fcn.18000fe00
nop
lea rcx, [rsp + 0x3e8]
call fcn.18000dba0
mov rcx, rax
call qword [0x18003e568]
mov dword [rsp + 0x60], eax
lea rax, [rsp + 0x488]
mov qword [rsp + 0x68], rax
lea rdx, [rsp + 0x260]
lea rcx, [rsp + 0x488]
call fcn.18000bbe0
mov rbx, rax
lea r8, [rsp + 0x2c0]
lea rdx, [rsp + 0x1e0]
lea rcx, [rsp + 0x5b0]
call fcn.1800104e0
nop
lea r8, [rsp + 0x200]
mov rdx, rax
lea rcx, [rsp + 0x590]
call fcn.18000b770
nop
lea r8, [rsp + 0x280]
mov rdx, rax
lea rcx, [rsp + 0x380]
call fcn.18000b770
nop
mov rdx, rbx
mov rcx, rax
call fcn.18001c500
mov dword [rsp + 0x50], eax
lea rcx, [rsp + 0x590]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x5b0]
call fcn.18000bca0
lea rax, [rsp + 0x488]
mov qword [rsp + 0x68], rax
lea rdx, [rsp + 0x260]
lea rcx, [rsp + 0x488]
call fcn.18000bbe0
mov rbx, rax
lea r8, [rsp + 0x2c0]
lea rdx, [rsp + 0x1e0]
lea rcx, [rsp + 0x5b0]
call fcn.1800104e0
nop
lea r8, [rsp + 0x280]
mov rdx, rax
lea rcx, [rsp + 0x590]
call fcn.18000b770
nop
lea r8, [rsp + 0x240]
mov rdx, rax
lea rcx, [rsp + 0x380]
call fcn.18000b770
nop
mov rdx, rbx
mov rcx, rax
call fcn.18001c500
mov edi, eax
lea rcx, [rsp + 0x590]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x5b0]
call fcn.18000bca0
mov eax, r12d
neg eax
mov dword [rsp + 0x44], eax
xor edx, edx
lea rcx, [rsp + 0x280]
call fcn.18000be10
movsx ebx, byte [rax]
xor edx, edx
lea rcx, [rsp + 0x2c0]
call fcn.18000be10
movsx r8d, byte [rax]
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x20], eax
mov r9d, ebx
mov ebx, dword [rsp + 0x60]
mov edx, ebx
mov ecx, edi
call fcn.180016a50
test al, al
je 0x180031e62
lea rcx, [rsp + 0x3e8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x340]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x360]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x300]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x260]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x200]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x240]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x280]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x2c0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x1e0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x220]
call fcn.18000bca0
mov ebx, 0xfffffff5
mov rdi, qword [rsp + 0x58]
jmp 0x180032873
mov edx, dword [rsp + 0x44]
lea rcx, [rsp + 0x448]
call fcn.180027670
nop
lea rcx, [rsp + 0x448]
call fcn.18000ec50
cmp rax, 6
jae 0x180031edc
nop word [rax + rax]
lea r8, [rsp + 0x448]
lea rdx, [0x180042730]
lea rcx, [rsp + 0x488]
call fcn.18000b930
mov rdx, rax
lea rcx, [rsp + 0x448]
call fcn.18000bd70
lea rcx, [rsp + 0x488]
call fcn.18000bca0
lea rcx, [rsp + 0x448]
call fcn.18000ec50
cmp rax, 6
jb 0x180031e90
xor edx, edx
lea rcx, [rsp + 0x448]
call fcn.18000be10
movzx ecx, byte [rax]
mov byte [rsp + 0x40], cl
mov byte [rsp + 0x41], 0
lea rcx, [rsp + 0x40]
call qword [0x18003e568]
mov r8d, eax
lea rdx, [0x1800428b0]
lea rcx, [rsp + 0x8b0]
call qword [0x18003e4b8]
lea rdx, [rsp + 0x8b0]
lea rcx, [rsp + 0x4c8]
call fcn.18000bc20
nop
lea rcx, [rsp + 0x4c8]
call fcn.18000dba0
mov rcx, rax
call qword [0x18003e568]
mov edx, eax
mov ecx, ebx
call fcn.18002e780
mov edi, eax
lea ecx, [r13 + 2]
movsxd rbx, ecx
lea rcx, [rsp + 0x240]
call fcn.18000ec50
sub rax, rbx
mov r9, rax
mov r8, rbx
lea rdx, [rsp + 0x488]
lea rcx, [rsp + 0x240]
call fcn.18000fe00
mov rdx, rax
lea rcx, [rsp + 0x240]
call fcn.18000bd70
lea rcx, [rsp + 0x488]
call fcn.18000bca0
lea rdx, [rsp + 0x240]
lea rcx, [rsp + 0x380]
call fcn.18000bbe0
mov rdx, rax
lea rcx, [rsp + 0x488]
call fcn.18002ac90
mov rdx, rax
lea rcx, [rsp + 0x240]
call fcn.18000bd70
lea rcx, [rsp + 0x488]
call fcn.18000bca0
lea rcx, [rsp + 0x2e0]
call fcn.18000bc60
nop
lea rcx, [rsp + 0x408]
call fcn.18000bc60
nop
lea rax, [rsp + 0x2e0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x408]
mov r8d, edi
mov edx, 4
lea rcx, [rsp + 0x240]
call fcn.180014850
mov edx, eax
lea rcx, [rsp + 0x428]
call fcn.180027670
nop
lea rcx, [rsp + 0x428]
call fcn.18000ec50
lea r8, [rax - 1]
mov r9d, 1
lea rdx, [rsp + 0x488]
lea rcx, [rsp + 0x428]
call fcn.18000fe00
mov rdx, rax
lea rcx, [rsp + 0x428]
call fcn.18000bd70
lea rcx, [rsp + 0x488]
call fcn.18000bca0
lea rcx, [rsp + 0x300]
call fcn.18000dba0
mov rbx, rax
lea rcx, [rsp + 0x428]
call fcn.18000dba0
sub rbx, rax
movzx edx, byte [rax]
movzx ecx, byte [rax + rbx]
sub edx, ecx
jne 0x1800320b3
inc rax
test ecx, ecx
jne 0x1800320a1
test edx, edx
je 0x1800321a9
lea rcx, [rsp + 0x428]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x408]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x2e0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x4c8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x448]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x3e8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x340]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x360]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x300]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x260]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x200]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x240]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x280]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x2c0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x1e0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x220]
call fcn.18000bca0
mov ebx, 0xfffffff6
mov rdi, qword [rsp + 0x58]
jmp 0x180032873
lea rdx, [rsp + 0x2e0]
lea rcx, [rsp + 0x380]
call fcn.18000bbe0
mov rdx, rax
lea rcx, [rsp + 0x488]
call fcn.18002ac90
mov rdx, rax
lea rcx, [rsp + 0x2e0]
call fcn.18000bd70
lea rcx, [rsp + 0x488]
call fcn.18000bca0
lea rcx, [rsp + 0x408]
call fcn.18000ec50
lea r9, [rax - 1]
mov r8d, 1
lea rdx, [rsp + 0x5b0]
lea rcx, [rsp + 0x408]
call fcn.18000fe00
mov rbx, rax
mov r9d, 1
xor r8d, r8d
lea rdx, [rsp + 0x590]
lea rcx, [rsp + 0x408]
call fcn.18000fe00
nop
lea r8, [rsp + 0x2e0]
mov rdx, rax
lea rcx, [rsp + 0x488]
call fcn.18000b770
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0x468]
call fcn.18000b6f0
nop
lea rcx, [rsp + 0x488]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x590]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x5b0]
call fcn.18000bca0
mov edx, dword [rsp + 0x50]
imul rdx, r12
neg rdx
lea rcx, [rsp + 0x548]
call fcn.180026260
nop
lea rdx, [rsp + 0x548]
lea rcx, [rsp + 0x380]
call fcn.18000bbe0
mov edx, 2
mov rcx, rax
call fcn.1800270f0
mov qword [rsp + 0x78], rax
lea r12, [0x180014560]
mov qword [rsp + 0x88], r12
lea r13, [0x180014510]
mov qword [rsp + 0x90], r13
lea rdi, [0x180014560]
mov qword [rsp + 0x98], rdi
lea rdi, [0x180014560]
mov qword [rsp + 0xa0], rdi
lea rdi, [0x180014560]
mov qword [rsp + 0xa8], rdi
lea rdx, [0x1800428b8]
lea rcx, [rsp + 0x7d0]
call fcn.18000bc20
nop
lea rdx, [0x1800428d0]
lea rcx, [rsp + 0x7f0]
call fcn.18000bc20
nop
lea rdx, [0x1800428b8]
lea rcx, [rsp + 0x810]
call fcn.18000bc20
nop
lea rdx, [0x1800428b8]
lea rcx, [rsp + 0x830]
call fcn.18000bc20
nop
lea rdx, [0x1800428b8]
lea rcx, [rsp + 0x850]
call fcn.18000bc20
nop
lea rdx, [0x1800428b8]
lea rcx, [rsp + 0x870]
call fcn.18000bc20
nop
lea rdx, [0x1800428b8]
lea rcx, [rsp + 0x890]
call fcn.18000bc20
nop
lea rdx, [rsp + 0x468]
lea rcx, [rsp + 0x4e8]
call fcn.18000bbe0
mov r9d, 2
mov r8d, r9d
mov rdx, rax
lea rcx, [rsp + 0x528]
call fcn.1800204e0
nop
mov rdi, qword [rsp + 0x78]
lea rcx, [rdi + 0x20]
call fcn.18000dba0
mov rcx, rax
call qword [0x18003e568]
mov r8d, eax
mov dword [rsp + 0x38], 2
mov byte [rsp + 0x30], 1
lea rax, [rsp + 0x7d0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x88]
mov qword [rsp + 0x20], rax
mov r9d, 2
mov edx, dword [rsp + 0x44]
lea rcx, [rsp + 0x508]
call fcn.180022400
nop
lea rcx, [rsp + 0x528]
call fcn.18000dba0
mov rbx, rax
lea rcx, [rsp + 0x508]
call fcn.18000dba0
sub rbx, rax
movzx edx, byte [rax]
movzx ecx, byte [rax + rbx]
sub edx, ecx
jne 0x180032467
inc rax
test ecx, ecx
jne 0x180032455
test edx, edx
je 0x1800325c6
test rdi, rdi
je 0x180032482
mov edx, 3
mov rcx, rdi
call fcn.1800143d0
nop
lea rcx, [rsp + 0x508]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x528]
call fcn.18000bca0
nop
lea r9, [fcn.18000bca0]
mov edx, 0x20
lea r8d, [rdx - 0x19]
lea rcx, [rsp + 0x7d0]
call fcn.180038a58
nop
lea rcx, [rsp + 0x548]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x468]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x428]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x408]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x2e0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x4c8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x448]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x3e8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x340]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x360]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x300]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x260]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x200]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x240]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x280]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x2c0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x1e0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x220]
call fcn.18000bca0
mov ebx, 0xfffffff6
mov rdi, qword [rsp + 0x58]
jmp 0x180032881
lea rdx, [rsp + 0x220]
lea rcx, [rsp + 0x488]
call fcn.18000bbe0
mov rdx, rax
lea rcx, [rsp + 0x3c8]
call fcn.18000bd70
lea rcx, [rsp + 0x488]
call fcn.18000bca0
test rdi, rdi
je 0x18003260b
mov edx, 3
mov rcx, rdi
call fcn.1800143d0
nop
lea rcx, [rsp + 0x508]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x528]
call fcn.18000bca0
nop
lea r9, [fcn.18000bca0]
mov edx, 0x20
lea r8d, [rdx - 0x19]
lea rcx, [rsp + 0x7d0]
call fcn.180038a58
nop
lea rcx, [rsp + 0x548]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x468]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x428]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x408]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x2e0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x4c8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x448]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x3e8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x340]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x360]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x300]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x260]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x200]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x240]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x280]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x2c0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x1e0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x220]
call fcn.18000bca0
mov ebx, esi
mov rdi, qword [rsp + 0x58]
jmp 0x180032881
cmp qword [rsp + 0x218], 0x10
jb 0x180032774
mov rcx, qword [rsp + 0x200]
call fcn.180038426
mov rcx, qword [rsp + 0x258]
mov rdx, qword [rsp + 0x240]
mov byte [rsp + 0x200], 0
mov qword [rsp + 0x210], rsi
mov qword [rsp + 0x218], select
cmp rcx, 0x10
jb 0x18003279e
mov rcx, rdx
call fcn.180038426
mov byte [rsp + 0x240], 0
mov qword [rsp + 0x250], rsi
mov qword [rsp + 0x258], select
cmp qword [rsp + 0x298], 0x10
jb 0x1800327d2
mov rcx, qword [rsp + 0x280]
call fcn.180038426
mov byte [rsp + 0x280], 0
mov qword [rsp + 0x290], rsi
mov qword [rsp + 0x298], select
cmp qword [rsp + 0x2d8], 0x10
jb 0x180032806
mov rcx, qword [rsp + 0x2c0]
call fcn.180038426
mov byte [rsp + 0x2c0], 0
mov qword [rsp + 0x2d0], rsi
mov qword [rsp + 0x2d8], select
cmp qword [rsp + 0x1f8], 0x10
jb 0x18003283a
mov rcx, qword [rsp + 0x1e0]
call fcn.180038426
mov byte [rsp + 0x1e0], 0
mov qword [rsp + 0x1f0], rsi
mov qword [rsp + 0x1f8], select
cmp qword [rsp + 0x238], 0x10
jb 0x18003286e
mov rcx, qword [rsp + 0x220]
call fcn.180038426
mov ebx, 0xfffffff4
lea r13, [0x180014510]
lea r12, [0x180014560]
test ebx, ebx
sete al
test al, al
jne 0x1800328d6
lea rcx, [rsp + 0x3c8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x1c0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x2a0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x4a8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x320]
call fcn.18000bca0
mov eax, ebx
jmp 0x180035ca5
lea rdx, [rsp + 0x320]
lea rcx, [rsp + 0x380]
call fcn.18000bbe0
mov rdx, r15
mov rcx, rax
call fcn.180028310
mov dword [r15 + 0x40], 0x544c46
mov qword [rsp + 0x48], rdi
call qword [0x18003e560]
mov r8d, eax
mov eax, 0x51eb851f
imul r8d
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul edx, edx, 0x32
sub r8d, edx
cmp r8d, 3
jge 0x1800336b5
lea rdx, [rsp + 0x3c8]
lea rcx, [rsp + 0x280]
call fcn.18000bbe0
nop
lea rcx, [rsp + 0x260]
call fcn.18000bc60
nop
lea rcx, [rsp + 0x220]
call fcn.18000bc60
nop
lea rcx, [rsp + 0x200]
call fcn.18000bc60
nop
lea rcx, [rsp + 0x1e0]
call fcn.18000bc60
nop
lea rdx, [rsp + 0x220]
lea rcx, [rsp + 0x3c8]
call fcn.18000bdc0
lea rax, [rsp + 0x280]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x1e0]
lea r8, [rsp + 0x200]
lea rdx, [rsp + 0x220]
lea rcx, [rsp + 0x260]
call fcn.18001c840
test al, al
je 0x18003366b
lea rcx, [rsp + 0x1e0]
call fcn.18000ec50
mov rbx, rax
cmp eax, 0x13
jl 0x18003366b
lea rdx, [0x180040ce8]
lea rcx, [rsp + 0x2c0]
call fcn.18000bc20
nop
mov edx, select
lea rcx, [rsp + 0x1e0]
call fcn.18000be10
movzx ecx, byte [rax]
sub cl, 0x30
cmp cl, 9
ja 0x180032ad7
mov esi, 6
cmp rdi, 0x989680
jl 0x18003365d
mov rdx, rdi
lea rcx, [rsp + 0x3e8]
call fcn.180026110
nop
lea r9d, [rsi - 4]
xor r8d, r8d
lea rdx, [rsp + 0x488]
lea rcx, [rsp + 0x3e8]
call fcn.18000fe00
mov rdx, rax
lea rcx, [rsp + 0x2c0]
call fcn.18000bd70
lea rcx, [rsp + 0x488]
call fcn.18000bca0
mov r9, r14
lea r8d, [rsi - 4]
lea rdx, [rsp + 0x590]
lea rcx, [rsp + 0x3e8]
call fcn.18000fe00
mov rdx, rax
lea rcx, [rsp + 0x3e8]
call fcn.18000bd70
lea rcx, [rsp + 0x590]
call fcn.18000bca0
lea rcx, [rsp + 0x3e8]
call fcn.18000dba0
mov rcx, rax
call qword [0x18003e498]
movsxd rdi, eax
lea rcx, [rsp + 0x3e8]
call fcn.18000bca0
jmp 0x180032aef
lea rax, [rdi - 0x186a0]
cmp rax, 0x970fdf
ja 0x18003365d
mov rdi, qword [rsp + 0x48]
neg rdi
mov qword [rsp + 0x48], rdi
sub ebx, esi
sub ebx, 0xf
movsxd r9, ebx
lea eax, [rsi + 0xf]
movsxd r8, eax
lea rdx, [rsp + 0x240]
lea rcx, [rsp + 0x1e0]
call fcn.18000fe00
nop
lea rdx, [rsp + 0x240]
lea rcx, [rsp + 0x180]
call fcn.18000bbe0
mov rcx, rax
call fcn.180014700
test al, al
je 0x18003364f
lea eax, [rsi + 0xe]
movsxd r8, eax
mov r9d, 1
lea rdx, [rsp + 0x360]
lea rcx, [rsp + 0x1e0]
call fcn.18000fe00
nop
lea eax, [rsi + 0xc]
movsxd rbx, eax
mov r9d, 2
mov r8, rbx
lea rdx, [rsp + 0x300]
lea rcx, [rsp + 0x1e0]
call fcn.18000fe00
nop
mov r9, rbx
xor r8d, r8d
lea rdx, [rsp + 0x5b0]
lea rcx, [rsp + 0x1e0]
call fcn.18000fe00
mov rdx, rax
lea rcx, [rsp + 0x1e0]
call fcn.18000bd70
lea rcx, [rsp + 0x5b0]
call fcn.18000bca0
lea rax, [rsp + 0x568]
mov qword [rsp + 0x68], rax
lea rdx, [rsp + 0x240]
lea rcx, [rsp + 0x568]
call fcn.18000bbe0
mov rbx, rax
lea r8, [rsp + 0x220]
lea rdx, [rsp + 0x260]
lea rcx, [rsp + 0x6b0]
call fcn.1800104e0
nop
lea r8, [rsp + 0x2c0]
mov rdx, rax
lea rcx, [rsp + 0x750]
call fcn.18000b770
nop
lea r8, [rsp + 0x1e0]
mov rdx, rax
lea rcx, [rsp + 0x7b0]
call fcn.18000b770
nop
lea r8, [rsp + 0x200]
mov rdx, rax
lea rcx, [rsp + 0x120]
call fcn.18000b770
nop
mov rdx, rbx
mov rcx, rax
call fcn.18001c500
mov edx, eax
lea rcx, [rsp + 0x340]
call fcn.180027670
nop
lea rcx, [rsp + 0x7b0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x750]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x6b0]
call fcn.18000bca0
lea rcx, [rsp + 0x340]
call fcn.18000ec50
lea r8, [rax - 2]
mov r9d, 2
lea rdx, [rsp + 0x730]
lea rcx, [rsp + 0x340]
call fcn.18000fe00
mov rdx, rax
lea rcx, [rsp + 0x340]
call fcn.18000bd70
lea rcx, [rsp + 0x730]
call fcn.18000bca0
lea rcx, [rsp + 0x340]
call fcn.18000dba0
mov rcx, rax
call qword [0x18003e498]
mov ebx, eax
lea rcx, [rsp + 0x300]
call fcn.18000dba0
mov rcx, rax
call qword [0x18003e498]
cmp eax, ebx
je 0x180032d3a
lea rcx, [rsp + 0x340]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x300]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x360]
call fcn.18000bca0
jmp 0x18003364f
mov r9d, 2
xor r8d, r8d
lea rdx, [rsp + 0x3a8]
lea rcx, [rsp + 0x1e0]
call fcn.18000fe00
nop
lea rcx, [rsp + 0x3a8]
call fcn.18000dba0
mov rcx, rax
call qword [0x18003e568]
mov dword [rsp + 0x50], eax
lea rax, [rsp + 0x6f0]
mov qword [rsp + 0x68], rax
lea rdx, [rsp + 0x240]
lea rcx, [rsp + 0x6f0]
call fcn.18000bbe0
mov rbx, rax
lea r8, [rsp + 0x220]
lea rdx, [rsp + 0x260]
lea rcx, [rsp + 0x630]
call fcn.1800104e0
nop
lea r8, [rsp + 0x2c0]
mov rdx, rax
lea rcx, [rsp + 0x790]
call fcn.18000b770
nop
lea r8, [rsp + 0x200]
mov rdx, rax
lea rcx, [rsp + 0x140]
call fcn.18000b770
nop
mov rdx, rbx
mov rcx, rax
call fcn.18001c500
mov dword [rsp + 0x60], eax
lea rcx, [rsp + 0x790]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x630]
call fcn.18000bca0
lea rax, [rsp + 0xd8]
mov qword [rsp + 0x68], rax
lea rdx, [rsp + 0x240]
lea rcx, [rsp + 0xd8]
call fcn.18000bbe0
mov rbx, rax
lea r8, [rsp + 0x220]
lea rdx, [rsp + 0x260]
lea rcx, [rsp + 0x770]
call fcn.1800104e0
nop
lea r8, [rsp + 0x200]
mov rdx, rax
lea rcx, [rsp + 0x710]
call fcn.18000b770
nop
lea r8, [rsp + 0x1e0]
mov rdx, rax
lea rcx, [rsp + 0x160]
call fcn.18000b770
nop
mov rdx, rbx
mov rcx, rax
call fcn.18001c500
mov edi, eax
lea rcx, [rsp + 0x710]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x770]
call fcn.18000bca0
mov eax, dword [rsp + 0x48]
neg eax
mov dword [rsp + 0x44], eax
xor edx, edx
lea rcx, [rsp + 0x200]
call fcn.18000be10
movsx ebx, byte [rax]
xor edx, edx
lea rcx, [rsp + 0x220]
call fcn.18000be10
movsx r8d, byte [rax]
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x20], eax
mov r9d, ebx
mov ebx, dword [rsp + 0x50]
mov edx, ebx
mov ecx, edi
call fcn.180016a50
test al, al
je 0x180032f0c
lea rcx, [rsp + 0x3a8]
call fcn.18000bca0
jmp 0x180032d0c
mov edx, dword [rsp + 0x44]
lea rcx, [rsp + 0x448]
call fcn.180027670
nop
lea rcx, [rsp + 0x448]
call fcn.18000ec50
cmp rax, 6
jae 0x180032f7d
lea r8, [rsp + 0x448]
lea rdx, [0x180042730]
lea rcx, [rsp + 0x650]
call fcn.18000b930
mov rdx, rax
lea rcx, [rsp + 0x448]
call fcn.18000bd70
lea rcx, [rsp + 0x650]
call fcn.18000bca0
lea rcx, [rsp + 0x448]
call fcn.18000ec50
cmp rax, 6
jb 0x180032f31
xor edx, edx
lea rcx, [rsp + 0x448]
call fcn.18000be10
movzx ecx, byte [rax]
mov byte [rsp + 0x40], cl
mov byte [rsp + 0x41], 0
lea rcx, [rsp + 0x40]
call qword [0x18003e568]
mov r8d, eax
lea rdx, [0x1800428b0]
lea rcx, [rsp + 0x8b0]
call qword [0x18003e4b8]
lea rdx, [rsp + 0x8b0]
lea rcx, [rsp + 0x4c8]
call fcn.18000bc20
nop
lea rcx, [rsp + 0x4c8]
call fcn.18000dba0
mov rcx, rax
call qword [0x18003e568]
mov edx, eax
mov ecx, ebx
call fcn.18002e780
mov edi, eax
lea ecx, [rsi + 2]
movsxd rbx, ecx
lea rcx, [rsp + 0x1e0]
call fcn.18000ec50
sub rax, rbx
mov r9, rax
mov r8, rbx
lea rdx, [rsp + 0x6d0]
lea rcx, [rsp + 0x1e0]
call fcn.18000fe00
mov rdx, rax
lea rcx, [rsp + 0x1e0]
call fcn.18000bd70
lea rcx, [rsp + 0x6d0]
call fcn.18000bca0
lea rdx, [rsp + 0x1e0]
lea rcx, [rsp + 0x1a0]
call fcn.18000bbe0
mov rdx, rax
lea rcx, [rsp + 0x670]
call fcn.18002ac90
mov rdx, rax
lea rcx, [rsp + 0x1e0]
call fcn.18000bd70
lea rcx, [rsp + 0x670]
call fcn.18000bca0
lea rcx, [rsp + 0x428]
call fcn.18000bc60
nop
lea rcx, [rsp + 0x408]
call fcn.18000bc60
nop
lea rax, [rsp + 0x428]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x408]
mov r8d, edi
mov edx, 4
lea rcx, [rsp + 0x1e0]
call fcn.180014850
mov edx, eax
lea rcx, [rsp + 0x2e0]
call fcn.180027670
nop
lea rcx, [rsp + 0x2e0]
call fcn.18000ec50
lea r8, [rax - 1]
mov r9d, 1
lea rdx, [rsp + 0x690]
lea rcx, [rsp + 0x2e0]
call fcn.18000fe00
mov rdx, rax
lea rcx, [rsp + 0x2e0]
call fcn.18000bd70
lea rcx, [rsp + 0x690]
call fcn.18000bca0
lea rcx, [rsp + 0x360]
call fcn.18000dba0
mov rbx, rax
lea rcx, [rsp + 0x2e0]
call fcn.18000dba0
sub rbx, rax
movzx edx, byte [rax]
movzx ecx, byte [rax + rbx]
sub edx, ecx
jne 0x180033153
inc rax
test ecx, ecx
jne 0x180033141
test edx, edx
je 0x1800331af
lea rcx, [rsp + 0x2e0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x408]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x428]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x4c8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x448]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x3a8]
call fcn.18000bca0
jmp 0x180032d0c
lea rdx, [rsp + 0x428]
lea rcx, [rsp + 0xb0]
call fcn.18000bbe0
mov rdx, rax
lea rcx, [rsp + 0x610]
call fcn.18002ac90
mov rdx, rax
lea rcx, [rsp + 0x428]
call fcn.18000bd70
lea rcx, [rsp + 0x610]
call fcn.18000bca0
lea rcx, [rsp + 0x408]
call fcn.18000ec50
lea r9, [rax - 1]
mov r8d, 1
lea rdx, [rsp + 0x4e8]
lea rcx, [rsp + 0x408]
call fcn.18000fe00
mov rbx, rax
mov r9d, 1
xor r8d, r8d
lea rdx, [rsp + 0x5d0]
lea rcx, [rsp + 0x408]
call fcn.18000fe00
nop
lea r8, [rsp + 0x428]
mov rdx, rax
lea rcx, [rsp + 0x5f0]
call fcn.18000b770
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0x508]
call fcn.18000b6f0
nop
lea rcx, [rsp + 0x5f0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x5d0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x4e8]
call fcn.18000bca0
mov edx, dword [rsp + 0x60]
imul rdx, qword [rsp + 0x48]
neg rdx
lea rcx, [rsp + 0x528]
call fcn.180026260
nop
lea rdx, [rsp + 0x528]
lea rcx, [rsp + 0x100]
call fcn.18000bbe0
mov edx, 2
mov rcx, rax
call fcn.1800270f0
mov rdi, rax
mov qword [rsp + 0x380], r12
mov qword [rsp + 0x388], r13
lea rcx, [0x180014560]
mov qword [rsp + 0x390], rcx
lea rcx, [0x180014560]
mov qword [rsp + 0x398], rcx
lea rcx, [0x180014560]
mov qword [rsp + 0x3a0], rcx
lea rdx, [0x1800428b8]
lea rcx, [rsp + 0x7d0]
call fcn.18000bc20
nop
lea rdx, [0x1800428d0]
lea rcx, [rsp + 0x7f0]
call fcn.18000bc20
nop
lea rdx, [0x1800428b8]
lea rcx, [rsp + 0x810]
call fcn.18000bc20
nop
lea rdx, [0x1800428b8]
lea rcx, [rsp + 0x830]
call fcn.18000bc20
nop
lea rdx, [0x1800428b8]
lea rcx, [rsp + 0x850]
call fcn.18000bc20
nop
lea rdx, [0x1800428b8]
lea rcx, [rsp + 0x870]
call fcn.18000bc20
nop
lea rdx, [0x1800428b8]
lea rcx, [rsp + 0x890]
call fcn.18000bc20
nop
lea rdx, [rsp + 0x508]
lea rcx, [rsp + 0x88]
call fcn.18000bbe0
mov r9d, 2
mov r8d, r9d
mov rdx, rax
lea rcx, [rsp + 0x548]
call fcn.1800204e0
nop
lea rcx, [rdi + 0x20]
call fcn.18000dba0
mov rcx, rax
call qword [0x18003e568]
mov r8d, eax
mov dword [rsp + 0x38], 2
mov byte [rsp + 0x30], 1
lea rax, [rsp + 0x7d0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x380]
mov qword [rsp + 0x20], rax
mov r9d, 2
mov edx, dword [rsp + 0x44]
lea rcx, [rsp + 0x468]
call fcn.180022400
nop
lea rcx, [rsp + 0x548]
call fcn.18000dba0
mov rbx, rax
lea rcx, [rsp + 0x468]
call fcn.18000dba0
sub rbx, rax
nop dword [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + rbx]
sub edx, ecx
jne 0x180033462
inc rax
test ecx, ecx
jne 0x180033450
test edx, edx
je 0x1800334d3
test rdi, rdi
je 0x180033479
mov edx, 3
mov rcx, rdi
call fcn.1800143d0
nop
lea rcx, [rsp + 0x468]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x548]
call fcn.18000bca0
nop
lea r9, [fcn.18000bca0]
mov edx, 0x20
lea r8d, [rdx - 0x19]
lea rcx, [rsp + 0x7d0]
call fcn.180038a58
nop
lea rcx, [rsp + 0x528]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x508]
call fcn.18000bca0
jmp 0x180033157
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x380]
call fcn.18000bbe0
mov rdx, rax
lea rcx, [rsp + 0x3c8]
call fcn.18000bd70
lea rcx, [rsp + 0x380]
call fcn.18000bca0
test rdi, rdi
je 0x180033518
mov edx, 3
mov rcx, rdi
call fcn.1800143d0
nop
lea rcx, [rsp + 0x468]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x548]
call fcn.18000bca0
nop
lea r9, [fcn.18000bca0]
mov edx, 0x20
lea r8d, [rdx - 0x19]
lea rcx, [rsp + 0x7d0]
call fcn.180038a58
nop
lea rcx, [rsp + 0x528]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x508]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x2e0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x408]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x428]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x4c8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x448]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x3a8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x340]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x300]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x360]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x240]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x2c0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x1e0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x200]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x220]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x260]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x280]
call fcn.18000bca0
jmp 0x1800336b5
lea rcx, [rsp + 0x240]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x2c0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x1e0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x200]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x220]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x260]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x280]
call fcn.18000bca0
mov byte [r15 + 0x40], 0
xor eax, eax
mov qword [r15 + 0x4a], rax
mov qword [r15 + 0x52], rax
mov qword [r15 + 0x5a], rax
mov dword [r15 + 0x62], eax
mov word [r15 + 0x66], ax
lea rcx, [rsp + 0x2a0]
call fcn.18000ec50
mov ecx, 0x1d
cmp eax, ecx
cmovg eax, ecx
movsxd rbx, eax
lea rcx, [rsp + 0x2a0]
call fcn.18000dba0
mov rdx, rax
mov r8, rbx
lea rcx, [r15 + 0x4a]
call qword [0x18003e548]
xor ecx, ecx
call fcn.1800383a0
mov r9, rax
mov eax, 0x66666667
imul r9d
sar edx, 3
mov r8d, edx
shr r8d, 0x1f
add edx, r8d
lea edx, [rdx + rdx*4]
shl edx, 2
cmp r9d, edx
jne 0x18003373d
cmp qword [rsp + 0x58], 0
jge 0x18003373d
mov rcx, r15
call sym.ftLensDistortion64.aex_aescriptsInitLicenseData
xor eax, eax
lea rcx, [r15 + 0x128]
mov qword [rcx], rax
mov word [rcx + 8], ax
mov byte [rcx + 0xa], al
mov rax, r14
mov rdx, qword [rsp + 0x80]
nop dword [rax + rax]
inc rax
cmp byte [rdx + rax], 0
jne 0x180033760
cmp eax, 0xa
jle 0x180033776
mov r14d, 0xa
jmp 0x180033780
inc r14
cmp byte [rdx + r14], 0
jne 0x180033776
movsxd r8, r14d
call qword [0x18003e548]
nop
lea rcx, [rsp + 0x3c8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x1c0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x2a0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x4a8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x320]
call fcn.18000bca0
xor eax, eax
jmp 0x180035ca5
lea rcx, [rsp + 0x1c0]
cmp eax, 0xffffffff
jne 0x18003381c
call fcn.18000bca0
nop
lea rcx, [rsp + 0x2a0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x4a8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x320]
call fcn.18000bca0
mov eax, 0xffffffeb
jmp 0x180035ca5
cmp eax, 0xfffffffe
jne 0x18003385a
call fcn.18000bca0
nop
lea rcx, [rsp + 0x2a0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x4a8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x320]
call fcn.18000bca0
mov eax, 0xffffffe9
jmp 0x180035ca5
cmp eax, 0xfffffffd
jne 0x180033898
call fcn.18000bca0
nop
lea rcx, [rsp + 0x2a0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x4a8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x320]
call fcn.18000bca0
mov eax, 0xffffffe8
jmp 0x180035ca5
cmp eax, 0xfffffffc
jne 0x1800338d6
call fcn.18000bca0
nop
lea rcx, [rsp + 0x2a0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x4a8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x320]
call fcn.18000bca0
mov eax, 0xffffffe7
jmp 0x180035ca5
cmp eax, 0xfffffffb
jne 0x18003385f
call fcn.18000bca0
nop
lea rcx, [rsp + 0x2a0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x4a8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x320]
call fcn.18000bca0
mov eax, 0xffffffe6
jmp 0x180035ca5
lea rcx, [rsp + 0x320]
call fcn.18000ec50
mov ecx, 0x80
cmp eax, ecx
cmovg eax, ecx
movsxd rbx, eax
lea rcx, [rsp + 0x320]
call fcn.18000dba0
mov rdx, rax
lea rcx, [r15 + 0xa8]
mov r8, rbx
call qword [0x18003e548]
nop
xor r8d, r8d
lea rdx, [0x1800426b0]
lea rcx, [rsp + 0x320]
call fcn.18001c370
test eax, eax
jle 0x180033a48
mov rdx, rdi
lea rcx, [rsp + 0x468]
call fcn.180026110
nop
lea rax, [rsp + 0x380]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x4e8]
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x468]
lea rcx, [rsp + 0x380]
call fcn.18000bbe0
mov qword [rsp + 0x80], rax
lea rdx, [rsp + 0x320]
lea rcx, [rsp + 0x4e8]
call fcn.18000bbe0
mov rbx, rax
mov rdx, qword [rsp + 0x78]
lea rcx, [rsp + 0x88]
call fcn.18000bc20
nop
mov qword [rsp + 0x28], r15
mov byte [rsp + 0x20], 0
xor r9d, r9d
mov r8, qword [rsp + 0x80]
mov rdx, rbx
mov rcx, rax
call fcn.180035cd0
mov ebx, eax
mov dword [r15 + 0x170], eax
lea rcx, [rsp + 0x468]
test eax, eax
je 0x180033a3e
call fcn.18000bca0
nop
lea rcx, [rsp + 0x4a8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x320]
call fcn.18000bca0
mov eax, ebx
jmp 0x180035ca5
call fcn.18000bca0
jmp 0x180035aa2
lea rdx, [rsp + 0x320]
lea rcx, [rsp + 0x448]
call fcn.18000bbe0
nop
mov r12, rdi
lea rdx, [rsp + 0x448]
lea rcx, [rsp + 0x2a0]
call fcn.18000bbe0
nop
lea rcx, [rsp + 0x260]
call fcn.18000bc60
nop
lea rcx, [rsp + 0x220]
call fcn.18000bc60
nop
lea rcx, [rsp + 0x200]
call fcn.18000bc60
nop
lea rcx, [rsp + 0x1c0]
call fcn.18000bc60
nop
lea rdx, [rsp + 0x220]
lea rcx, [rsp + 0x448]
call fcn.18000bdc0
lea rax, [rsp + 0x2a0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x1c0]
lea r8, [rsp + 0x200]
lea rdx, [rsp + 0x220]
lea rcx, [rsp + 0x260]
call fcn.18001c840
test al, al
jne 0x180033b47
lea rcx, [rsp + 0x1c0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x200]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x220]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x260]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x2a0]
call fcn.18000bca0
mov ebx, r14d
jmp 0x180034b2f
lea rcx, [rsp + 0x1c0]
call fcn.18000ec50
mov rbx, rax
cmp eax, 0x13
jl 0x180033afa
mov r13d, esi
lea rdx, [0x180040ce8]
lea rcx, [rsp + 0x3c8]
call fcn.18000bc20
nop
mov edx, select
lea rcx, [rsp + 0x1c0]
call fcn.18000be10
movzx ecx, byte [rax]
sub cl, 0x30
cmp cl, 9
ja 0x180033c53
mov r13d, 6
cmp rdi, 0x989680
jl 0x180034ad7
mov rdx, rdi
lea rcx, [rsp + 0x3e8]
call fcn.180026110
nop
lea r9d, [r13 - 4]
xor r8d, r8d
lea rdx, [rsp + 0x380]
lea rcx, [rsp + 0x3e8]
call fcn.18000fe00
mov rdx, rax
lea rcx, [rsp + 0x3c8]
call fcn.18000bd70
lea rcx, [rsp + 0x380]
call fcn.18000bca0
mov r9, r14
lea r8d, [r13 - 4]
lea rdx, [rsp + 0x4e8]
lea rcx, [rsp + 0x3e8]
call fcn.18000fe00
mov rdx, rax
lea rcx, [rsp + 0x3e8]
call fcn.18000bd70
lea rcx, [rsp + 0x4e8]
call fcn.18000bca0
lea rcx, [rsp + 0x3e8]
call fcn.18000dba0
mov rcx, rax
call qword [0x18003e498]
movsxd r12, eax
lea rcx, [rsp + 0x3e8]
call fcn.18000bca0
jmp 0x180033c66
lea rax, [rdi - 0x186a0]
cmp rax, 0x970fdf
ja 0x180034ad7
neg r12
mov qword [rsp + 0x8c0], r12
sub ebx, r13d
sub ebx, 0xf
movsxd r9, ebx
lea eax, [r13 + 0xf]
movsxd r8, eax
lea rdx, [rsp + 0x1e0]
lea rcx, [rsp + 0x1c0]
call fcn.18000fe00
nop
lea rdx, [rsp + 0x1e0]
lea rcx, [rsp + 0x88]
call fcn.18000bbe0
mov rcx, rax
call fcn.180014700
test al, al
jne 0x180033d23
lea rcx, [rsp + 0x1e0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x3c8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x1c0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x200]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x220]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x260]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x2a0]
call fcn.18000bca0
mov ebx, 0xfffffff7
jmp 0x180034b2f
lea eax, [r13 + 0xe]
movsxd r8, eax
mov r9d, 1
lea rdx, [rsp + 0x360]
lea rcx, [rsp + 0x1c0]
call fcn.18000fe00
nop
lea eax, [r13 + 0xc]
movsxd rbx, eax
mov r9d, 2
mov r8, rbx
lea rdx, [rsp + 0x300]
lea rcx, [rsp + 0x1c0]
call fcn.18000fe00
nop
mov r9, rbx
xor r8d, r8d
lea rdx, [rsp + 0x380]
lea rcx, [rsp + 0x1c0]
call fcn.18000fe00
mov rdx, rax
lea rcx, [rsp + 0x1c0]
call fcn.18000bd70
lea rcx, [rsp + 0x380]
call fcn.18000bca0
lea rax, [rsp + 0x4e8]
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x1e0]
lea rcx, [rsp + 0x4e8]
call fcn.18000bbe0
mov rbx, rax
lea r8, [rsp + 0x220]
lea rdx, [rsp + 0x260]
lea rcx, [rsp + 0x5f0]
call fcn.1800104e0
nop
lea r8, [rsp + 0x3c8]
mov rdx, rax
lea rcx, [rsp + 0x5d0]
call fcn.18000b770
nop
lea r8, [rsp + 0x1c0]
mov rdx, rax
lea rcx, [rsp + 0x380]
call fcn.18000b770
nop
lea r8, [rsp + 0x200]
mov rdx, rax
lea rcx, [rsp + 0x88]
call fcn.18000b770
nop
mov rdx, rbx
mov rcx, rax
call fcn.18001c500
mov edx, eax
lea rcx, [rsp + 0x340]
call fcn.180027670
nop
lea rcx, [rsp + 0x380]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x5d0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x5f0]
call fcn.18000bca0
lea rcx, [rsp + 0x340]
call fcn.18000ec50
lea r8, [rax - 2]
mov r9d, 2
lea rdx, [rsp + 0x610]
lea rcx, [rsp + 0x340]
call fcn.18000fe00
mov rdx, rax
lea rcx, [rsp + 0x340]
call fcn.18000bd70
lea rcx, [rsp + 0x610]
call fcn.18000bca0
lea rcx, [rsp + 0x340]
call fcn.18000dba0
mov rcx, rax
call qword [0x18003e498]
mov ebx, eax
lea rcx, [rsp + 0x300]
call fcn.18000dba0
mov rcx, rax
call qword [0x18003e498]
cmp eax, ebx
je 0x180033f8a
lea rcx, [rsp + 0x340]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x300]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x360]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x1e0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x3c8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x1c0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x200]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x220]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x260]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x2a0]
call fcn.18000bca0
mov ebx, 0xfffffff6
jmp 0x180034b2f
mov r9d, 2
xor r8d, r8d
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x1c0]
call fcn.18000fe00
nop
lea rcx, [rsp + 0x280]
call fcn.18000dba0
mov rcx, rax
call qword [0x18003e568]
mov dword [rsp + 0x50], eax
lea rax, [rsp + 0x380]
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x1e0]
lea rcx, [rsp + 0x380]
call fcn.18000bbe0
mov rbx, rax
lea r8, [rsp + 0x220]
lea rdx, [rsp + 0x260]
lea rcx, [rsp + 0x5d0]
call fcn.1800104e0
nop
lea r8, [rsp + 0x3c8]
mov rdx, rax
lea rcx, [rsp + 0x4e8]
call fcn.18000b770
nop
lea r8, [rsp + 0x200]
mov rdx, rax
lea rcx, [rsp + 0x88]
call fcn.18000b770
nop
mov rdx, rbx
mov rcx, rax
call fcn.18001c500
mov dword [rsp + 0x60], eax
lea rcx, [rsp + 0x4e8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x5d0]
call fcn.18000bca0
lea rax, [rsp + 0x5f0]
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x1e0]
lea rcx, [rsp + 0x5f0]
call fcn.18000bbe0
mov rbx, rax
lea r8, [rsp + 0x220]
lea rdx, [rsp + 0x260]
lea rcx, [rsp + 0x4e8]
call fcn.1800104e0
nop
lea r8, [rsp + 0x200]
mov rdx, rax
lea rcx, [rsp + 0x380]
call fcn.18000b770
nop
lea r8, [rsp + 0x1c0]
mov rdx, rax
lea rcx, [rsp + 0x88]
call fcn.18000b770
nop
mov rdx, rbx
mov rcx, rax
call fcn.18001c500
mov edi, eax
lea rcx, [rsp + 0x380]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x4e8]
call fcn.18000bca0
mov eax, r12d
neg eax
mov dword [rsp + 0x44], eax
xor edx, edx
lea rcx, [rsp + 0x200]
call fcn.18000be10
movsx ebx, byte [rax]
xor edx, edx
lea rcx, [rsp + 0x220]
call fcn.18000be10
movsx r8d, byte [rax]
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x20], eax
mov r9d, ebx
mov ebx, dword [rsp + 0x50]
mov edx, ebx
mov ecx, edi
call fcn.180016a50
test al, al
je 0x1800341f5
lea rcx, [rsp + 0x280]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x340]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x300]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x360]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x1e0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x3c8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x1c0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x200]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x220]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x260]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x2a0]
call fcn.18000bca0
mov ebx, 0xfffffff5
mov rdi, qword [rsp + 0x58]
jmp 0x180034b2f
mov edx, dword [rsp + 0x44]
lea rcx, [rsp + 0x3a8]
call fcn.180027670
nop
nop word [rax + rax]
lea rcx, [rsp + 0x3a8]
call fcn.18000ec50
cmp rax, 6
jae 0x18003425e
lea r8, [rsp + 0x3a8]
lea rdx, [0x180042730]
lea rcx, [rsp + 0x380]
call fcn.18000b930
mov rdx, rax
lea rcx, [rsp + 0x3a8]
call fcn.18000bd70
lea rcx, [rsp + 0x380]
call fcn.18000bca0
jmp 0x180034210
xor edx, edx
lea rcx, [rsp + 0x3a8]
call fcn.18000be10
movzx ecx, byte [rax]
mov byte [rsp + 0x40], cl
mov byte [rsp + 0x41], 0
lea rcx, [rsp + 0x40]
call qword [0x18003e568]
mov r8d, eax
lea rdx, [0x1800428b0]
lea rcx, [rsp + 0x8b8]
call qword [0x18003e4b8]
lea rdx, [rsp + 0x8b8]
lea rcx, [rsp + 0x4c8]
call fcn.18000bc20
nop
lea rcx, [rsp + 0x4c8]
call fcn.18000dba0
mov rcx, rax
call qword [0x18003e568]
mov edx, eax
mov ecx, ebx
call fcn.18002e780
mov edi, eax
lea ecx, [r13 + 2]
movsxd rbx, ecx
lea rcx, [rsp + 0x1c0]
call fcn.18000ec50
sub rax, rbx
mov r9, rax
mov r8, rbx
lea rdx, [rsp + 0x380]
lea rcx, [rsp + 0x1c0]
call fcn.18000fe00
mov rdx, rax
lea rcx, [rsp + 0x1c0]
call fcn.18000bd70
lea rcx, [rsp + 0x380]
call fcn.18000bca0
lea rdx, [rsp + 0x1c0]
lea rcx, [rsp + 0x88]
call fcn.18000bbe0
mov rdx, rax
lea rcx, [rsp + 0x380]
call fcn.18002ac90
mov rdx, rax
lea rcx, [rsp + 0x1c0]
call fcn.18000bd70
lea rcx, [rsp + 0x380]
call fcn.18000bca0
lea rcx, [rsp + 0x428]
call fcn.18000bc60
nop
lea rcx, [rsp + 0x408]
call fcn.18000bc60
nop
lea rax, [rsp + 0x428]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x408]
mov r8d, edi
mov edx, 4
lea rcx, [rsp + 0x1c0]
call fcn.180014850
mov edx, eax
lea rcx, [rsp + 0x2e0]
call fcn.180027670
nop
lea rcx, [rsp + 0x2e0]
call fcn.18000ec50
lea r8, [rax - 1]
mov r9d, 1
lea rdx, [rsp + 0x380]
lea rcx, [rsp + 0x2e0]
call fcn.18000fe00
mov rdx, rax
lea rcx, [rsp + 0x2e0]
call fcn.18000bd70
lea rcx, [rsp + 0x380]
call fcn.18000bca0
lea rcx, [rsp + 0x360]
call fcn.18000dba0
mov rbx, rax
lea rcx, [rsp + 0x2e0]
call fcn.18000dba0
sub rbx, rax
movzx edx, byte [rax]
movzx ecx, byte [rax + rbx]
sub edx, ecx
jne 0x180034435
inc rax
test ecx, ecx
jne 0x180034423
test edx, edx
je 0x18003452b
lea rcx, [rsp + 0x2e0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x408]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x428]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x4c8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x3a8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x280]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x340]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x300]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x360]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x1e0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x3c8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x1c0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x200]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x220]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x260]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x2a0]
call fcn.18000bca0
mov ebx, 0xfffffff6
mov rdi, qword [rsp + 0x58]
jmp 0x180034b2f
lea rdx, [rsp + 0x428]
lea rcx, [rsp + 0x88]
call fcn.18000bbe0
mov rdx, rax
lea rcx, [rsp + 0x380]
call fcn.18002ac90
mov rdx, rax
lea rcx, [rsp + 0x428]
call fcn.18000bd70
lea rcx, [rsp + 0x380]
call fcn.18000bca0
lea rcx, [rsp + 0x408]
call fcn.18000ec50
lea r9, [rax - 1]
mov r8d, 1
lea rdx, [rsp + 0x5d0]
lea rcx, [rsp + 0x408]
call fcn.18000fe00
mov rbx, rax
mov r9d, 1
xor r8d, r8d
lea rdx, [rsp + 0x4e8]
lea rcx, [rsp + 0x408]
call fcn.18000fe00
nop
lea r8, [rsp + 0x428]
mov rdx, rax
lea rcx, [rsp + 0x380]
call fcn.18000b770
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0x508]
call fcn.18000b6f0
nop
lea rcx, [rsp + 0x380]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x4e8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x5d0]
call fcn.18000bca0
mov edx, dword [rsp + 0x60]
imul rdx, r12
neg rdx
lea rcx, [rsp + 0x528]
call fcn.180026260
nop
lea rdx, [rsp + 0x528]
lea rcx, [rsp + 0x88]
call fcn.18000bbe0
mov edx, 2
mov rcx, rax
call fcn.1800270f0
mov qword [rsp + 0x48], rax
lea r12, [0x180014560]
mov qword [rsp + 0xb0], r12
lea r13, [0x180014510]
mov qword [rsp + 0xb8], r13
lea rdi, [0x180014560]
mov qword [rsp + 0xc0], rdi
lea rdi, [0x180014560]
mov qword [rsp + 0xc8], rdi
lea rdi, [0x180014560]
mov qword [rsp + 0xd0], rdi
lea rdx, [0x1800428b8]
lea rcx, [rsp + 0x7d0]
call fcn.18000bc20
nop
lea rdx, [0x1800428d0]
lea rcx, [rsp + 0x7f0]
call fcn.18000bc20
nop
lea rdx, [0x1800428b8]
lea rcx, [rsp + 0x810]
call fcn.18000bc20
nop
lea rdx, [0x1800428b8]
lea rcx, [rsp + 0x830]
call fcn.18000bc20
nop
lea rdx, [0x1800428b8]
lea rcx, [rsp + 0x850]
call fcn.18000bc20
nop
lea rdx, [0x1800428b8]
lea rcx, [rsp + 0x870]
call fcn.18000bc20
nop
lea rdx, [0x1800428b8]
lea rcx, [rsp + 0x890]
call fcn.18000bc20
nop
lea rdx, [rsp + 0x508]
lea rcx, [rsp + 0x100]
call fcn.18000bbe0
mov r9d, 2
mov r8d, r9d
mov rdx, rax
lea rcx, [rsp + 0x548]
call fcn.1800204e0
nop
mov rdi, qword [rsp + 0x48]
lea rcx, [rdi + 0x20]
call fcn.18000dba0
mov rcx, rax
call qword [0x18003e568]
mov r8d, eax
mov rdx, qword [rsp + 0x8c0]
neg edx
mov dword [rsp + 0x38], 2
mov byte [rsp + 0x30], 1
lea rcx, [rsp + 0x7d0]
mov qword [rsp + 0x28], rcx
lea rcx, [rsp + 0xb0]
mov qword [rsp + 0x20], rcx
mov r9d, 2
lea rcx, [rsp + 0x468]
call fcn.180022400
nop
lea rcx, [rsp + 0x548]
call fcn.18000dba0
mov rbx, rax
lea rcx, [rsp + 0x468]
call fcn.18000dba0
sub rbx, rax
nop dword [rax]
movzx r8d, byte [rax]
movzx edx, byte [rax + rbx]
sub r8d, edx
jne 0x1800347f4
inc rax
test edx, edx
jne 0x1800347e0
test r8d, r8d
je 0x180034954
test rdi, rdi
je 0x180034810
mov edx, 3
mov rcx, rdi
call fcn.1800143d0
nop
lea rcx, [rsp + 0x468]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x548]
call fcn.18000bca0
nop
lea r9, [fcn.18000bca0]
mov edx, 0x20
lea r8d, [rdx - 0x19]
lea rcx, [rsp + 0x7d0]
call fcn.180038a58
nop
lea rcx, [rsp + 0x528]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x508]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x2e0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x408]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x428]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x4c8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x3a8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x280]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x340]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x300]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x360]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x1e0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x3c8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x1c0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x200]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x220]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x260]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x2a0]
call fcn.18000bca0
mov ebx, 0xfffffff6
mov rdi, qword [rsp + 0x58]
jmp 0x180034b3d
lea rdx, [rsp + 0x2a0]
lea rcx, [rsp + 0x380]
call fcn.18000bbe0
mov rdx, rax
lea rcx, [rsp + 0x448]
call fcn.18000bd70
lea rcx, [rsp + 0x380]
call fcn.18000bca0
test rdi, rdi
je 0x180034999
mov edx, 3
mov rcx, rdi
call fcn.1800143d0
nop
lea rcx, [rsp + 0x468]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x548]
call fcn.18000bca0
nop
lea r9, [fcn.18000bca0]
mov edx, 0x20
lea r8d, [rdx - 0x19]
lea rcx, [rsp + 0x7d0]
call fcn.180038a58
nop
lea rcx, [rsp + 0x528]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x508]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x2e0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x408]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x428]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x4c8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x3a8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x280]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x340]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x300]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x360]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x1e0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x3c8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x1c0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x200]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x220]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x260]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x2a0]
call fcn.18000bca0
mov ebx, esi
mov rdi, qword [rsp + 0x58]
jmp 0x180034b3d
lea rcx, [rsp + 0x3c8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x1c0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x200]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x220]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x260]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x2a0]
call fcn.18000bca0
mov ebx, 0xfffffff4
lea r13, [0x180014510]
lea r12, [0x180014560]
test ebx, ebx
sete al
test al, al
jne 0x180034b7d
mov dword [r15 + 0x170], ebx
lea rcx, [rsp + 0x448]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x4a8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x320]
call fcn.18000bca0
mov eax, ebx
jmp 0x180035ca5
lea rdx, [rsp + 0x320]
lea rcx, [rsp + 0x88]
call fcn.18000bbe0
mov rdx, r15
mov rcx, rax
call fcn.180028310
mov qword [rsp + 0x48], rdi
call qword [0x18003e560]
mov r8d, eax
mov eax, 0x80808081
imul r8d
add edx, r8d
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul edx, edx, 0xff
sub r8d, edx
cmp r8d, 4
jge 0x180035a05
lea rdx, [rsp + 0x448]
lea rcx, [rsp + 0x2a0]
call fcn.18000bbe0
nop
lea rcx, [rsp + 0x260]
call fcn.18000bc60
nop
lea rcx, [rsp + 0x220]
call fcn.18000bc60
nop
lea rcx, [rsp + 0x200]
call fcn.18000bc60
nop
lea rcx, [rsp + 0x1c0]
call fcn.18000bc60
nop
lea rdx, [rsp + 0x220]
lea rcx, [rsp + 0x448]
call fcn.18000bdc0
lea rax, [rsp + 0x2a0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x1c0]
lea r8, [rsp + 0x200]
lea rdx, [rsp + 0x220]
lea rcx, [rsp + 0x260]
call fcn.18001c840
test al, al
je 0x1800359b8
lea rcx, [rsp + 0x1c0]
call fcn.18000ec50
mov rbx, rax
cmp eax, 0x13
jl 0x1800359b8
mov dword [rsp + 0x44], esi
lea rdx, [0x180040ce8]
lea rcx, [rsp + 0x3c8]
call fcn.18000bc20
nop
mov edx, select
lea rcx, [rsp + 0x1c0]
call fcn.18000be10
movzx ecx, byte [rax]
sub cl, 0x30
cmp cl, 9
ja 0x180034d8b
mov dword [rsp + 0x44], 6
cmp rdi, 0x989680
jl 0x1800359aa
mov rdx, rdi
lea rcx, [rsp + 0x3e8]
call fcn.180026110
nop
mov r9d, 2
xor r8d, r8d
lea rdx, [rsp + 0x380]
lea rcx, [rsp + 0x3e8]
call fcn.18000fe00
mov rdx, rax
lea rcx, [rsp + 0x3c8]
call fcn.18000bd70
lea rcx, [rsp + 0x380]
call fcn.18000bca0
mov r9, r14
mov r8d, 2
lea rdx, [rsp + 0x4e8]
lea rcx, [rsp + 0x3e8]
call fcn.18000fe00
mov rdx, rax
lea rcx, [rsp + 0x3e8]
call fcn.18000bd70
lea rcx, [rsp + 0x4e8]
call fcn.18000bca0
lea rcx, [rsp + 0x3e8]
call fcn.18000dba0
mov rcx, rax
call qword [0x18003e498]
cdqe
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x3e8]
call fcn.18000bca0
jmp 0x180034d9e
lea rax, [rdi - 0x186a0]
cmp rax, 0x970fdf
ja 0x1800359aa
neg qword [rsp + 0x48]
sub ebx, dword [rsp + 0x44]
sub ebx, 0xf
movsxd r9, ebx
mov ebx, dword [rsp + 0x44]
lea eax, [rbx + 0xf]
movsxd r8, eax
lea rdx, [rsp + 0x1e0]
lea rcx, [rsp + 0x1c0]
call fcn.18000fe00
nop
lea rdx, [rsp + 0x1e0]
lea rcx, [rsp + 0x88]
call fcn.18000bbe0
mov rcx, rax
call fcn.180014700
test al, al
je 0x18003599c
lea eax, [rbx + 0xe]
movsxd r8, eax
mov r9d, 1
lea rdx, [rsp + 0x360]
lea rcx, [rsp + 0x1c0]
call fcn.18000fe00
nop
lea eax, [rbx + 0xc]
movsxd rbx, eax
mov r9d, 2
mov r8, rbx
lea rdx, [rsp + 0x300]
lea rcx, [rsp + 0x1c0]
call fcn.18000fe00
nop
mov r9, rbx
xor r8d, r8d
lea rdx, [rsp + 0x5d0]
lea rcx, [rsp + 0x1c0]
call fcn.18000fe00
mov rdx, rax
lea rcx, [rsp + 0x1c0]
call fcn.18000bd70
lea rcx, [rsp + 0x5d0]
call fcn.18000bca0
lea rax, [rsp + 0x5f0]
mov qword [rsp + 0x8b8], rax
lea rdx, [rsp + 0x1e0]
lea rcx, [rsp + 0x5f0]
call fcn.18000bbe0
mov rbx, rax
lea r8, [rsp + 0x220]
lea rdx, [rsp + 0x260]
lea rcx, [rsp + 0x670]
call fcn.1800104e0
nop
lea r8, [rsp + 0x3c8]
mov rdx, rax
lea rcx, [rsp + 0x690]
call fcn.18000b770
nop
lea r8, [rsp + 0x1c0]
mov rdx, rax
lea rcx, [rsp + 0x610]
call fcn.18000b770
nop
lea r8, [rsp + 0x200]
mov rdx, rax
lea rcx, [rsp + 0x100]
call fcn.18000b770
nop
mov rdx, rbx
mov rcx, rax
call fcn.18001c500
mov edx, eax
lea rcx, [rsp + 0x340]
call fcn.180027670
nop
lea rcx, [rsp + 0x610]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x690]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x670]
call fcn.18000bca0
lea rcx, [rsp + 0x340]
call fcn.18000ec50
lea r8, [rax - 2]
mov r9d, 2
lea rdx, [rsp + 0x6d0]
lea rcx, [rsp + 0x340]
call fcn.18000fe00
mov rdx, rax
lea rcx, [rsp + 0x340]
call fcn.18000bd70
lea rcx, [rsp + 0x6d0]
call fcn.18000bca0
lea rcx, [rsp + 0x340]
call fcn.18000dba0
mov rcx, rax
call qword [0x18003e498]
mov ebx, eax
lea rcx, [rsp + 0x300]
call fcn.18000dba0
mov rcx, rax
call qword [0x18003e498]
cmp eax, ebx
je 0x180034fef
lea rcx, [rsp + 0x340]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x300]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x360]
call fcn.18000bca0
jmp 0x18003599c
mov r9d, 2
xor r8d, r8d
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x1c0]
call fcn.18000fe00
nop
lea rcx, [rsp + 0x280]
call fcn.18000dba0
mov rcx, rax
call qword [0x18003e568]
mov dword [rsp + 0x50], eax
lea rax, [rsp + 0x650]
mov qword [rsp + 0x8b8], rax
lea rdx, [rsp + 0x1e0]
lea rcx, [rsp + 0x650]
call fcn.18000bbe0
mov rbx, rax
lea r8, [rsp + 0x220]
lea rdx, [rsp + 0x260]
lea rcx, [rsp + 0x710]
call fcn.1800104e0
nop
lea r8, [rsp + 0x3c8]
mov rdx, rax
lea rcx, [rsp + 0x770]
call fcn.18000b770
nop
lea r8, [rsp + 0x200]
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.18000b770
nop
mov rdx, rbx
mov rcx, rax
call fcn.18001c500
mov dword [rsp + 0x8b8], eax
lea rcx, [rsp + 0x770]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x710]
call fcn.18000bca0
lea rax, [rsp + 0xd8]
mov qword [rsp + 0x60], rax
lea rdx, [rsp + 0x1e0]
lea rcx, [rsp + 0xd8]
call fcn.18000bbe0
mov rbx, rax
lea r8, [rsp + 0x220]
lea rdx, [rsp + 0x260]
lea rcx, [rsp + 0x790]
call fcn.1800104e0
nop
lea r8, [rsp + 0x200]
mov rdx, rax
lea rcx, [rsp + 0x630]
call fcn.18000b770
nop
lea r8, [rsp + 0x1c0]
mov rdx, rax
lea rcx, [rsp + 0x1a0]
call fcn.18000b770
nop
mov rdx, rbx
mov rcx, rax
call fcn.18001c500
mov edi, eax
lea rcx, [rsp + 0x630]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x790]
call fcn.18000bca0
mov rax, qword [rsp + 0x48]
neg eax
mov dword [rsp + 0x60], eax
xor edx, edx
lea rcx, [rsp + 0x200]
call fcn.18000be10
movsx ebx, byte [rax]
xor edx, edx
lea rcx, [rsp + 0x220]
call fcn.18000be10
movsx r8d, byte [rax]
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x20], eax
mov r9d, ebx
mov ebx, dword [rsp + 0x50]
mov edx, ebx
mov ecx, edi
call fcn.180016a50
test al, al
je 0x18003525d
lea rcx, [rsp + 0x280]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x340]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x300]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x360]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x1e0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x3c8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x1c0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x200]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x220]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x260]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x2a0]
call fcn.18000bca0
mov rdi, qword [rsp + 0x58]
jmp 0x1800359fd
mov edx, dword [rsp + 0x60]
lea rcx, [rsp + 0x3a8]
call fcn.180027670
nop
nop
lea rcx, [rsp + 0x3a8]
call fcn.18000ec50
cmp rax, 6
jae 0x1800352be
lea r8, [rsp + 0x3a8]
lea rdx, [0x180042730]
lea rcx, [rsp + 0x6f0]
call fcn.18000b930
mov rdx, rax
lea rcx, [rsp + 0x3a8]
call fcn.18000bd70
lea rcx, [rsp + 0x6f0]
call fcn.18000bca0
jmp 0x180035270
xor edx, edx
lea rcx, [rsp + 0x3a8]
call fcn.18000be10
movzx ecx, byte [rax]
mov byte [rsp + 0x40], cl
mov byte [rsp + 0x41], 0
lea rcx, [rsp + 0x40]
call qword [0x18003e568]
mov r8d, eax
lea rdx, [0x1800428b0]
lea rcx, [rsp + 0x8c0]
call qword [0x18003e4b8]
lea rdx, [rsp + 0x8c0]
lea rcx, [rsp + 0x4c8]
call fcn.18000bc20
nop
lea rcx, [rsp + 0x4c8]
call fcn.18000dba0
mov rcx, rax
call qword [0x18003e568]
mov edx, eax
mov ecx, ebx
call fcn.18002e780
mov edi, eax
mov ecx, dword [rsp + 0x44]
add ecx, 2
movsxd rbx, ecx
lea rcx, [rsp + 0x1c0]
call fcn.18000ec50
sub rax, rbx
mov r9, rax
mov r8, rbx
lea rdx, [rsp + 0x730]
lea rcx, [rsp + 0x1c0]
call fcn.18000fe00
mov rdx, rax
lea rcx, [rsp + 0x1c0]
call fcn.18000bd70
lea rcx, [rsp + 0x730]
call fcn.18000bca0
lea rdx, [rsp + 0x1c0]
lea rcx, [rsp + 0x160]
call fcn.18000bbe0
mov rdx, rax
lea rcx, [rsp + 0x6b0]
call fcn.18002ac90
mov rdx, rax
lea rcx, [rsp + 0x1c0]
call fcn.18000bd70
lea rcx, [rsp + 0x6b0]
call fcn.18000bca0
lea rcx, [rsp + 0x428]
call fcn.18000bc60
nop
lea rcx, [rsp + 0x408]
call fcn.18000bc60
nop
lea rax, [rsp + 0x428]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x408]
mov r8d, edi
mov edx, 4
lea rcx, [rsp + 0x1c0]
call fcn.180014850
mov edx, eax
lea rcx, [rsp + 0x2e0]
call fcn.180027670
nop
lea rcx, [rsp + 0x2e0]
call fcn.18000ec50
lea r8, [rax - 1]
mov r9d, 1
lea rdx, [rsp + 0x750]
lea rcx, [rsp + 0x2e0]
call fcn.18000fe00
mov rdx, rax
lea rcx, [rsp + 0x2e0]
call fcn.18000bd70
lea rcx, [rsp + 0x750]
call fcn.18000bca0
lea rcx, [rsp + 0x360]
call fcn.18000dba0
mov rbx, rax
lea rcx, [rsp + 0x2e0]
call fcn.18000dba0
sub rbx, rax
nop word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + rbx]
sub edx, ecx
jne 0x1800354a2
inc rax
test ecx, ecx
jne 0x180035490
test edx, edx
je 0x1800354f0
lea rcx, [rsp + 0x2e0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x408]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x428]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x4c8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x3a8]
call fcn.18000bca0
jmp 0x1800351ba
lea rdx, [rsp + 0x428]
lea rcx, [rsp + 0x140]
call fcn.18000bbe0
mov rdx, rax
lea rcx, [rsp + 0x7b0]
call fcn.18002ac90
mov rdx, rax
lea rcx, [rsp + 0x428]
call fcn.18000bd70
lea rcx, [rsp + 0x7b0]
call fcn.18000bca0
lea rcx, [rsp + 0x408]
call fcn.18000ec50
lea r9, [rax - 1]
mov r8d, 1
lea rdx, [rsp + 0x5b0]
lea rcx, [rsp + 0x408]
call fcn.18000fe00
mov rbx, rax
mov r9d, 1
xor r8d, r8d
lea rdx, [rsp + 0x590]
lea rcx, [rsp + 0x408]
call fcn.18000fe00
nop
lea r8, [rsp + 0x428]
mov rdx, rax
lea rcx, [rsp + 0x488]
call fcn.18000b770
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0x508]
call fcn.18000b6f0
nop
lea rcx, [rsp + 0x488]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x590]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x5b0]
call fcn.18000bca0
mov edx, dword [rsp + 0x8b8]
mov rbx, qword [rsp + 0x48]
imul rdx, rbx
neg rdx
lea rcx, [rsp + 0x528]
call fcn.180026260
nop
lea rdx, [rsp + 0x528]
lea rcx, [rsp + 0x120]
call fcn.18000bbe0
mov edx, 2
mov rcx, rax
call fcn.1800270f0
mov rdi, rax
mov qword [rsp + 0x568], r12
mov qword [rsp + 0x570], r13
lea rcx, [0x180014560]
mov qword [rsp + 0x578], rcx
lea rcx, [0x180014560]
mov qword [rsp + 0x580], rcx
lea rcx, [0x180014560]
mov qword [rsp + 0x588], rcx
lea rdx, [0x1800428b8]
lea rcx, [rsp + 0x7d0]
call fcn.18000bc20
nop
lea rdx, [0x1800428d0]
lea rcx, [rsp + 0x7f0]
call fcn.18000bc20
nop
lea rdx, [0x1800428b8]
lea rcx, [rsp + 0x810]
call fcn.18000bc20
nop
lea rdx, [0x1800428b8]
lea rcx, [rsp + 0x830]
call fcn.18000bc20
nop
lea rdx, [0x1800428b8]
lea rcx, [rsp + 0x850]
call fcn.18000bc20
nop
lea rdx, [0x1800428b8]
lea rcx, [rsp + 0x870]
call fcn.18000bc20
nop
lea rdx, [0x1800428b8]
lea rcx, [rsp + 0x890]
call fcn.18000bc20
nop
lea rdx, [rsp + 0x508]
lea rcx, [rsp + 0x180]
call fcn.18000bbe0
mov r9d, 2
mov r8d, r9d
mov rdx, rax
lea rcx, [rsp + 0x548]
call fcn.1800204e0
nop
lea rcx, [rdi + 0x20]
call fcn.18000dba0
mov rcx, rax
call qword [0x18003e568]
mov r8d, eax
neg ebx
mov dword [rsp + 0x38], 2
mov byte [rsp + 0x30], 1
lea rax, [rsp + 0x7d0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x568]
mov qword [rsp + 0x20], rax
mov r9d, 2
mov edx, ebx
lea rcx, [rsp + 0x468]
call fcn.180022400
nop
lea rcx, [rsp + 0x548]
call fcn.18000dba0
mov rbx, rax
lea rcx, [rsp + 0x468]
call fcn.18000dba0
sub rbx, rax
nop
movzx r8d, byte [rax]
movzx edx, byte [rax + rbx]
sub r8d, edx
jne 0x1800357a4
inc rax
test edx, edx
jne 0x180035790
test r8d, r8d
je 0x180035816
test rdi, rdi
je 0x1800357bc
mov edx, 3
mov rcx, rdi
call fcn.1800143d0
nop
lea rcx, [rsp + 0x468]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x548]
call fcn.18000bca0
nop
lea r9, [fcn.18000bca0]
mov edx, 0x20
lea r8d, [rdx - 0x19]
lea rcx, [rsp + 0x7d0]
call fcn.180038a58
nop
lea rcx, [rsp + 0x528]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x508]
call fcn.18000bca0
jmp 0x1800354a6
lea rdx, [rsp + 0x2a0]
lea rcx, [rsp + 0x568]
call fcn.18000bbe0
mov rdx, rax
lea rcx, [rsp + 0x448]
call fcn.18000bd70
lea rcx, [rsp + 0x568]
call fcn.18000bca0
test rdi, rdi
je 0x18003585b
mov edx, 3
mov rcx, rdi
call fcn.1800143d0
nop
lea rcx, [rsp + 0x468]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x548]
call fcn.18000bca0
nop
lea r9, [fcn.18000bca0]
mov edx, 0x20
lea r8d, [rdx - 0x19]
lea rcx, [rsp + 0x7d0]
call fcn.180038a58
nop
lea rcx, [rsp + 0x528]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x508]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x2e0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x408]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x428]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x4c8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x3a8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x280]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x340]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x300]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x360]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x1e0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x3c8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x1c0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x200]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x220]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x260]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x2a0]
call fcn.18000bca0
mov rdi, qword [rsp + 0x58]
test rdi, rdi
jns 0x180035a05
jmp 0x1800359fd
lea rcx, [rsp + 0x1e0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x3c8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x1c0]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x200]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x220]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x260]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x2a0]
call fcn.18000bca0
mov dword [r15 + 0x3c], 0xffffff9d
xor ecx, ecx
call fcn.1800383a0
mov r8, rax
mov eax, 0x66666667
imul r8d
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*4]
shl ecx, 4
sub r8d, ecx
cmp r8d, 5
jge 0x180035a3a
test rdi, rdi
jns 0x180035a3a
mov byte [r15 + 0x40], 0
call qword [0x18003e560]
mov r8d, eax
mov eax, 0x51eb851f
imul r8d
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul edx, edx, 0xc8
sub r8d, edx
cmp r8d, 2
jge 0x180035a85
lea rdx, [0x180040ce8]
lea rcx, [rsp + 0x320]
call fcn.18000b660
test al, al
je 0x180035a85
mov rcx, r15
call sym.ftLensDistortion64.aex_aescriptsInitLicenseData
nop
lea rcx, [rsp + 0x448]
call fcn.18000bca0
mov r12, qword [rsp + 0x80]
mov r13d, dword [rsp + 0x8b0]
mov eax, dword [r15 + 0x3c]
test eax, eax
jg 0x180035adb
cmp eax, 0xffffff9d
je 0x180035adb
mov rcx, r15
call sym.ftLensDistortion64.aex_aescriptsInitLicenseData
nop
lea rcx, [rsp + 0x4a8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x320]
call fcn.18000bca0
mov eax, r14d
jmp 0x180035ca5
mov rbx, qword [rsp + 0x78]
mov rdx, rbx
lea rcx, [rsp + 0x4e8]
call fcn.18000bc20
mov rdx, rax
or r13d, 1
mov dword [rsp + 0x60], r13d
lea rcx, [r15 + 0x4a]
call fcn.1800104a0
test al, al
je 0x180035b3a
mov rdx, rbx
lea rcx, [rsp + 0x380]
call fcn.18000bc20
nop
or r13d, 2
mov dword [rsp + 0x60], r13d
lea rdx, [0x180040ce8]
mov rcx, rax
call fcn.18000b6a0
test al, al
je 0x180035b3a
mov bl, 1
jmp 0x180035b3c
xor bl, bl
test r13b, 2
je 0x180035b54
and r13d, 0xfffffffd
lea rcx, [rsp + 0x380]
call fcn.18000bca0
nop
test r13b, 1
je 0x180035b67
lea rcx, [rsp + 0x4e8]
call fcn.18000bca0
test bl, bl
je 0x180035b99
mov rcx, r15
call sym.ftLensDistortion64.aex_aescriptsInitLicenseData
nop
lea rcx, [rsp + 0x4a8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x320]
call fcn.18000bca0
mov eax, 0xfffffffa
jmp 0x180035ca5
lea rcx, [r15 + 0x128]
xor eax, eax
mov qword [rcx], rax
mov word [rcx + 8], ax
mov byte [rcx + 0xa], al
mov rax, r14
nop
inc rax
cmp byte [r12 + rax], 0
jne 0x180035bb0
cmp eax, 0xa
jle 0x180035bd0
mov r14d, 0xa
jmp 0x180035bda
inc r14
cmp byte [r12 + r14], 0
jne 0x180035bd0
movsxd r8, r14d
mov rdx, r12
call qword [0x18003e548]
mov byte [r15 + 0x144], 1
lea rdx, [r15 + 0x40]
lea rcx, [rsp + 0x380]
call fcn.18000bc20
nop
lea rdx, [0x18004290c]
mov rcx, rax
call fcn.18000b660
movzx ebx, al
lea rcx, [rsp + 0x380]
call fcn.18000bca0
test bl, bl
je 0x180035c57
mov qword [0x1800526d0], rdi
lea rdx, [r15 + 0x4a]
lea rcx, [rsp + 0x380]
call fcn.18000bc20
mov rdx, rax
lea rcx, [0x1800526d8]
call fcn.18000bd70
lea rcx, [rsp + 0x380]
call fcn.18000bca0
mov dword [0x180052708], esi
mov rcx, r15
call fcn.180016b00
nop
lea rcx, [rsp + 0x4a8]
call fcn.18000bca0
nop
lea rcx, [rsp + 0x320]
call fcn.18000bca0
xor eax, eax
jmp 0x180035ca5
mov rcx, qword [rsp + 0x950]
xor rcx, rsp
call fcn.180038e10
add rsp, 0x960
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret