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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x38
lea rbp, [rsp + 0x30]
cmp dword [0x180020a6c], 0xa
jl 0x180001122
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001122
nop
jmp 0x180001120
mov eax, 0x10
call entry0
sub rsp, rax
mov rsi, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov r8, rsp
cmp dword [0x180020a74], 0xa
jl 0x180001162
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001162
nop dword [rax]
jmp 0x180001160
mov r9b, byte [section..data]
mov r13d, dword [0x180020a78]
mov r14d, dword [0x180020a74]
lea edi, [r13 - 1]
imul edi, r13d
and edi, 1
sete al
cmp r14d, 0xa
setl bl
or bl, al
mov r10b, byte [0x180004001]
mov r11b, byte [0x180004002]
mov al, byte [0x180004003]
mov byte [rbp], al
mov eax, dword [0x180020a70]
mov edx, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
mov dword [rbp - 0x10], ecx
test cl, 1
sete al
mov dword [rbp - 8], edx
cmp edx, 0xa
setl r15b
or r15b, al
mov r12d, ebx
or r12b, bl
mov byte [rsi], r9b
test bl, bl
jne 0x1800011e7
nop word [rax + rax]
test bl, bl
je 0x1800011e0
mov byte [rsi], r9b
cmp r14d, 0xa
jl 0x1800011f5
test edi, edi
jne 0x180001340
mov byte [rsi + 1], r10b
test bl, bl
jne 0x180001208
nop dword [rax]
test bl, bl
je 0x180001200
mov byte [rsi + 1], r10b
cmp r14d, 0xa
jl 0x180001216
test edi, edi
jne 0x180001340
mov byte [rsi + 2], r11b
test bl, bl
jne 0x180001228
nop
test bl, bl
je 0x180001220
mov byte [rsi + 2], r11b
cmp r14d, 0xa
jl 0x180001236
test edi, edi
jne 0x180001340
mov al, byte [rbp]
mov byte [rsi + 3], al
test bl, bl
jne 0x18000124a
test bl, bl
je 0x180001240
mov al, byte [rbp]
mov byte [rsi + 3], al
cmp r14d, 0xa
jl 0x180001258
test edi, edi
jne 0x180001340
test r15b, r15b
jne 0x1800013a2
cmp r14d, 0xa
jl 0x18000126f
test edi, edi
jne 0x180001360
test bl, bl
mov eax, edi
cmovne eax, edi
mov ecx, r14d
cmovne ecx, r14d
test r12b, r12b
je 0x180001370
cmp ecx, 0xa
jl 0x180001293
test eax, eax
jne 0x180001350
test bl, bl
mov eax, edi
cmovne eax, edi
mov ecx, r14d
cmovne ecx, r14d
test r12b, r12b
je 0x180001380
cmp ecx, 0xa
jl 0x1800012b7
test eax, eax
jne 0x180001350
test bl, bl
mov eax, edi
cmovne eax, edi
mov ecx, r14d
cmovne ecx, r14d
test r12b, r12b
je 0x180001390
cmp ecx, 0xa
jl 0x1800012d7
test eax, eax
jne 0x180001350
test bl, bl
mov eax, edi
cmovne eax, edi
mov edx, r14d
cmovne edx, r14d
mov ecx, r13d
cmovne ecx, ecx
test r12b, r12b
je 0x1800013a0
cmp edx, 0xa
jl 0x1800012fd
test eax, eax
jne 0x180001350
mov eax, 0x10
call entry0
sub rsp, rax
mov rsi, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov r8, rsp
cmp edx, 0xa
jl 0x1800011d3
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
je 0x1800011d3
jmp 0x180001160
jmp 0x180001340
jmp 0x180001350
jmp 0x180001360
jmp 0x180001370
jmp 0x180001380
jmp 0x180001390
jmp 0x1800013a0
mov r12d, dword [rsi]
test r12, r12
je 0x1800014c7
xor ebx, ebx
cmp r12d, 0x10
jb 0x180001492
lea rax, [r12 - 1]
cmp rax, 0x400
jae 0x180001492
mov ebx, r12d
and ebx, 0xfffffff0
lea rcx, [rbx - 0x10]
mov rax, rcx
shr rax, 4
add rax, 1
mov r9d, eax
and r9d, 1
test rcx, rcx
je 0x180001459
mov rsi, r9
sub rsi, rax
xor edi, edi
lea r10, section..data
movaps xmm0, xmmword [str._f_f_f_f_f_f_f_f_f_f_f_f_f_f_f_f]
mov eax, edi
and eax, 0x3e0
movups xmm1, xmmword [rax + r10 + 4]
movups xmm2, xmmword [rdi + r10 + 0x404]
xorps xmm2, xmm1
movups xmm1, xmmword [rdi + r10 + 0x414]
xorps xmm2, xmm0
movups xmmword [rdi + r10 + 0x404], xmm2
lea eax, [rdi + 0x10]
and eax, 0x3f0
movups xmm2, xmmword [rax + r10 + 4]
xorps xmm1, xmm0
xorps xmm1, xmm2
movups xmmword [rdi + r10 + 0x414], xmm1
add rdi, 0x20
add rsi, 2
jne 0x180001402
jmp 0x18000145b
xor edi, edi
test r9, r9
je 0x18000148d
mov eax, edi
and eax, 0x3f0
lea rcx, section..data
movups xmm0, xmmword [rax + rcx + 4]
movups xmm1, xmmword [rdi + rcx + 0x404]
xorps xmm1, xmm0
xorps xmm1, xmmword [str._f_f_f_f_f_f_f_f_f_f_f_f_f_f_f_f]
movups xmmword [rdi + rcx + 0x404], xmm1
cmp rbx, r12
je 0x1800014c7
lea rax, section..data
nop dword [rax]
mov ecx, ebx
and ecx, 0x3ff
movzx ecx, byte [rcx + rax + 4]
xor cl, byte [rbx + rax + 0x404]
xor cl, 0xc
mov byte [rbx + rax + 0x404], cl
add rbx, 1
cmp rbx, r12
jb 0x1800014a0
cmp dword [rbp - 8], 0xa
jl 0x1800014d7
and dword [rbp - 0x10], 1
jne 0x180001627
cmp r14d, 0xa
jl 0x1800014ee
lea eax, [r13 - 1]
imul eax, r13d
and eax, 1
jne 0x180001770
lea rdi, section..data
lea r10, [r12 + rdi]
add r10, 0x404
mov al, byte [r10]
nop word cs:[rax + rax]
nop dword [rax]
mov byte [r8], al
mov ebx, dword [0x180020a78]
mov edx, dword [0x180020a74]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
cmp edx, 0xa
jl 0x180001531
test ecx, ecx
jne 0x180001510
cmp edx, 0xa
jl 0x18000153e
test ecx, ecx
jne 0x180001760
mov al, byte [r10 + 1]
nop word cs:[rax + rax]
nop dword [rax]
mov byte [r8 + 1], al
mov ebx, dword [0x180020a78]
mov edx, dword [0x180020a74]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
cmp edx, 0xa
jl 0x180001572
test ecx, ecx
jne 0x180001550
cmp edx, 0xa
jl 0x18000157f
test ecx, ecx
jne 0x180001760
mov al, byte [r10 + 2]
nop word cs:[rax + rax]
nop dword [rax]
mov byte [r8 + 2], al
mov ebx, dword [0x180020a78]
mov edx, dword [0x180020a74]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
cmp edx, 0xa
jl 0x1800015b2
test ecx, ecx
jne 0x180001590
cmp edx, 0xa
jl 0x1800015bf
test ecx, ecx
jne 0x180001760
mov al, byte [r10 + 3]
nop word cs:[rax + rax]
nop dword [rax]
mov byte [r8 + 3], al
mov r13d, dword [0x180020a78]
mov r14d, dword [0x180020a74]
lea ebx, [r13 - 1]
imul ebx, r13d
and ebx, 1
cmp r14d, 0xa
jl 0x1800015f7
test ebx, ebx
jne 0x1800015d0
cmp r14d, 0xa
jl 0x180001605
test ebx, ebx
jne 0x180001760
cmp dword [0x180020a6c], 0xa
jl 0x180001782
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001782
cmp r14d, 0xa
jl 0x18000163e
lea eax, [r13 - 1]
imul eax, r13d
and eax, 1
jne 0x180001780
lea rcx, section..data
mov al, byte [r12 + rcx + 0x404]
nop dword [rax]
mov byte [r8], al
mov edi, dword [0x180020a78]
mov ebx, dword [0x180020a74]
lea edx, [rdi - 1]
imul edx, edi
and edx, 1
cmp ebx, 0xa
jl 0x180001671
test edx, edx
jne 0x180001650
cmp ebx, 0xa
jl 0x18000167e
test edx, edx
jne 0x180001750
mov al, byte [r12 + rcx + 0x405]
nop word cs:[rax + rax]
mov byte [r8 + 1], al
mov edi, dword [0x180020a78]
mov ebx, dword [0x180020a74]
lea edx, [rdi - 1]
imul edx, edi
and edx, 1
cmp ebx, 0xa
jl 0x1800016b2
test edx, edx
jne 0x180001690
cmp ebx, 0xa
jl 0x1800016bf
test edx, edx
jne 0x180001750
mov al, byte [r12 + rcx + 0x406]
nop word [rax + rax]
mov byte [r8 + 2], al
mov edi, dword [0x180020a78]
mov ebx, dword [0x180020a74]
lea edx, [rdi - 1]
imul edx, edi
and edx, 1
cmp ebx, 0xa
jl 0x1800016f2
test edx, edx
jne 0x1800016d0
cmp ebx, 0xa
jl 0x1800016fb
test edx, edx
jne 0x180001750
mov al, byte [r12 + rcx + 0x407]
nop word cs:[rax + rax]
nop dword [rax]
mov byte [r8 + 3], al
mov r13d, dword [0x180020a78]
mov r14d, dword [0x180020a74]
lea ebx, [r13 - 1]
imul ebx, r13d
and ebx, 1
cmp r14d, 0xa
jl 0x180001737
test ebx, ebx
jne 0x180001710
cmp r14d, 0xa
jl 0x1800014d7
test ebx, ebx
je 0x1800014d7
nop dword [rax]
jmp 0x180001750
jmp 0x180001760
jmp 0x180001770
jmp 0x180001780
add r10, 4
mov r9d, dword [r8]
test r9, r9
je 0x1800018dd
xor eax, eax
cmp r9d, 0x20
jb 0x1800018b9
lea rdx, [r9 - 1]
cmp rdx, 0x400
jae 0x1800018b9
lea rcx, [r12 + rdi]
add rcx, 0x408
lea rdx, [r9 + rdi]
add rdx, 4
cmp rcx, rdx
jae 0x1800017e8
lea rcx, [r12 + r9]
add rcx, rdi
add rcx, 0x408
lea rdx, str.IlYBofHmRTxZeXgiyHtECXwhVJqGgDEsTPjOIdYaPKSWmDRFIQQWzlcZMuluWtnifhmfawmxCbRXyHeeHKhyfbLVUSsyisvznVpbsJhICgWvLvODHEWfubLUrIyQAIkEnPUqHGtHSxavUZPbvjdULjMYLFAHzQOELgjUKViuGAJOiMbrTPGFwoYdSWOTeEoHvmlTpxmQnVrYJwwTETBogXIFfzJCCHvqJgLfyEsoLoEJaexvpvUdtifXBQEbgZUHFPOHnWoGIsTTahBLrYhshkcTTRznXuugTsEKCVOiSxqDyOgCkkWnnIoiYllaazIILApMhRhgHzvjHCLAARlDXbeBLhRIHOyjiBKWIOKIHxRheSTmcIlqqaRhsShrkyczMOtFliPycsCJnSbRLEUiULogeJoSqnHWnFkqnPlFHSpncfnOFeZcdgTcPfFlCcfKBePsgmsixgeYIYFBuhzBhWUWBdOjSFKCfnahcueEdzjhrgHeUWJaPMOnAHhIedPFgpBTiCPVkqfpbeXPfGGXDYUZBAVoXRIzUXpVxnuypAHJjjgYgaecYrhYduZueILoqywqtVojUFVLhFmWlWGoqVzClEDaZiqxArXsklvrhmjeftZvopfnUETCLaHUElrajYACGomKSbdCGOxgtHFppflJzfWYIeiTkvHCmyLAAOwmPxrjHDaxDZCJBvttwrLuCQDMZzrwJPVSUwPKXlwwFhqJaCQaWSYVUspLmuFFhYTSLbanKqOKmmcOMMktGTRlxRFPOcbfmrztxrKsClIuiRnBIOsnUxncKEdwJHGYaWiQiTfWLqDTxpZyuZRfyYndKFXRdmxJewGkmUwuDDjhDooChoYDzGqviTrUOhDJPbPQdcWHHdwZwTkjnlqBaywKuxfLjcdVdCufRotygWCTOsTMQtnDvthaUdqhxaAgzrVnjTeJorCvlvSdUvtvcbyOoxTHkPbkPVEhfVpyefIbSeovqefDdwAzsWUXUGmTRmysyttcEFVldjobckdmfYQ
cmp rcx, rdx
jbe 0x1800017e8
xor eax, eax
jmp 0x1800018b9
mov eax, r9d
and eax, 0xffffffe0
lea rbx, [rax - 0x20]
mov rdx, rbx
shr rdx, 5
add rdx, 1
mov r8d, edx
and r8d, 1
test rbx, rbx
je 0x18000187f
lea rcx, [r12 + rdi]
add rcx, 0x438
mov rbx, r8
sub rbx, rdx
xor esi, esi
mov edx, esi
and edx, 0x3c0
movups xmm0, xmmword [rdx + rdi + 4]
movups xmm1, xmmword [rdx + rdi + 0x14]
movups xmm2, xmmword [rcx + rsi - 0x30]
xorps xmm2, xmm0
movups xmm0, xmmword [rcx + rsi - 0x20]
xorps xmm0, xmm1
movups xmm1, xmmword [rcx + rsi - 0x10]
movups xmm3, xmmword [rcx + rsi]
movups xmmword [rcx + rsi - 0x30], xmm2
movups xmmword [rcx + rsi - 0x20], xmm0
lea edx, [rsi + 0x20]
and edx, 0x3e0
movups xmm0, xmmword [rdx + rdi + 4]
xorps xmm0, xmm1
movups xmm1, xmmword [rdx + rdi + 0x14]
xorps xmm1, xmm3
movups xmmword [rcx + rsi - 0x10], xmm0
movups xmmword [rcx + rsi], xmm1
add rsi, 0x40
add rbx, 2
jne 0x18000181c
jmp 0x180001881
xor esi, esi
test r8, r8
je 0x1800018b4
mov edx, esi
and edx, 0x3e0
movups xmm0, xmmword [rdx + rdi + 4]
movups xmm1, xmmword [rdx + rdi + 0x14]
movups xmm2, xmmword [r10 + rsi]
xorps xmm2, xmm0
movups xmm0, xmmword [r10 + rsi + 0x10]
xorps xmm0, xmm1
movups xmmword [r10 + rsi], xmm2
movups xmmword [r10 + rsi + 0x10], xmm0
cmp rax, r9
je 0x1800018dd
lea rdx, [r12 + rdi]
add rdx, 0x408
mov ecx, eax
and ecx, 0x3ff
movzx ecx, byte [rcx + rdi + 4]
xor byte [rdx + rax], cl
add rax, 1
cmp rax, r9
jb 0x1800018c4
add r12, 0x408
mov qword [rbp - 0x10], r10
jmp 0x18000191d
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rax, qword [rbp - 8]
mov edx, dword [rax + r15 + 0x454]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
add rsp, 0x20
mov r10, qword [rbp - 0x10]
movsxd rdx, dword [0x180004440]
mov eax, dword [0x180020a7c]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x180020a80], 0xa
setl al
or al, cl
cmp byte [r10], 0
je 0x18000195f
mov rdi, r10
test al, al
je 0x180002070
cmp byte [rdi + 1], 0
lea rdi, [rdi + 1]
jne 0x180001953
jmp 0x18000196a
mov rdi, r10
test al, al
je 0x180002082
cmp byte [rdi + 1], 0
mov rcx, rdi
je 0x180001980
mov rcx, rdi
cmp byte [rcx + 2], 0
lea rcx, [rcx + 1]
jne 0x180001976
lea rsi, [rcx + 2]
cmp byte [rcx + 2], 0
mov rbx, rsi
je 0x18000199a
mov rbx, rsi
cmp byte [rbx + 1], 0
lea rbx, [rbx + 1]
jne 0x180001990
cmp byte [rbx + 1], 0
mov rax, rbx
je 0x1800019b0
mov rax, rbx
cmp byte [rax + 2], 0
lea rax, [rax + 1]
jne 0x1800019a6
cmp byte [rax + 2], 0
lea r13, [rax + 2]
mov r14, r13
je 0x1800019cb
mov r14, r13
cmp byte [r14 + 1], 0
lea r14, [r14 + 1]
jne 0x1800019c0
mov qword [rbp], rdx
mov qword [rbp - 0x28], rcx
add rdi, 1
cmp byte [r14 + 1], 0
mov r15, r14
je 0x1800019ef
mov r15, r14
cmp byte [r15 + 2], 0
lea r15, [r15 + 1]
jne 0x1800019e4
sub rsp, 0x20
mov rcx, rdi
call fcn.180002a10
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001a20
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001fb0
mov qword [rbp - 0x20], rbx
mov qword [rbp - 8], rdi
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001a57
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001fc0
lea rax, section..data
mov rdx, qword [rbp]
add rax, rdx
add rax, 0x404
mov qword [rbp], rax
add r14, 1
add r15, 2
add r8, r9
mov edi, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add rdi, r9
add r10, r9
mov edx, dword [rdi]
add rdx, r9
xor ecx, ecx
nop word cs:[rax + rax]
nop dword [rax + rax]
movzx eax, byte [rsi + rcx]
movzx ebx, byte [rdx + rcx]
test al, al
je 0x180001ab4
add rcx, 1
cmp al, bl
je 0x180001aa0
cmp al, bl
je 0x180001ac2
add rdi, 4
add r10, 2
jmp 0x180001a8a
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r14
call r9
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001afc
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001fd0
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001b2b
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001fe0
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov edi, dword [r10 + rcx + 0x24]
add rdx, r10
add rdi, r10
mov esi, dword [rdx]
add rsi, r10
xor eax, eax
nop word cs:[rax + rax]
nop
movzx ecx, byte [r13 + rax]
movzx ebx, byte [rsi + rax]
test cl, cl
je 0x180001b66
add rax, 1
cmp cl, bl
je 0x180001b50
cmp cl, bl
je 0x180001b74
add rdx, 4
add rdi, 2
jmp 0x180001b3e
movzx eax, word [rdi]
mov eax, dword [r8 + rax*4]
add r10, rax
sub rsp, 0x30
mov qword [rsp + 0x28], 0x1388
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor ecx, ecx
mov rdx, r15
mov r8, r15
call r10
add rsp, 0x10
mov rcx, qword [rbp - 8]
call fcn.180002a10
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001bd7
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001ff0
movsxd rax, dword [r10 + 0x3c]
mov ebx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rbx + 0x1c]
cmp dword [0x180020a8c], 0xa
lea rcx, section..data
jl 0x180001c0d
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002000
add r8, r10
mov edx, dword [r10 + rbx + 0x20]
mov r9d, dword [r10 + rbx + 0x24]
add rdx, r10
add r9, r10
mov edi, dword [rdx]
add rdi, r10
xor esi, esi
nop word [rax + rax]
lea rax, [r12 + rsi]
movzx eax, byte [rcx + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x180001c48
add rsi, 1
cmp al, bl
je 0x180001c30
cmp al, bl
je 0x180001c56
add rdx, 4
add r9, 2
jmp 0x180001c20
movzx eax, word [r9]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rsi, qword [rbp]
mov edx, dword [rsi + 0x50]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
add rsp, 0x20
mov r14d, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea edx, [r14 - 1]
imul edx, r14d
and edx, 1
cmp ecx, 0xa
jl 0x180002086
test edx, edx
je 0x180002086
movsxd rsi, dword [0x180004440]
mov eax, dword [0x180020a7c]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x180020a80], 0xa
setl al
or al, cl
mov rdi, qword [rbp - 0x10]
cmp byte [rdi], 0
je 0x180001cec
test al, al
je 0x180002080
cmp byte [rdi + 1], 0
lea rdi, [rdi + 1]
jne 0x180001ce0
jmp 0x180001cf4
test al, al
je 0x180002084
cmp byte [rdi + 1], 0
mov rax, rdi
je 0x180001d0a
mov rax, rdi
cmp byte [rax + 2], 0
lea rax, [rax + 1]
jne 0x180001d00
cmp byte [rax + 2], 0
lea r15, [rax + 2]
mov rax, r15
je 0x180001d24
mov rax, r15
cmp byte [rax + 1], 0
lea rax, [rax + 1]
jne 0x180001d1a
cmp byte [rax + 1], 0
je 0x180001d34
cmp byte [rax + 2], 0
lea rax, [rax + 1]
jne 0x180001d2a
cmp byte [rax + 2], 0
lea rbx, [rax + 2]
mov r13, rbx
je 0x180001d4f
mov r13, rbx
cmp byte [r13 + 1], 0
lea r13, [r13 + 1]
jne 0x180001d44
add rdi, 1
cmp byte [r13 + 1], 0
mov r14, r13
je 0x180001d6b
mov r14, r13
cmp byte [r14 + 2], 0
lea r14, [r14 + 1]
jne 0x180001d60
sub rsp, 0x20
mov rcx, rdi
call fcn.180002a10
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001d9c
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002010
mov qword [rbp], rdi
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001dcf
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002020
mov qword [rbp - 8], rsi
add r13, 1
add r14, 2
add r8, r9
mov edi, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add rdi, r9
add r10, r9
mov edx, dword [rdi]
add rdx, r9
xor esi, esi
nop word cs:[rax + rax]
nop
movzx ecx, byte [r15 + rsi]
movzx eax, byte [rdx + rsi]
test cl, cl
je 0x180001e15
add rsi, 1
cmp cl, al
je 0x180001e00
cmp cl, al
je 0x180001e23
add rdi, 4
add r10, 2
jmp 0x180001dee
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r13
call r9
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001e5d
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002030
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
lea r15, section..data
jl 0x180001e93
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002040
add r8, r10
mov edi, dword [r10 + rcx + 0x20]
mov r9d, dword [r10 + rcx + 0x24]
add rdi, r10
add r9, r10
mov eax, dword [rdi]
add rax, r10
xor esi, esi
nop dword [rax]
movzx ecx, byte [rbx + rsi]
movzx edx, byte [rax + rsi]
test cl, cl
je 0x180001ec4
add rsi, 1
cmp cl, dl
je 0x180001eb0
cmp cl, dl
je 0x180001ed2
add rdi, 4
add r9, 2
jmp 0x180001ea6
movzx eax, word [r9]
mov eax, dword [r8 + rax*4]
add r10, rax
sub rsp, 0x30
mov qword [rsp + 0x28], 0x1388
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor ecx, ecx
mov rdx, r14
mov r8, r14
call r10
add rsp, 0x10
mov rcx, qword [rbp]
call fcn.180002a10
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001f36
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002050
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001f65
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002060
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov ecx, dword [r10 + rcx + 0x24]
add rdx, r10
add rcx, r10
mov edi, dword [rdx]
add rdi, r10
xor esi, esi
nop
lea rax, [r12 + rsi]
movzx eax, byte [r15 + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x180001f99
add rsi, 1
cmp al, bl
je 0x180001f80
cmp al, bl
je 0x1800018ea
add rdx, 4
add rcx, 2
jmp 0x180001f78
jmp 0x180001fb0
jmp 0x180001fc0
jmp 0x180001fd0
jmp 0x180001fe0
jmp 0x180001ff0
jmp 0x180002000
jmp 0x180002010
jmp 0x180002020
jmp 0x180002030
jmp 0x180002040
jmp 0x180002050
jmp 0x180002060
jmp 0x180002070
jmp 0x180002080
jmp 0x180002082
jmp 0x180002084
mov r15, rax
cmp ecx, 0xa
jl 0x1800020a2
test edx, edx
je 0x1800020a2
nop word cs:[rax + rax]
nop dword [rax]
jmp 0x1800020a0
lea r8, [rsi + 0x108]
xor r9d, r9d
movzx edx, word [rsi + 6]
cmp r9, rdx
jae 0x180002424
lea rax, [r9 + r9*4]
lea r10, [r8 + rax*8]
add r10, 0xc
mov ebx, dword [0x180020a78]
mov edi, dword [0x180020a74]
cmp edi, 0xa
jl 0x1800020e5
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
jne 0x180002418
cmp edi, 0xa
jl 0x1800020f9
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
jne 0x180002412
mov eax, dword [r10 + 4]
test rax, rax
je 0x18000216c
mov ecx, dword [r10]
mov rdx, r15
add rcx, r15
mov edx, dword [r10 + 8]
lea rbx, section..data
lea rsi, [rdx + rbx]
add rsi, 0x404
jmp 0x180002134
add rax, 0xffffffffffffffff
add rsi, 1
add rcx, 1
test rax, rax
je 0x18000216c
movzx edx, byte [rsi]
mov byte [rcx], dl
mov ebx, dword [0x180020a78]
mov edi, dword [0x180020a74]
lea edx, [rbx - 1]
imul edx, ebx
and edx, 1
cmp edi, 0xa
jl 0x18000215e
test edx, edx
je 0x18000215e
movzx edx, byte [rsi]
mov byte [rcx], dl
jmp 0x180002134
cmp edi, 0xa
jl 0x180002123
test edx, edx
je 0x180002123
jmp 0x180002412
mov r14d, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea edx, [r14 - 1]
imul edx, r14d
and edx, 1
cmp ecx, 0xa
jl 0x1800023f2
test edx, edx
je 0x1800023f2
cmp edi, 0xa
jl 0x1800021a9
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
jne 0x180002416
mov eax, dword [r10 + 4]
test rax, rax
je 0x18000221b
mov ecx, dword [r10 + 8]
lea rdx, section..data
add rcx, rdx
add rcx, 0x404
mov esi, dword [r10]
mov rdx, r15
add rsi, r15
jmp 0x1800021e3
add rax, 0xffffffffffffffff
add rcx, 1
add rsi, 1
test rax, rax
je 0x18000221b
movzx edx, byte [rcx]
mov byte [rsi], dl
mov ebx, dword [0x180020a78]
mov edi, dword [0x180020a74]
lea edx, [rbx - 1]
imul edx, ebx
and edx, 1
cmp edi, 0xa
jl 0x18000220d
test edx, edx
je 0x18000220d
movzx edx, byte [rcx]
mov byte [rsi], dl
jmp 0x1800021e3
cmp edi, 0xa
jl 0x1800021d2
test edx, edx
je 0x1800021d2
jmp 0x180002410
cmp edi, 0xa
jl 0x18000222f
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
jne 0x18000241a
mov eax, dword [r10 + 4]
test rax, rax
je 0x1800022a1
mov ecx, dword [r10 + 8]
lea rdx, section..data
add rcx, rdx
add rcx, 0x404
mov esi, dword [r10]
mov rdx, r15
add rsi, r15
jmp 0x180002269
add rax, 0xffffffffffffffff
add rcx, 1
add rsi, 1
test rax, rax
je 0x1800022a1
movzx edx, byte [rcx]
mov byte [rsi], dl
mov ebx, dword [0x180020a78]
mov edi, dword [0x180020a74]
lea edx, [rbx - 1]
imul edx, ebx
and edx, 1
cmp edi, 0xa
jl 0x180002293
test edx, edx
je 0x180002293
movzx edx, byte [rcx]
mov byte [rsi], dl
jmp 0x180002269
cmp edi, 0xa
jl 0x180002258
test edx, edx
je 0x180002258
jmp 0x180002414
cmp dword [0x180020a6c], 0xa
jl 0x1800022bf
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002195
cmp edi, 0xa
jl 0x1800022d3
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
jne 0x180002420
mov eax, dword [r10 + 4]
test rax, rax
je 0x180002345
mov ecx, dword [r10 + 8]
lea rdx, section..data
add rcx, rdx
add rcx, 0x404
mov esi, dword [r10]
mov rdx, r15
add rsi, r15
jmp 0x18000230d
add rax, 0xffffffffffffffff
add rcx, 1
add rsi, 1
test rax, rax
je 0x180002345
movzx edx, byte [rcx]
mov byte [rsi], dl
mov ebx, dword [0x180020a78]
mov edi, dword [0x180020a74]
lea edx, [rbx - 1]
imul edx, ebx
and edx, 1
cmp edi, 0xa
jl 0x180002337
test edx, edx
je 0x180002337
movzx edx, byte [rcx]
mov byte [rsi], dl
jmp 0x18000230d
cmp edi, 0xa
jl 0x1800022fc
test edx, edx
je 0x1800022fc
jmp 0x18000241c
cmp dword [0x180020a6c], 0xa
jl 0x1800020d1
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800020d1
cmp edi, 0xa
jl 0x18000237b
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
jne 0x180002422
mov eax, dword [r10 + 4]
test rax, rax
je 0x1800022bf
mov ecx, dword [r10 + 8]
lea rdx, section..data
add rcx, rdx
add rcx, 0x404
mov esi, dword [r10]
mov rdx, r15
add rsi, r15
jmp 0x1800023bd
add rax, 0xffffffffffffffff
add rcx, 1
add rsi, 1
test rax, rax
je 0x1800022bf
movzx edx, byte [rcx]
mov byte [rsi], dl
mov ebx, dword [0x180020a78]
mov edi, dword [0x180020a74]
lea edx, [rbx - 1]
imul edx, ebx
and edx, 1
cmp edi, 0xa
jl 0x1800023e7
test edx, edx
je 0x1800023e7
movzx edx, byte [rcx]
mov byte [rsi], dl
jmp 0x1800023bd
cmp edi, 0xa
jl 0x1800023a8
test edx, edx
je 0x1800023a8
jmp 0x18000241e
add r9, 1
cmp ecx, 0xa
mov rsi, qword [rbp]
jl 0x1800020ac
test edx, edx
je 0x1800020ac
jmp 0x1800020a0
jmp 0x180002410
jmp 0x180002412
jmp 0x180002414
jmp 0x180002416
jmp 0x180002418
jmp 0x18000241a
jmp 0x18000241c
jmp 0x18000241e
jmp 0x180002420
jmp 0x180002422
mov rdx, qword [rbp]
mov rdx, qword [rdx + 0x30]
mov r11, r15
sub r11, rdx
cmp ecx, 0xa
jl 0x180002446
lea edx, [r14 - 1]
imul edx, r14d
and edx, 1
je 0x180002446
jmp 0x180002444
mov rdx, qword [rbp]
mov ebx, dword [rdx + 0xb0]
mov rax, r15
add rbx, r15
movabs r8, 0x1fffffff8
cmp dword [rbx], 0
je 0x18000258f
mov edx, dword [rbx + 4]
cmp rdx, 8
jb 0x180002548
cmp ecx, 0xa
jl 0x18000248c
lea esi, [r14 - 1]
imul esi, r14d
and esi, 1
jne 0x18000258b
add rdx, r8
shr rdx, 1
mov r9d, edx
xor r10d, r10d
cmp r10, r9
je 0x180002548
movzx edi, word [rbx + r10*2 + 8]
mov edx, edi
shr edx, 0xc
mov esi, edi
and esi, 0xfff
cmp edi, 0xa000
jae 0x1800024df
cmp edx, 3
jne 0x18000251d
mov eax, dword [rbx]
mov rcx, r15
lea rax, [r15 + rax*4]
mov ecx, esi
add dword [rax + rcx*4], r11d
mov r14d, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
jmp 0x18000251d
cmp edx, 0xa
jne 0x18000251d
mov eax, dword [rbx]
mov rcx, r15
add rsi, r15
add qword [rax + rsi], r11
mov r14d, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
cmp ecx, 0xa
jl 0x18000251d
lea edx, [r14 - 1]
imul edx, r14d
and edx, 1
je 0x18000251d
mov eax, dword [rbx]
add qword [rsi + rax], r11
mov eax, dword [rbx]
add qword [rsi + rax], r11
jmp 0x1800024f0
lea esi, [r14 - 1]
imul esi, r14d
and esi, 1
cmp ecx, 0xa
jl 0x180002531
test esi, esi
jne 0x18000258d
add r10, 1
cmp ecx, 0xa
jl 0x180002498
test esi, esi
je 0x180002498
jmp 0x18000258b
lea r9d, [r14 - 1]
imul r9d, r14d
test r9b, 1
sete r10b
cmp ecx, 0xa
setl dl
or dl, r10b
jne 0x18000256d
xor esi, esi
test sil, 1
mov esi, edx
je 0x180002565
mov edx, dword [rbx + 4]
add rbx, rdx
cmp ecx, 0xa
jl 0x180002460
and r9d, 1
je 0x180002460
jmp 0x180002444
jmp 0x18000258b
jmp 0x18000258d
cmp ecx, 0xa
jl 0x1800025a3
lea ecx, [r14 - 1]
imul ecx, r14d
and ecx, 1
je 0x1800025a3
jmp 0x1800025a1
mov rcx, r15
lea rax, [r15 + 2]
mov qword [rbp - 0x30], rax
mov rax, qword [rbp]
mov eax, dword [rax + 0x90]
add rax, r15
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x10]
mov r14d, dword [rax + 0xc]
test r14, r14
je 0x1800029ec
sub rsp, 0x20
mov rcx, qword [rbp - 8]
call fcn.180002a10
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180002602
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800029da
mov rax, r15
add r14, r15
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002637
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800029dc
add r8, r9
mov edi, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add rdi, r9
add r10, r9
mov esi, dword [rdi]
add rsi, r9
xor ebx, ebx
mov rcx, qword [rbp - 0x28]
movzx eax, byte [rcx + rbx + 2]
movzx edx, byte [rsi + rbx]
test al, al
je 0x18000266a
add rbx, 1
cmp al, dl
je 0x180002655
cmp al, dl
je 0x180002678
add rdi, 4
add r10, 2
jmp 0x18000264a
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r14
call r9
add rsp, 0x20
mov r13, rax
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x1800027a8
test edx, edx
je 0x1800027a8
sub rsp, 0x20
mov rcx, qword [rbp - 8]
call fcn.180002a10
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x1800026ec
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800029de
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x18000271b
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800029e0
add r8, r9
mov edi, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add rdi, r9
add r10, r9
mov esi, dword [rdi]
add rsi, r9
xor ebx, ebx
mov rcx, qword [rbp - 0x28]
movzx eax, byte [rcx + rbx + 2]
movzx edx, byte [rsi + rbx]
test al, al
je 0x18000274e
add rbx, 1
cmp al, dl
je 0x180002739
cmp al, dl
je 0x18000275c
add rdi, 4
add r10, 2
jmp 0x18000272e
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r14
call r9
mov rcx, qword [rbp - 8]
call fcn.180002a10
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180002608
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180002608
jmp 0x1800029da
cmp ecx, 0xa
jl 0x1800027b5
test edx, edx
jne 0x1800029ea
mov rdx, qword [rbp - 0x10]
mov ebx, dword [rdx]
mov r12d, dword [rdx + 0x10]
mov rdx, r15
add rbx, r15
mov qword [rbp - 0x18], rbx
add r12, r15
mov rdx, qword [rbp - 0x18]
mov rdx, qword [rdx]
test rdx, rdx
je 0x1800029b8
mov rax, qword [rbp - 0x30]
add rax, rdx
test rdx, rdx
movzx r14d, dx
cmovns r14, rax
jmp 0x18000280f
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r13
mov rdx, r14
call r9
add rsp, 0x20
mov qword [r12], rax
sub rsp, 0x20
mov rcx, qword [rbp - 8]
call fcn.180002a10
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180002841
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800029e2
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002870
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800029e4
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rdx, r9
add rcx, r9
mov esi, dword [rdx]
add rsi, r9
xor edi, edi
mov rax, qword [rbp - 0x20]
movzx eax, byte [rax + rdi + 1]
movzx ebx, byte [rsi + rdi]
test al, al
je 0x1800028a3
add rdi, 1
cmp al, bl
je 0x18000288a
cmp al, bl
je 0x1800028b1
add rdx, 4
add rcx, 2
jmp 0x180002883
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r13
mov rdx, r14
call r9
add rsp, 0x20
mov qword [r12], rax
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x18000299c
test edx, edx
je 0x18000299c
sub rsp, 0x20
mov rcx, qword [rbp - 8]
call fcn.180002a10
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180002928
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800029e6
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002957
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800029e8
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rdx, r9
add rcx, r9
mov esi, dword [rdx]
add rsi, r9
xor edi, edi
mov rax, qword [rbp - 0x20]
movzx eax, byte [rax + rdi + 1]
movzx ebx, byte [rsi + rdi]
test al, al
je 0x18000298a
add rdi, 1
cmp al, bl
je 0x180002971
cmp al, bl
je 0x1800027f0
add rdx, 4
add rcx, 2
jmp 0x18000296a
add qword [rbp - 0x18], 8
add r12, 8
cmp ecx, 0xa
jl 0x1800027cc
test edx, edx
je 0x1800027cc
jmp 0x1800029ea
add qword [rbp - 0x10], 0x14
cmp ecx, 0xa
jl 0x1800025bf
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800025bf
jmp 0x1800025a1
jmp 0x1800029da
jmp 0x1800029dc
jmp 0x1800029de
jmp 0x1800029e0
jmp 0x1800029e2
jmp 0x1800029e4
jmp 0x1800029e6
jmp 0x1800029e8
jmp 0x1800029ea
mov rax, qword [rbp]
mov eax, dword [rax + 0x28]
mov rcx, r15
add rcx, rax
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
jmp rcx