Function at 0x180001090
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 0x1800010c2
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800010c2
nop
jmp 0x1800010c0
mov eax, 0x10
call entry0
sub rsp, rax
mov rdi, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov qword [rbp - 8], rsp
cmp dword [0x180020a74], 0xa
jl 0x180001102
mov ecx, dword [0x180020a78]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x180001102
nop dword [rax]
jmp 0x180001100
mov r10b, byte [section..data]
mov r9d, dword [0x180020a78]
mov r14d, dword [0x180020a74]
lea esi, [r9 - 1]
imul esi, r9d
and esi, 1
sete cl
cmp r14d, 0xa
setl bl
or bl, cl
mov r12b, byte [0x180004001]
mov r8b, byte [0x180004002]
mov al, byte [0x180004003]
mov byte [rbp - 0x10], al
mov ecx, dword [0x180020a70]
mov r11d, dword [0x180020a6c]
lea eax, [rcx - 1]
imul eax, ecx
test al, 1
sete cl
cmp r11d, 0xa
setl r15b
or r15b, cl
mov ecx, ebx
or cl, bl
mov byte [rdi], r10b
test bl, bl
jne 0x180001187
nop word cs:[rax + rax]
nop dword [rax]
test bl, bl
je 0x180001180
mov byte [rdi], r10b
cmp r14d, 0xa
jl 0x180001195
test esi, esi
jne 0x1800013e0
mov byte [rdi + 1], r12b
test bl, bl
jne 0x1800011a8
nop dword [rax]
test bl, bl
je 0x1800011a0
mov byte [rdi + 1], r12b
cmp r14d, 0xa
jl 0x1800011b6
test esi, esi
jne 0x1800013e0
mov byte [rdi + 2], r8b
test bl, bl
jne 0x1800011c8
nop
test bl, bl
je 0x1800011c0
mov byte [rdi + 2], r8b
cmp r14d, 0xa
jl 0x1800011d6
test esi, esi
jne 0x1800013e0
mov dl, byte [rbp - 0x10]
mov byte [rdi + 3], dl
test bl, bl
jne 0x1800011ea
test bl, bl
je 0x1800011e0
mov dl, byte [rbp - 0x10]
mov byte [rdi + 3], dl
cmp r14d, 0xa
jl 0x1800011f8
test esi, esi
jne 0x1800013e0
mov byte [rbp - 0x18], r8b
mov dword [rbp], eax
mov edx, r14d
mov r13d, r9d
test r15b, r15b
je 0x180001219
jmp 0x180001482
test r15b, r15b
jne 0x18000136e
cmp edx, 0xa
jl 0x18000122f
lea eax, [r13 - 1]
imul eax, r13d
and eax, 1
jne 0x1800013f0
test bl, bl
mov eax, esi
cmovne eax, esi
mov edx, r14d
cmovne edx, r14d
test cl, cl
je 0x180001400
cmp edx, 0xa
jl 0x180001252
test eax, eax
jne 0x1800013c0
test bl, bl
mov eax, esi
cmovne eax, esi
mov edx, r14d
cmovne edx, r14d
test cl, cl
je 0x180001410
cmp edx, 0xa
jl 0x180001275
test eax, eax
jne 0x1800013c0
test bl, bl
mov eax, esi
cmovne eax, esi
mov edx, r14d
cmovne edx, r14d
test cl, cl
je 0x180001420
cmp edx, 0xa
jl 0x180001298
test eax, eax
jne 0x1800013c0
test bl, bl
mov edi, esi
cmovne edi, esi
mov edx, r14d
cmovne edx, r14d
mov eax, r9d
cmovne eax, eax
test cl, cl
je 0x180001430
cmp edx, 0xa
jl 0x1800012c1
test edi, edi
jne 0x1800013c0
cmp edx, 0xa
jl 0x1800012d5
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001440
test bl, bl
mov eax, esi
cmovne eax, esi
mov edx, r14d
cmovne edx, r14d
test cl, cl
je 0x180001450
cmp edx, 0xa
jl 0x1800012f8
test eax, eax
jne 0x1800013d0
test bl, bl
mov eax, esi
cmovne eax, esi
mov edx, r14d
cmovne edx, r14d
test cl, cl
je 0x180001460
cmp edx, 0xa
jl 0x18000131b
test eax, eax
jne 0x1800013d0
test bl, bl
mov eax, esi
cmovne eax, esi
mov edx, r14d
cmovne edx, r14d
test cl, cl
je 0x180001470
cmp edx, 0xa
jl 0x18000133e
test eax, eax
jne 0x1800013d0
test bl, bl
mov eax, esi
cmovne eax, esi
mov edx, r14d
cmovne edx, r14d
mov r13d, r9d
cmovne r13d, r13d
test cl, cl
je 0x180001480
cmp edx, 0xa
jl 0x180001210
test eax, eax
je 0x180001210
jmp 0x1800013d0
mov eax, 0x10
call entry0
sub rsp, rax
mov rdi, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov qword [rbp - 8], rsp
cmp edx, 0xa
mov eax, dword [rbp]
mov r8b, byte [rbp - 0x18]
jl 0x18000116c
lea edx, [r13 - 1]
imul edx, r13d
and edx, 1
mov r8b, byte [rbp - 0x18]
je 0x18000116c
jmp 0x180001100
jmp 0x1800013c0
jmp 0x1800013d0
jmp 0x1800013e0
jmp 0x1800013f0
jmp 0x180001400
jmp 0x180001410
jmp 0x180001420
jmp 0x180001430
jmp 0x180001440
jmp 0x180001450
jmp 0x180001460
jmp 0x180001470
jmp 0x180001480
mov r13d, dword [rdi]
test r13, r13
mov r8, qword [rbp - 8]
je 0x18000159f
xor eax, eax
cmp r13d, 0x10
jb 0x180001571
lea rdx, [r13 - 1]
cmp rdx, 0x400
jae 0x180001571
mov eax, r13d
and eax, 0xfffffff0
lea rbx, [rax - 0x10]
mov rdx, rbx
shr rdx, 4
add rdx, 1
mov ecx, edx
and ecx, 1
test rbx, rbx
je 0x180001537
mov rdi, rcx
sub rdi, rdx
xor esi, esi
lea rdx, section..data
movaps xmm0, xmmword [str._f_f_f_f_f_f_f_f_f_f_f_f_f_f_f_f]
mov ebx, esi
and ebx, 0x3e0
movups xmm1, xmmword [rbx + rdx + 4]
movups xmm2, xmmword [rsi + rdx + 0x404]
xorps xmm2, xmm1
movups xmm1, xmmword [rsi + rdx + 0x414]
xorps xmm2, xmm0
movups xmmword [rsi + rdx + 0x404], xmm2
lea ebx, [rsi + 0x10]
and ebx, 0x3f0
movups xmm2, xmmword [rbx + rdx + 4]
xorps xmm1, xmm0
xorps xmm1, xmm2
movups xmmword [rsi + rdx + 0x414], xmm1
add rsi, 0x20
add rdi, 2
jne 0x1800014e4
jmp 0x180001539
xor esi, esi
test rcx, rcx
je 0x18000156c
mov edx, esi
and edx, 0x3f0
lea rbx, section..data
movups xmm0, xmmword [rdx + rbx + 4]
movups xmm1, xmmword [rsi + rbx + 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 [rsi + rbx + 0x404], xmm1
cmp rax, r13
je 0x18000159f
lea rdx, section..data
mov ecx, eax
and ecx, 0x3ff
movzx ecx, byte [rcx + rdx + 4]
xor cl, byte [rax + rdx + 0x404]
xor cl, 0xc
mov byte [rax + rdx + 0x404], cl
add rax, 1
cmp rax, r13
jb 0x180001578
cmp r11d, 0xa
jl 0x1800015af
and dword [rbp], 1
jne 0x180001717
cmp r14d, 0xa
jl 0x1800015c6
lea ecx, [r9 - 1]
imul ecx, r9d
and ecx, 1
jne 0x180001660
lea r10, section..data
lea r11, [r10 + r13]
add r11, 0x404
mov bl, byte [r11]
nop dword [rax + rax]
mov byte [r8], bl
mov edi, dword [0x180020a78]
mov edx, dword [0x180020a74]
lea ecx, [rdi - 1]
imul ecx, edi
and ecx, 1
cmp edx, 0xa
jl 0x180001601
test ecx, ecx
jne 0x1800015e0
cmp edx, 0xa
jl 0x18000160e
test ecx, ecx
jne 0x180001850
mov bl, byte [r11 + 1]
mov byte [r8 + 1], bl
mov edi, dword [0x180020a78]
mov edx, dword [0x180020a74]
lea ecx, [rdi - 1]
imul ecx, edi
nop dword [rax + rax]
and ecx, 1
cmp edx, 0xa
jl 0x180001662
test ecx, ecx
je 0x180001662
mov byte [r8 + 1], bl
mov eax, dword [0x180020a78]
mov edx, dword [0x180020a74]
lea ecx, [rax - 1]
imul ecx, eax
jmp 0x180001630
jmp 0x180001660
cmp edx, 0xa
jl 0x18000166f
test ecx, ecx
jne 0x180001850
mov bl, byte [r11 + 2]
nop word cs:[rax + rax]
nop dword [rax]
mov byte [r8 + 2], bl
mov eax, dword [0x180020a78]
mov edx, dword [0x180020a74]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
cmp edx, 0xa
jl 0x1800016a2
test ecx, ecx
jne 0x180001680
cmp edx, 0xa
jl 0x1800016af
test ecx, ecx
jne 0x180001850
mov dl, byte [r11 + 3]
nop word cs:[rax + rax]
nop dword [rax]
mov byte [r8 + 3], dl
mov r9d, dword [0x180020a78]
mov r14d, dword [0x180020a74]
lea ecx, [r9 - 1]
imul ecx, r9d
and ecx, 1
cmp r14d, 0xa
jl 0x1800016e7
test ecx, ecx
jne 0x1800016c0
cmp r14d, 0xa
jl 0x1800016f5
test ecx, ecx
jne 0x180001850
cmp dword [0x180020a6c], 0xa
jl 0x180001862
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001862
cmp r14d, 0xa
jl 0x18000172e
lea eax, [r9 - 1]
imul eax, r9d
and eax, 1
jne 0x180001860
lea rdi, section..data
mov cl, byte [r13 + rdi + 0x404]
nop dword [rax]
mov byte [r8], cl
mov eax, dword [0x180020a78]
mov ebx, dword [0x180020a74]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ebx, 0xa
jl 0x180001761
test edx, edx
jne 0x180001740
cmp ebx, 0xa
jl 0x18000176e
test edx, edx
jne 0x180001840
mov cl, byte [r13 + rdi + 0x405]
nop word cs:[rax + rax]
mov byte [r8 + 1], cl
mov eax, dword [0x180020a78]
mov ebx, dword [0x180020a74]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ebx, 0xa
jl 0x1800017a2
test edx, edx
jne 0x180001780
cmp ebx, 0xa
jl 0x1800017af
test edx, edx
jne 0x180001840
mov cl, byte [r13 + rdi + 0x406]
nop word [rax + rax]
mov byte [r8 + 2], cl
mov eax, dword [0x180020a78]
mov ebx, dword [0x180020a74]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ebx, 0xa
jl 0x1800017e2
test edx, edx
jne 0x1800017c0
cmp ebx, 0xa
jl 0x1800017eb
test edx, edx
jne 0x180001840
mov dl, byte [r13 + rdi + 0x407]
nop word cs:[rax + rax]
nop dword [rax]
mov byte [r8 + 3], dl
mov r9d, dword [0x180020a78]
mov r14d, dword [0x180020a74]
lea ecx, [r9 - 1]
imul ecx, r9d
and ecx, 1
cmp r14d, 0xa
jl 0x180001827
test ecx, ecx
jne 0x180001800
cmp r14d, 0xa
jl 0x1800015af
test ecx, ecx
je 0x1800015af
nop dword [rax]
jmp 0x180001840
jmp 0x180001850
jmp 0x180001860
add r11, 4
mov r9d, dword [r8]
test r9, r9
mov qword [rbp - 0x10], r11
je 0x1800019cc
xor eax, eax
cmp r9d, 0x20
jb 0x1800019a7
lea rdx, [r9 - 1]
cmp rdx, 0x400
jae 0x1800019a7
lea rcx, [r10 + r13]
add rcx, 0x408
lea rdx, [r9 + r10]
add rdx, 4
cmp rcx, rdx
jae 0x1800018cc
lea rcx, [r9 + r13]
add rcx, r10
add rcx, 0x408
lea rdx, str.EbpnYiBtkXlaMHXvcjSCAcKwGEMmEBlLMnDJsqsSdVDPKbKDiujxohDulPglixkrSdJGGHSwqLvBzSTGYJUbBtKAExJtxxinykteTYEYXctzusHqZiGwtDLxtsnUAAOOaLjVjERYkMwPmQeXWLyIwcxYWZcpVFnIfQgmkntvdVBtPsKSRvqDpYRTVZfwkhcuGVefdKoXtqvywInYzbbQiCVCMnXazxHVOFPpXDJnGwoLyqftxaOTIwubFtwasuqpYLwaYZSgiZJApRMFbBIcaljRwHSnxJRJvrCjSZktCpfgOJSWPzlaSvLfxBQXUEIpDGfhPFRxIBsfQTIbFwQKVdJehMVcRmXXIcuAArVsdXKsPMIMEjJxWdSBKkBtVPvyllGOmDrjiBQihJWBGlcuGsErKxBeTPXsyZYKKKcCezgaQzFtSKxxPobYuqGiSpfgyUTWkeInMMfsOVERHCqwHGpVPrwVEPbUzjnuzyBEqVCsYjtBlSzwBKoqKjVXSkBREPutUGaXLOhgUWDnbulVlkxrMoYmQWELEtXZIlFpjTYZdoznmlfFCPVmLnUdoopWFqAIKvEkIUaHZraYSZIHrDxUMVSCaESrZgAHQPMounFiJeiqFhpXXhXjiMVhQhHyREQCrvCmuFdtMbkraMOnKbxFgBaFxdlVCHgnJnHUuPyykeXIpIQIdkHncJYCQCkPPAfCLrnexouyGgSbCVXDTFtQBQCVKkVTYbmzTAPmtrPKHaBGcHjLCgexeotWyFmXOLZXBIOuJvuTsaOtStRIAesatexJzmRwgXEkGgUinhzWttYjQjHRLQYTrajgHESoPhmojGXKIRImspFCAuOuizpzLytwsfICKZDeDvupndtxYwxEqdmwMVtxcFjmafQSHtzQSISljDbBTtnwSvXrbGTRAQKVcYTugUWAYABxQQUqOjArBUloZqdSjfvIvxiYVqdcxbSwqwgWStPGagmpgbwPrmiEEpgwAJdGsmPMgpnrSUtlJYfQamDZcjIBDIo
cmp rcx, rdx
jbe 0x1800018cc
xor eax, eax
jmp 0x1800019a7
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 0x180001967
lea rdi, [r10 + r13]
add rdi, 0x438
mov rbx, r8
sub rbx, rdx
xor esi, esi
mov edx, esi
and edx, 0x3c0
movups xmm0, xmmword [rdx + r10 + 4]
movups xmm1, xmmword [rdx + r10 + 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 + r10 + 4]
xorps xmm0, xmm1
movups xmm1, xmmword [rdx + r10 + 0x14]
xorps xmm1, xmm3
movups xmmword [rdi + rsi - 0x10], xmm0
movups xmmword [rdi + rsi], xmm1
add rsi, 0x40
add rbx, 2
jne 0x180001900
jmp 0x180001969
xor esi, esi
test r8, r8
mov r11, qword [rbp - 0x10]
je 0x1800019a2
mov edx, esi
and edx, 0x3e0
movups xmm0, xmmword [rdx + r10 + 4]
movups xmm1, xmmword [rdx + r10 + 0x14]
movups xmm2, xmmword [r11 + rsi]
xorps xmm2, xmm0
movups xmm0, xmmword [r11 + rsi + 0x10]
xorps xmm0, xmm1
movups xmmword [r11 + rsi], xmm2
movups xmmword [r11 + rsi + 0x10], xmm0
cmp rax, r9
je 0x1800019cc
lea rdx, [r10 + r13]
add rdx, 0x408
mov ecx, eax
and ecx, 0x3ff
movzx ecx, byte [rcx + r10 + 4]
xor byte [rdx + rax], cl
add rax, 1
cmp rax, r9
jb 0x1800019b2
cmp dword [0x180020a7c], 0xa
jl 0x1800019f2
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800019f2
nop word cs:[rax + rax]
jmp 0x1800019f0
add r13, 0x408
movsxd rax, dword [0x180004440]
add rax, r10
add rax, 0x404
mov qword [rbp], rax
mov rsi, r11
cmp byte [rsi], 0
lea rsi, [rsi + 1]
jne 0x180001a10
mov r12, rsi
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001a1c
mov r15, r12
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001a2b
mov qword [rbp - 0x18], r15
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001a39
mov rdi, r15
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001a46
mov r14, rdi
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001a52
sub rsp, 0x20
mov rcx, rsi
call fcn.180002c10
add rsp, 0x20
mov r9, rax
mov eax, dword [0x180020a84]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x180020a88], 0xa
setl al
or al, cl
test al, al
je 0x180001a8d
mov qword [rbp - 8], rsi
movsxd rax, dword [r9 + 0x3c]
mov eax, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rax + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001ac4
mov ecx, dword [0x180020a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180002315
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
movzx ecx, byte [rdx]
movzx ebx, byte [rax]
test cl, cl
je 0x180001af6
add rdx, 1
add rax, 1
cmp cl, bl
je 0x180001ae0
cmp cl, bl
je 0x180001b04
add rsi, 4
add r10, 2
jmp 0x180001ad7
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
mov eax, dword [0x180020a84]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x180020a88], 0xa
setl al
or al, cl
test al, al
je 0x180001b3e
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001b71
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002317
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, r15
nop dword [rax]
movzx ebx, byte [rax]
movzx ecx, byte [rsi]
test bl, bl
je 0x180001ba6
add rax, 1
add rsi, 1
cmp bl, cl
je 0x180001b90
cmp bl, cl
je 0x180001bb4
add rdx, 4
add rdi, 2
jmp 0x180001b84
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, r14
mov r8, r14
call r10
add rsp, 0x10
mov rcx, qword [rbp - 8]
call fcn.180002c10
add rsp, 0x20
mov r10, rax
mov eax, dword [0x180020a84]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x180020a88], 0xa
setl al
or al, cl
test al, al
je 0x180001c17
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 0x180001c51
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002319
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 dword [rax + rax]
lea rax, [rsi + r13]
movzx eax, byte [rcx + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x180001c88
add rsi, 1
cmp al, bl
je 0x180001c70
cmp al, bl
je 0x180001c96
add rdx, 4
add r9, 2
jmp 0x180001c64
movzx eax, word [r9]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rax, qword [rbp]
mov edx, dword [rax + 0x50]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
add rsp, 0x20
mov r15, rax
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea ebx, [rax - 1]
imul ebx, eax
cmp ecx, 0xa
jl 0x18000231b
mov edx, ebx
and edx, 1
je 0x18000231b
movsxd rsi, dword [0x180004440]
cmp dword [0x180020a7c], 0xa
mov rdx, qword [rbp - 0x10]
mov r15, rdx
jl 0x180001d19
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
mov r15, rdx
and ecx, 1
jne 0x180002305
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001d19
mov rbx, r15
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001d26
mov r14, rbx
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001d32
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001d3c
mov rdi, r14
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001d49
mov r12, rdi
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001d55
sub rsp, 0x20
mov rcx, r15
call fcn.180002c10
add rsp, 0x20
mov r9, rax
mov eax, dword [0x180020a84]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x180020a88], 0xa
setl al
or al, cl
test al, al
je 0x180001d92
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001dc5
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002307
mov qword [rbp - 8], 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
nop word cs:[rax + rax]
nop
movzx ecx, byte [rsi]
movzx eax, byte [rdx]
test cl, cl
je 0x180001e06
add rsi, 1
add rdx, 1
cmp cl, al
je 0x180001df0
cmp cl, al
je 0x180001e14
add r11, 4
add r10, 2
jmp 0x180001ddc
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
mov eax, dword [0x180020a84]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x180020a88], 0xa
setl al
or al, cl
test al, al
je 0x180001e4e
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001e81
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002309
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, r14
nop dword [rax]
movzx eax, byte [rbx]
movzx ecx, byte [rsi]
test al, al
je 0x180001eb6
add rbx, 1
add rsi, 1
cmp al, cl
je 0x180001ea0
cmp al, cl
je 0x180001ec4
add rdx, 4
add rdi, 2
jmp 0x180001e94
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, r15
call fcn.180002c10
add rsp, 0x20
mov r10, rax
mov eax, dword [0x180020a84]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x180020a88], 0xa
setl al
or al, cl
test al, al
je 0x180001f26
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 0x180001f60
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000230b
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, [rsi + r13]
movzx eax, byte [rcx + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x180001f98
add rsi, 1
cmp al, bl
je 0x180001f80
cmp al, bl
je 0x180001fa6
add rdx, 4
add r9, 2
jmp 0x180001f73
movzx eax, word [r9]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rax, qword [rbp - 8]
mov edx, dword [rax + rcx + 0x454]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
add rsp, 0x20
movsxd rsi, dword [0x180004440]
cmp dword [0x180020a7c], 0xa
mov rdx, qword [rbp - 0x10]
mov r15, rdx
jl 0x180002004
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
mov r15, rdx
and ecx, 1
jne 0x18000230d
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180002004
mov rbx, r15
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180002011
mov r14, rbx
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x18000201d
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180002027
mov rdi, r14
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180002034
mov r12, rdi
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180002040
sub rsp, 0x20
mov rcx, r15
call fcn.180002c10
add rsp, 0x20
mov r9, rax
mov eax, dword [0x180020a84]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x180020a88], 0xa
setl al
or al, cl
test al, al
je 0x18000207d
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800020b0
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000230f
mov qword [rbp - 8], 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 0x1800020e6
add rsi, 1
add rdx, 1
cmp cl, al
je 0x1800020d0
cmp cl, al
je 0x1800020f4
add r11, 4
add r10, 2
jmp 0x1800020c7
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
mov eax, dword [0x180020a84]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x180020a88], 0xa
setl al
or al, cl
test al, al
je 0x18000212e
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002161
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002311
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, r14
nop dword [rax]
movzx eax, byte [rbx]
movzx ecx, byte [rsi]
test al, al
je 0x180002196
add rbx, 1
add rsi, 1
cmp al, cl
je 0x180002180
cmp al, cl
je 0x1800021a4
add rdx, 4
add rdi, 2
jmp 0x180002174
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, r15
call fcn.180002c10
add rsp, 0x20
mov r10, rax
mov eax, dword [0x180020a84]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x180020a88], 0xa
setl al
or al, cl
test al, al
je 0x180002206
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 0x180002240
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002313
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, [rsi + r13]
movzx eax, byte [rcx + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x180002278
add rsi, 1
cmp al, bl
je 0x180002260
cmp al, bl
je 0x180002286
add rdx, 4
add r9, 2
jmp 0x180002253
movzx eax, word [r9]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rax, qword [rbp - 8]
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 0x1800022d3
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001cea
cmp dword [0x180020a7c], 0xa
lea r10, section..data
mov r11, qword [rbp - 0x10]
jl 0x1800019f9
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800019f9
jmp 0x1800019f0
jmp 0x180002305
jmp 0x180002307
jmp 0x180002309
jmp 0x18000230b
jmp 0x18000230d
jmp 0x18000230f
jmp 0x180002311
jmp 0x180002313
jmp 0x180002315
jmp 0x180002317
jmp 0x180002319
test bl, 1
sete dl
cmp ecx, 0xa
setl bl
or bl, dl
cmp bl, 1
jne 0x180002568
mov rdx, qword [rbp]
lea r14, [rdx + 0x108]
xor r10d, r10d
mov rdx, qword [rbp]
movzx edx, word [rdx + 6]
cmp r10, rdx
jae 0x180002576
lea rax, [r10 + r10*4]
lea r8, [r14 + rax*8]
add r8, 0xc
lea r11, [r14 + rax*8]
add r11, 0x10
lea r9, [r14 + rax*8]
add r9, 0x14
cmp dword [0x180020a74], 0xa
jl 0x18000238b
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002570
mov eax, dword [r8]
add rax, r15
mov ecx, dword [r11]
mov edx, dword [r9]
lea rsi, section..data
add rdx, rsi
add rdx, 0x404
sub rcx, 1
jb 0x1800023ee
movzx ebx, byte [rdx]
mov byte [rax], bl
mov ebx, dword [0x180020a78]
mov edi, dword [0x180020a74]
lea esi, [rbx - 1]
imul esi, ebx
and esi, 1
cmp edi, 0xa
jl 0x1800023d8
test esi, esi
je 0x1800023d8
movzx ebx, byte [rdx]
mov byte [rax], bl
jmp 0x1800023ae
add rdx, 1
add rax, 1
cmp edi, 0xa
jl 0x1800023a8
test esi, esi
je 0x1800023a8
jmp 0x18000256a
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea edx, [rax - 1]
imul edx, eax
cmp ecx, 0xa
jl 0x18000254d
mov esi, edx
and esi, 1
je 0x18000254d
mov eax, dword [0x180020a78]
mov ecx, dword [0x180020a74]
cmp ecx, 0xa
jl 0x180002434
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002572
mov ebx, dword [r11]
test rbx, rbx
je 0x1800024a2
mov eax, dword [r9]
lea rcx, section..data
lea rsi, [rax + rcx]
add rsi, 0x404
mov edx, dword [r8]
add rdx, r15
jmp 0x18000246a
add rbx, 0xffffffffffffffff
add rdx, 1
add rsi, 1
test rbx, rbx
je 0x1800024a2
movzx eax, byte [rsi]
mov byte [rdx], al
mov eax, dword [0x180020a78]
mov ecx, dword [0x180020a74]
lea edi, [rax - 1]
imul edi, eax
and edi, 1
cmp ecx, 0xa
jl 0x180002494
test edi, edi
je 0x180002494
movzx eax, byte [rsi]
mov byte [rdx], al
jmp 0x18000246a
cmp ecx, 0xa
jl 0x180002459
test edi, edi
je 0x180002459
jmp 0x18000256c
cmp ecx, 0xa
jl 0x1800024b6
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002574
mov ebx, dword [r11]
test rbx, rbx
je 0x180002521
mov eax, dword [r9]
lea rcx, section..data
lea rsi, [rax + rcx]
add rsi, 0x404
mov edx, dword [r8]
add rdx, r15
jmp 0x1800024ec
add rbx, 0xffffffffffffffff
add rdx, 1
add rsi, 1
test rbx, rbx
je 0x180002521
movzx eax, byte [rsi]
mov byte [rdx], al
mov eax, dword [0x180020a78]
mov ecx, dword [0x180020a74]
lea edi, [rax - 1]
imul edi, eax
and edi, 1
cmp ecx, 0xa
jl 0x180002516
test edi, edi
je 0x180002516
movzx eax, byte [rsi]
mov byte [rdx], al
jmp 0x1800024ec
cmp ecx, 0xa
jl 0x1800024db
test edi, edi
je 0x1800024db
jmp 0x18000256e
cmp dword [0x180020a6c], 0xa
jl 0x18000253f
mov edx, dword [0x180020a70]
lea esi, [rdx - 1]
imul esi, edx
and esi, 1
jne 0x180002420
cmp ecx, 0xa
jge 0x18000237c
jmp 0x18000238b
add r10, 1
test dl, 1
sete dl
cmp ecx, 0xa
setl bl
or bl, dl
cmp bl, 1
je 0x180002340
jmp 0x180002568
jmp 0x18000256a
jmp 0x18000256c
jmp 0x18000256e
jmp 0x180002570
jmp 0x180002572
jmp 0x180002574
mov rdx, qword [rbp]
mov esi, dword [rdx + 0xb0]
cmp dword [r15 + rsi], 0
je 0x180002715
add rsi, r15
mov rdx, qword [rbp]
mov rdi, qword [rdx + 0x30]
mov r14, r15
sub r14, rdi
movabs r8, 0x1fffffff8
mov r10, rsi
test bl, 1
jne 0x1800025e8
jmp 0x180002713
mov edx, dword [r10 + 4]
lea rsi, [r10 + rdx]
lea ebx, [rax - 1]
imul ebx, eax
test bl, 1
sete r9b
cmp ecx, 0xa
setl bl
or bl, r9b
cmp dword [r10 + rdx], 0
mov r10, rsi
je 0x180002715
test bl, 1
je 0x180002713
mov edi, dword [r10 + 4]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
cmp rdi, 7
jbe 0x1800026fc
cmp ecx, 0xa
jl 0x18000260c
test ebx, ebx
jne 0x18000270f
add rdi, r8
shr rdi, 1
mov r9d, edi
xor r11d, r11d
cmp r11, r9
je 0x1800026fc
movzx edx, word [r10 + r11*2 + 8]
mov edi, edx
shr edi, 0xc
mov ebx, edx
and ebx, 0xfff
cmp edx, 0xa000
jae 0x18000269b
cmp edi, 3
jne 0x1800026d3
mov eax, dword [rsi]
lea rax, [r15 + rax*4]
mov edi, ebx
add dword [rax + rdi*4], r14d
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
cmp ecx, 0xa
jl 0x1800026d3
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x1800026d3
lea rdi, [r15 + rdi*4]
mov eax, dword [rsi]
add dword [rdi + rax*4], r14d
mov eax, dword [rsi]
add dword [rdi + rax*4], r14d
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
cmp ecx, 0xa
jl 0x1800026d3
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002671
jmp 0x1800026d3
cmp edi, 0xa
jne 0x1800026d3
mov eax, dword [rsi]
add rbx, r15
add qword [rax + rbx], r14
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
cmp ecx, 0xa
jl 0x1800026d3
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x1800026d3
mov eax, dword [rsi]
add qword [rbx + rax], r14
mov eax, dword [rsi]
add qword [rbx + rax], r14
jmp 0x1800026a9
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
cmp ecx, 0xa
jl 0x1800026e5
test ebx, ebx
jne 0x180002711
add r11, 1
cmp ecx, 0xa
jl 0x180002618
test ebx, ebx
je 0x180002618
jmp 0x18000270f
cmp ecx, 0xa
jl 0x1800025b3
test ebx, ebx
je 0x1800025b3
jmp 0x18000270d
jmp 0x18000270f
jmp 0x180002711
jmp 0x180002713
test bl, 1
je 0x180002b26
mov rdx, qword [rbp]
mov edx, dword [rdx + 0x90]
add rdx, r15
mov qword [rbp - 0x20], rdx
lea rdx, [r15 + 2]
mov qword [rbp - 0x30], rdx
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete dl
cmp ecx, 0xa
setl al
or al, dl
test al, al
je 0x18000274b
mov rax, qword [rbp - 0x20]
mov r14d, dword [rax + 0xc]
test r14, r14
je 0x180002bcd
add r14, r15
jmp 0x18000277d
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r14
call r9
add rsp, 0x20
sub rsp, 0x20
mov rcx, qword [rbp - 8]
call fcn.180002c10
add rsp, 0x20
mov r9, rax
mov eax, dword [0x180020a84]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x180020a88], 0xa
setl al
or al, cl
test al, al
je 0x1800027af
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800027e2
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002b28
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 0x180002813
add rsi, 1
add rdi, 1
cmp al, dl
je 0x1800027fd
cmp al, dl
je 0x180002821
add rbx, 4
add rcx, 2
jmp 0x1800027f5
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 r13, rax
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
cmp ecx, 0xa
jl 0x180002908
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x180002908
sub rsp, 0x20
mov rcx, qword [rbp - 8]
call fcn.180002c10
add rsp, 0x20
mov r9, rax
mov eax, dword [0x180020a84]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x180020a88], 0xa
setl al
or al, cl
test al, al
je 0x180002892
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800028c5
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002b2a
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 0x1800028f6
add rsi, 1
add rdi, 1
cmp al, dl
je 0x1800028e0
cmp al, dl
je 0x180002765
add rbx, 4
add rcx, 2
jmp 0x1800028d8
mov rdx, qword [rbp - 0x20]
mov ebx, dword [rdx]
mov edx, dword [rdx + 0x10]
add rdx, r15
mov qword [rbp - 0x10], rdx
add rbx, r15
mov qword [rbp - 0x28], rbx
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete bl
cmp ecx, 0xa
setl dl
or dl, bl
test dl, dl
je 0x180002933
mov rdx, qword [rbp - 0x28]
mov rdx, qword [rdx]
test rdx, rdx
je 0x180002b1c
mov rax, qword [rbp - 0x30]
add rax, rdx
test rdx, rdx
movzx r14d, dx
cmovns r14, rax
jmp 0x18000297d
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 rcx, qword [rbp - 0x10]
mov qword [rcx], rax
sub rsp, 0x20
mov rcx, qword [rbp - 8]
call fcn.180002c10
add rsp, 0x20
mov r9, rax
mov eax, dword [0x180020a84]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x180020a88], 0xa
setl al
or al, cl
test al, al
je 0x1800029af
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800029e2
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002b2c
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 - 0x18]
movzx eax, byte [rsi]
movzx ebx, byte [rdi]
test al, al
je 0x180002a14
add rsi, 1
add rdi, 1
cmp al, bl
je 0x1800029fe
cmp al, bl
je 0x180002a22
add rdx, 4
add rcx, 2
jmp 0x1800029f5
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 rcx, qword [rbp - 0x10]
mov qword [rcx], rax
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
cmp ecx, 0xa
jl 0x180002b0d
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x180002b0d
sub rsp, 0x20
mov rcx, qword [rbp - 8]
call fcn.180002c10
add rsp, 0x20
mov r9, rax
mov eax, dword [0x180020a84]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x180020a88], 0xa
setl al
or al, cl
test al, al
je 0x180002a9a
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002ac9
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002b2e
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 - 0x18]
movzx eax, byte [rsi]
movzx ebx, byte [rdi]
test al, al
je 0x180002afb
add rsi, 1
add rdi, 1
cmp al, bl
je 0x180002ae5
cmp al, bl
je 0x18000295b
add rdx, 4
add rcx, 2
jmp 0x180002adc
add qword [rbp - 0x28], 8
add qword [rbp - 0x10], 8
jmp 0x18000291f
add qword [rbp - 0x20], 0x14
jmp 0x180002737
jmp 0x180002b26
jmp 0x180002b28
jmp 0x180002b2a
jmp 0x180002b2c
jmp 0x180002b2e
mov edx, dword [0x180020a70]
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
je 0x180002bf0
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
cmp eax, 0xa
jl 0x180002b80
test ecx, ecx
je 0x180002b80
mov rax, qword [rbp]
mov eax, dword [rax + 0x28]
add rax, r15
sub rsp, 0x20
call rax
add rsp, 0x20
mov edx, dword [0x180020a70]
mov eax, dword [0x180020a6c]
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
cmp eax, 0xa
jl 0x180002b89
test ecx, ecx
jne 0x180002bb7
mov rax, qword [rbp]
mov eax, dword [rax + 0x28]
add rax, r15
sub rsp, 0x20
call rax
add rsp, 0x20
cmp dword [0x180020a6c], 0xa
jl 0x180002bcd
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180002bcd
mov rax, qword [rbp]
mov eax, dword [rax + 0x28]
add rax, r15
sub rsp, 0x20
call rax
add rsp, 0x20
jmp 0x180002b89
mov rax, qword [rbp]
mov eax, dword [rax + 0x28]
add rax, r15
sub rsp, 0x20
call rax
add rsp, 0x20
mov eax, dword [0x180020a6c]
cmp eax, 0xa
jge 0x180002b30
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret