Function at 0x180001110
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]
mov ecx, dword [0x180020a6c]
mov edi, dword [0x180020a70]
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
cmp edi, 0xa
jl 0x180001152
test eax, eax
je 0x180001152
nop word cs:[rax + rax]
nop dword [rax]
jmp 0x180001150
cmp edi, 0xa
jl 0x18000115f
test eax, eax
jne 0x180001342
mov ecx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
mov eax, 0x10
call entry0
sub rsp, rax
mov rsi, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov r10, rsp
cmp ebx, 0xa
jl 0x18000119f
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
jne 0x180001380
mov al, byte [section..data]
mov byte [rsi], al
mov edx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
cmp ebx, 0xa
jl 0x1800011f6
test ecx, ecx
je 0x1800011f6
mov edx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
sete r8b
cmp ebx, 0xa
setl dl
or dl, r8b
nop word [rax + rax]
test dl, dl
je 0x1800011f0
mov byte [rsi], al
cmp ebx, 0xa
jl 0x180001203
test ecx, ecx
jne 0x180001370
mov al, byte [0x180004001]
mov byte [rsi + 1], al
mov edx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
cmp ebx, 0xa
jl 0x180001257
test ecx, ecx
je 0x180001257
mov edx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
sete r8b
cmp ebx, 0xa
setl dl
or dl, r8b
nop dword [rax]
test dl, dl
je 0x180001250
mov byte [rsi + 1], al
cmp ebx, 0xa
jl 0x180001264
test ecx, ecx
jne 0x180001370
mov al, byte [0x180004002]
mov byte [rsi + 2], al
mov edx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
cmp ebx, 0xa
jl 0x1800012b7
test ecx, ecx
je 0x1800012b7
mov edx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
sete r8b
cmp ebx, 0xa
setl dl
or dl, r8b
nop dword [rax]
test dl, dl
je 0x1800012b0
mov byte [rsi + 2], al
cmp ebx, 0xa
jl 0x1800012c4
test ecx, ecx
jne 0x180001370
mov al, byte [0x180004003]
mov byte [rsi + 3], al
mov ecx, dword [0x180020a74]
mov r14d, dword [0x180020a78]
lea edi, [rcx - 1]
imul edi, ecx
and edi, 1
cmp r14d, 0xa
jl 0x180001317
test edi, edi
je 0x180001317
mov ecx, dword [0x180020a74]
mov r14d, dword [0x180020a78]
lea edi, [rcx - 1]
imul edi, ecx
and edi, 1
sete bl
cmp r14d, 0xa
setl dl
or dl, bl
nop
test dl, dl
je 0x180001310
mov byte [rsi + 3], al
cmp r14d, 0xa
jl 0x180001321
test edi, edi
jne 0x180001370
mov edi, dword [0x180020a70]
cmp edi, 0xa
jl 0x180001382
mov eax, dword [0x180020a6c]
lea edx, [rax - 1]
imul edx, eax
mov eax, 1
and edx, 1
je 0x180001382
mov ecx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
cmp edi, 0xa
jl 0x180002579
test eax, eax
jne 0x180002703
jmp 0x180002579
jmp 0x180001370
jmp 0x180001380
mov r12d, dword [rsi]
test r12, r12
je 0x1800014a7
xor ebx, ebx
cmp r12d, 0x10
jb 0x180001475
lea rax, [r12 - 1]
cmp rax, 0x400
jae 0x180001475
mov ebx, r12d
and ebx, 0xfffffff0
lea rdi, [rbx - 0x10]
mov rax, rdi
shr rax, 4
add rax, 1
mov r8d, eax
and r8d, 1
test rdi, rdi
je 0x18000143b
mov rsi, r8
sub rsi, rax
xor eax, eax
lea r9, section..data
movaps xmm0, xmmword [str._f_f_f_f_f_f_f_f_f_f_f_f_f_f_f_f]
mov edi, eax
and edi, 0x3e0
movups xmm1, xmmword [rdi + r9 + 4]
movups xmm2, xmmword [rax + r9 + 0x404]
xorps xmm2, xmm1
movups xmm1, xmmword [rax + r9 + 0x414]
xorps xmm2, xmm0
movups xmmword [rax + r9 + 0x404], xmm2
lea edi, [rax + 0x10]
and edi, 0x3f0
movups xmm2, xmmword [rdi + r9 + 4]
xorps xmm1, xmm0
xorps xmm1, xmm2
movups xmmword [rax + r9 + 0x414], xmm1
add rax, 0x20
add rsi, 2
jne 0x1800013e2
jmp 0x18000143d
xor eax, eax
test r8, r8
je 0x180001470
mov edi, eax
and edi, 0x3f0
lea rsi, section..data
movups xmm0, xmmword [rdi + rsi + 4]
movups xmm1, xmmword [rax + rsi + 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 [rax + rsi + 0x404], xmm1
cmp rbx, r12
je 0x1800014a7
lea rax, section..data
nop dword [rax]
mov edx, ebx
and edx, 0x3ff
movzx edx, byte [rdx + rax + 4]
xor dl, byte [rbx + rax + 0x404]
xor dl, 0xc
mov byte [rbx + rax + 0x404], dl
add rbx, 1
cmp rbx, r12
jb 0x180001480
cmp r14d, 0xa
jl 0x1800014c2
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
je 0x1800014c2
nop dword [rax + rax]
jmp 0x1800014c0
lea r15, section..data
lea r13, [r12 + r15]
add r13, 0x404
mov r8d, dword [0x180020a74]
mov edi, dword [0x180020a78]
lea r11d, [r8 - 1]
imul r11d, r8d
and r11d, 1
sete al
cmp edi, 0xa
setl dl
or dl, al
mov eax, dword [0x180020a6c]
lea esi, [rax - 1]
imul esi, eax
test sil, 1
sete al
cmp dword [0x180020a70], 0xa
setl r9b
or r9b, al
cmp r14d, 0xa
jl 0x18000152e
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
jne 0x1800016c0
mov al, byte [r13]
mov byte [r10], al
test dl, dl
jne 0x180001547
nop dword [rax]
test dl, dl
je 0x180001540
mov byte [r10], al
cmp edi, 0xa
jl 0x180001555
test r11d, r11d
jne 0x1800016c0
mov al, byte [r13 + 1]
mov byte [r10 + 1], al
test dl, dl
jne 0x180001578
nop word cs:[rax + rax]
nop dword [rax + rax]
test dl, dl
je 0x180001570
mov byte [r10 + 1], al
cmp edi, 0xa
jl 0x180001586
test r11d, r11d
jne 0x1800016c0
mov al, byte [r13 + 2]
mov byte [r10 + 2], al
test dl, dl
jne 0x1800015a8
nop word cs:[rax + rax]
nop dword [rax]
test dl, dl
je 0x1800015a0
mov byte [r10 + 2], al
cmp edi, 0xa
jl 0x1800015b6
test r11d, r11d
jne 0x1800016c0
mov al, byte [r13 + 3]
mov byte [r10 + 3], al
test dl, dl
jne 0x1800015d8
nop word cs:[rax + rax]
nop dword [rax]
test dl, dl
je 0x1800015d0
mov byte [r10 + 3], al
cmp edi, 0xa
jl 0x1800015e6
test r11d, r11d
jne 0x1800016c0
test r9b, r9b
jne 0x1800016e2
cmp edi, 0xa
jl 0x1800015fd
test r11d, r11d
jne 0x1800016e0
mov al, byte [r13]
mov byte [r10], al
test dl, dl
jne 0x180001617
nop dword [rax + rax]
test dl, dl
je 0x180001610
mov byte [r10], al
cmp edi, 0xa
jl 0x180001625
test r11d, r11d
jne 0x1800016d0
mov al, byte [r13 + 1]
mov byte [r10 + 1], al
test dl, dl
jne 0x180001648
nop word cs:[rax + rax]
nop dword [rax + rax]
test dl, dl
je 0x180001640
mov byte [r10 + 1], al
cmp edi, 0xa
jl 0x180001652
test r11d, r11d
jne 0x1800016d0
mov al, byte [r13 + 2]
mov byte [r10 + 2], al
test dl, dl
jne 0x180001668
nop
test dl, dl
je 0x180001660
mov byte [r10 + 2], al
cmp edi, 0xa
jl 0x180001672
test r11d, r11d
jne 0x1800016d0
mov al, byte [r13 + 3]
mov byte [r10 + 3], al
test dl, dl
jne 0x180001688
nop
test dl, dl
je 0x180001680
mov byte [r10 + 3], al
cmp edi, 0xa
jl 0x180001692
test r11d, r11d
jne 0x1800016d0
mov r14d, edi
mov ecx, r8d
cmp edi, 0xa
jl 0x180001519
mov r14d, edi
mov ecx, r8d
test r11d, r11d
je 0x180001519
jmp 0x1800014c0
jmp 0x1800016c0
jmp 0x1800016d0
jmp 0x1800016e0
add r13, 4
mov r9d, dword [r10]
test r9, r9
je 0x180001846
xor eax, eax
cmp r9d, 0x20
jb 0x180001821
lea rdx, [r9 - 1]
cmp rdx, 0x400
jae 0x180001821
lea rcx, [r12 + r15]
add rcx, 0x408
lea rdx, [r9 + r15]
add rdx, 4
cmp rcx, rdx
jae 0x180001748
lea rcx, [r9 + r12]
add rcx, r15
add rcx, 0x408
lea rdx, str.QoyYgpGgMDtvzWfZJdkYZfzhzUoTRdLrClhkVWduKRuAGQroUXCIOWCOfxYdpWHlKVpjPEhTDSHQBIHHtsFrESiJxGYeRIDIPevglfddvDyveFxdvEkcSqCsIGLDbnjSuClzDEdXvzxFycGuyyWDQIxoBmaWOBfunHKuACtXXlzUTIfAfujVgAepYqpoVheTpTGKklmXzuLYoDqKaTgMTplRzsuvHBMRzLAvEowPjndMFGmMBxhZZpGGtrrrfbtmdqjPFhKLPgIrjDrsjrwkQjEauvwnPnIcQTIOaDubJUyBiweIfkvLCQvFcLmedksFjFpAaKptYcJThfaQctQbUbWjYdEwlFlqoVIVFykVRgpcFnftWLFQnTWpvnEGwGbXQIhwqFaLcnAaWyWsQmabfPRComgKnJeoIuRWyLCtHiSRrCZnTxBLKcwZFZQTgDHxtkGppLjUmFDtZKUzZYZPmKIbEEdBvUfIeKjmVTqkcaKJvykwezrJPJVHcJaTrbobEhVgSKSJymexdibXQPXhQLdLWBFiAOaeRSaaaIlPdrJHmxxpVlSfhUegtvDaxkHUTkuHjyrnzxWUitGLpKujCdUEELqfdMfSwJqDeIiudJsBuKJxyoIKjYXvZwFUIGPxuRmwMijvnTsgygQfjzBKaimnEgWBVwfAmnwgKGrZHnBtMFGojcgXaAnqcrBUtCyvfktlOiiMZroPazucxISRwOZIkRXZCkSvPwUBKDIpHcoZVUnWFISAAuZSYTxfnWKmJpyBIFtgHxWryoYrTyDTQpnvXqFjPhcdULxwjoRMhnVVKyLlHBiuSITqtDMUMBpdeOugHwegwFjXUcrxwvHTXaUyGKXEjhBqfAimvomFySZXOzcrvMkOVIVmkODsaSmtYfSBIPTESTocxEFiunRkrsAxMXlYbqzLMqQdAReROFRgwXUgPloeQbSuDYouwFQrnyKAwCAFEfHnHYhXLBdwLAAoFiupSdPgUZXqQYphqYbnSYKmueyCxbiRWYaELrb
cmp rcx, rdx
jbe 0x180001748
xor eax, eax
jmp 0x180001821
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 0x1800017e3
lea rdi, [r12 + r15]
add rdi, 0x438
mov rbx, r8
sub rbx, rdx
xor esi, esi
mov edx, esi
and edx, 0x3c0
movups xmm0, xmmword [rdx + r15 + 4]
movups xmm1, xmmword [rdx + r15 + 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 + r15 + 4]
xorps xmm0, xmm1
movups xmm1, xmmword [rdx + r15 + 0x14]
xorps xmm1, xmm3
movups xmmword [rdi + rsi - 0x10], xmm0
movups xmmword [rdi + rsi], xmm1
add rsi, 0x40
add rbx, 2
jne 0x18000177c
jmp 0x1800017e5
xor esi, esi
test r8, r8
je 0x18000181c
mov edx, esi
and edx, 0x3e0
movups xmm0, xmmword [rdx + r15 + 4]
movups xmm1, xmmword [rdx + r15 + 0x14]
movups xmm2, xmmword [r13 + rsi]
xorps xmm2, xmm0
movups xmm0, xmmword [r13 + rsi + 0x10]
xorps xmm0, xmm1
movups xmmword [r13 + rsi], xmm2
movups xmmword [r13 + rsi + 0x10], xmm0
cmp rax, r9
je 0x180001846
lea rdx, [r12 + r15]
add rdx, 0x408
mov ecx, eax
and ecx, 0x3ff
movzx ecx, byte [rcx + r15 + 4]
xor byte [rdx + rax], cl
add rax, 1
cmp rax, r9
jb 0x18000182c
cmp dword [0x180020a7c], 0xa
jl 0x180001862
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001862
jmp 0x180001860
add r12, 0x408
mov qword [rbp - 0x10], r13
movsxd rax, dword [0x180004440]
lea rsi, [rax + r15]
add rsi, 0x404
mov rdi, r13
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001882
mov r13, rdi
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x18000188e
mov r15, r13
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x18000189c
mov qword [rbp - 0x28], r15
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x1800018aa
mov rbx, r15
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x1800018b7
mov r14, rbx
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x1800018c3
sub rsp, 0x20
mov rcx, rdi
call fcn.1800028b0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x1800018fe
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001e70
mov qword [rbp - 8], rdi
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001931
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001e80
mov qword [rbp], rsi
add r8, r9
mov edi, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add rdi, r9
add r10, r9
mov esi, dword [rdi]
add rsi, r9
mov rdx, r13
movzx ecx, byte [rdx]
movzx eax, byte [rsi]
test cl, cl
je 0x180001966
add rdx, 1
add rsi, 1
cmp cl, al
je 0x180001950
cmp cl, al
je 0x180001974
add rdi, 4
add r10, 2
jmp 0x180001948
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, rbx
call r9
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x1800019ae
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001e82
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800019dd
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001e84
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 + rax]
movzx ebx, byte [rax]
movzx ecx, byte [rsi]
test bl, bl
je 0x180001a16
add rax, 1
add rsi, 1
cmp bl, cl
je 0x180001a00
cmp bl, cl
je 0x180001a24
add rdx, 4
add rdi, 2
jmp 0x1800019f0
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.1800028b0
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001a87
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001e86
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 0x180001abd
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001e88
add r8, r10
mov edx, dword [r10 + rbx + 0x20]
mov r9d, dword [r10 + rbx + 0x24]
add rdx, r10
add r9, r10
mov edi, dword [rdx]
add rdi, r10
xor esi, esi
nop word [rax + rax]
lea rax, [r12 + rsi]
movzx eax, byte [rcx + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x180001af8
add rsi, 1
cmp al, bl
je 0x180001ae0
cmp al, bl
je 0x180001b06
add rdx, 4
add r9, 2
jmp 0x180001ad0
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 [0x180020a6c]
mov ecx, dword [0x180020a70]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x180001e98
test edx, edx
je 0x180001e98
movsxd rsi, dword [0x180004440]
cmp dword [0x180020a7c], 0xa
mov rdx, qword [rbp - 0x10]
mov r14, rdx
jl 0x180001b89
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
mov r14, rdx
and ecx, 1
jne 0x180001e8a
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001b89
mov rbx, r14
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001b96
mov r13, rbx
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001ba2
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001bad
mov rdi, r13
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001bbb
mov r15, rdi
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001bc7
sub rsp, 0x20
mov rcx, r14
call fcn.1800028b0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001c02
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001e8c
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001c31
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001e8e
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 dword [rax + rax]
movzx ecx, byte [rsi]
movzx eax, byte [rdx]
test cl, cl
je 0x180001c76
add rsi, 1
add rdx, 1
cmp cl, al
je 0x180001c60
cmp cl, al
je 0x180001c84
add r11, 4
add r10, 2
jmp 0x180001c48
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 0x180001cbe
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001e90
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001ced
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001e92
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, r13
nop dword [rax + rax]
movzx eax, byte [rbx]
movzx ecx, byte [rsi]
test al, al
je 0x180001d26
add rbx, 1
add rsi, 1
cmp al, cl
je 0x180001d10
cmp al, cl
je 0x180001d34
add rdx, 4
add rdi, 2
jmp 0x180001d00
movzx eax, word [rdi]
mov eax, dword [r8 + rax*4]
add r10, rax
sub rsp, 0x30
mov qword [rsp + 0x28], 0x1388
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor ecx, ecx
mov rdx, r15
mov r8, r15
call r10
add rsp, 0x10
mov rcx, r14
call fcn.1800028b0
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001d96
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001e94
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
lea r15, section..data
mov r13, qword [rbp - 0x10]
jl 0x180001dd0
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001e96
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, [r12 + rsi]
movzx eax, byte [r15 + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x180001e09
add rsi, 1
cmp al, bl
je 0x180001df0
cmp al, bl
je 0x180001e17
add rdx, 4
add rcx, 2
jmp 0x180001de3
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rax, qword [rbp - 8]
mov edx, dword [rax + r15 + 0x454]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
add rsp, 0x20
cmp dword [0x180020a7c], 0xa
jl 0x18000186d
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x18000186d
jmp 0x180001860
jmp 0x180001e70
jmp 0x180001e80
jmp 0x180001e82
jmp 0x180001e84
jmp 0x180001e86
jmp 0x180001e88
jmp 0x180001e8a
jmp 0x180001e8c
jmp 0x180001e8e
jmp 0x180001e90
jmp 0x180001e92
jmp 0x180001e94
jmp 0x180001e96
cmp ecx, 0xa
jl 0x180001ea3
test edx, edx
je 0x180001ea3
jmp 0x180001ea1
mov rdx, qword [rbp]
lea r11, [rdx + 0x108]
xor r9d, r9d
mov rdx, qword [rbp]
movzx edx, word [rdx + 6]
cmp r9, rdx
jae 0x18000203b
mov edx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea rax, [r9 + r9*4]
lea r8, [r11 + rax*8]
add r8, 0xc
lea r12, [r11 + rax*8]
add r12, 0x10
lea r10, [r11 + rax*8]
add r10, 0x14
cmp ebx, 0xa
jl 0x180001efe
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
jne 0x180002037
mov esi, dword [r12]
test rsi, rsi
je 0x180001f6c
mov eax, dword [r10]
lea rcx, section..data
add rcx, rax
add rcx, 0x404
mov edi, dword [r8]
add rdi, r15
jmp 0x180001f34
add rsi, 0xffffffffffffffff
add rdi, 1
add rcx, 1
test rsi, rsi
je 0x180001f6c
movzx eax, byte [rcx]
mov byte [rdi], al
mov edx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp ebx, 0xa
jl 0x180001f5e
test eax, eax
je 0x180001f5e
movzx eax, byte [rcx]
mov byte [rdi], al
jmp 0x180001f34
cmp ebx, 0xa
jl 0x180001f23
test eax, eax
je 0x180001f23
jmp 0x180002033
mov eax, dword [0x180020a6c]
mov ecx, dword [0x180020a70]
lea esi, [rax - 1]
imul esi, eax
and esi, 1
cmp ecx, 0xa
jl 0x180002019
test esi, esi
je 0x180002019
cmp ebx, 0xa
jl 0x180001fa6
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
jne 0x180002039
mov esi, dword [r12]
test rsi, rsi
je 0x180001eea
mov eax, dword [r10]
lea rcx, section..data
add rcx, rax
add rcx, 0x404
mov edi, dword [r8]
add rdi, r15
jmp 0x180001fe4
add rsi, 0xffffffffffffffff
add rdi, 1
add rcx, 1
test rsi, rsi
je 0x180001eea
movzx eax, byte [rcx]
mov byte [rdi], al
mov edx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp ebx, 0xa
jl 0x18000200e
test eax, eax
je 0x18000200e
movzx eax, byte [rcx]
mov byte [rdi], al
jmp 0x180001fe4
cmp ebx, 0xa
jl 0x180001fcf
test eax, eax
je 0x180001fcf
jmp 0x180002035
add r9, 1
cmp ecx, 0xa
jl 0x180001eb1
test esi, esi
je 0x180001eb1
jmp 0x180001ea1
jmp 0x180002033
jmp 0x180002035
jmp 0x180002037
jmp 0x180002039
mov r11, r15
mov rdx, qword [rbp]
sub r11, qword [rdx + 0x30]
cmp ecx, 0xa
jl 0x180002058
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
je 0x180002058
jmp 0x180002056
mov rdx, qword [rbp]
mov ebx, dword [rdx + 0xb0]
add rbx, r15
movabs r8, 0x1fffffff8
cmp dword [rbx], 0
je 0x18000218d
mov edi, dword [rbx + 4]
cmp rdi, 8
jb 0x180002157
cmp ecx, 0xa
jl 0x180002099
lea esi, [rax - 1]
imul esi, eax
and esi, 1
jne 0x180002185
add rdi, r8
shr rdi, 1
mov r9d, edi
xor r10d, r10d
cmp r10, r9
je 0x180002157
movzx edi, word [rbx + r10*2 + 8]
mov esi, edi
shr esi, 0xc
mov edx, edi
and edx, 0xfff
cmp edi, 0xa000
jae 0x180002112
cmp esi, 3
jne 0x18000212e
cmp ecx, 0xa
jl 0x1800020e2
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002189
mov eax, dword [rbx]
lea rdi, [r15 + rdx*4]
add dword [rdi + rax*4], r11d
mov eax, dword [0x180020a6c]
mov ecx, dword [0x180020a70]
cmp ecx, 0xa
jl 0x18000212e
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x18000212e
mov eax, dword [rbx]
add dword [rdi + rax*4], r11d
mov eax, dword [rbx]
jmp 0x1800020e8
cmp esi, 0xa
jne 0x18000212e
mov eax, dword [rbx]
mov ecx, edx
add rcx, r15
add qword [rax + rcx], r11
mov eax, dword [0x180020a6c]
mov ecx, dword [0x180020a70]
lea edi, [rax - 1]
imul edi, eax
and edi, 1
cmp ecx, 0xa
jl 0x180002140
test edi, edi
jne 0x180002187
add r10, 1
cmp ecx, 0xa
jl 0x1800020a5
test edi, edi
je 0x1800020a5
jmp 0x180002185
lea edi, [rax - 1]
imul edi, eax
and edi, 1
cmp ecx, 0xa
jl 0x180002169
test edi, edi
jne 0x18000218b
mov edx, dword [rbx + 4]
add rbx, rdx
cmp ecx, 0xa
jl 0x18000206f
test edi, edi
je 0x18000206f
jmp 0x180002056
jmp 0x180002185
jmp 0x180002187
jmp 0x180002189
jmp 0x18000218b
mov rdx, qword [rbp]
mov edx, dword [rdx + 0x90]
mov qword [rbp - 0x18], rdx
mov edi, dword [r15 + rdx + 0xc]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete bl
cmp ecx, 0xa
setl dl
or dl, bl
test edi, edi
je 0x1800024f7
add qword [rbp - 0x18], r15
lea rbx, [r15 + 2]
mov qword [rbp - 0x30], rbx
test dl, 1
je 0x18000251a
cmp ecx, 0xa
jl 0x1800021e5
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000251c
sub rsp, 0x20
mov rcx, qword [rbp - 8]
call fcn.1800028b0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180002217
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000251e
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rbx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002246
mov eax, dword [0x180020a90]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002520
mov ecx, edi
add rcx, r15
add r8, r9
mov edi, dword [r9 + rbx + 0x20]
mov r10d, dword [r9 + rbx + 0x24]
add rdi, r9
add r10, r9
mov esi, dword [rdi]
add rsi, r9
mov rax, r13
movzx edx, byte [rax]
movzx ebx, byte [rsi]
test dl, dl
je 0x18000227c
add rax, 1
add rsi, 1
cmp dl, bl
je 0x180002266
cmp dl, bl
je 0x18000228a
add rdi, 4
add r10, 2
jmp 0x18000225e
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
call r9
add rsp, 0x20
mov qword [rbp - 0x10], rax
mov eax, dword [0x180020a6c]
mov ecx, dword [0x180020a70]
lea ebx, [rax - 1]
imul ebx, eax
cmp ecx, 0xa
jl 0x1800022c6
mov edx, ebx
and edx, 1
jne 0x180002522
test bl, 1
sete bl
cmp ecx, 0xa
setl dl
or dl, bl
je 0x180002518
mov rbx, qword [rbp - 0x18]
mov edi, dword [rbx]
mov r12d, dword [rbx + 0x10]
add r12, r15
add rdi, r15
mov qword [rbp - 0x20], rdi
mov rbx, qword [rbp - 0x20]
mov rbx, qword [rbx]
test rbx, rbx
je 0x1800024e0
mov rax, qword [rbp - 0x30]
add rax, rbx
test rbx, rbx
movzx r14d, bx
cmovns r14, rax
jmp 0x180002332
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
mov rdx, r14
call r9
add rsp, 0x20
mov qword [r12], rax
sub rsp, 0x20
mov rcx, qword [rbp - 8]
call fcn.1800028b0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180002364
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002510
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002393
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002512
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 0x1800023c5
add rsi, 1
add rdi, 1
cmp al, bl
je 0x1800023af
cmp al, bl
je 0x1800023d3
add rdx, 4
add rcx, 2
jmp 0x1800023a6
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
mov rdx, r14
call r9
add rsp, 0x20
mov qword [r12], rax
mov eax, dword [0x180020a6c]
mov ecx, dword [0x180020a70]
lea ebx, [rax - 1]
imul ebx, eax
cmp ecx, 0xa
jl 0x1800024be
mov edx, ebx
and edx, 1
je 0x1800024be
sub rsp, 0x20
mov rcx, qword [rbp - 8]
call fcn.1800028b0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x18000244b
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002514
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x18000247a
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002516
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 0x1800024ac
add rsi, 1
add rdi, 1
cmp al, bl
je 0x180002496
cmp al, bl
je 0x180002312
add rdx, 4
add rcx, 2
jmp 0x18000248d
add qword [rbp - 0x20], 8
add r12, 8
test bl, 1
sete bl
cmp ecx, 0xa
setl dl
or dl, bl
cmp dl, 1
je 0x1800022ee
jmp 0x180002518
mov rbx, qword [rbp - 0x18]
mov edi, dword [rbx + 0x20]
add rbx, 0x14
mov qword [rbp - 0x18], rbx
test edi, edi
jne 0x1800021c8
test dl, 1
je 0x18000250e
cmp ecx, 0xa
jl 0x180002524
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002552
jmp 0x180002524
jmp 0x18000250e
jmp 0x180002510
jmp 0x180002512
jmp 0x180002514
jmp 0x180002516
jmp 0x180002518
jmp 0x18000251a
jmp 0x18000251c
jmp 0x18000251e
jmp 0x180002520
jmp 0x180002522
mov rax, qword [rbp]
mov eax, dword [rax + 0x28]
add rax, r15
sub rsp, 0x20
call rax
add rsp, 0x20
cmp dword [0x180020a70], 0xa
jl 0x180002568
mov eax, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180002568
mov rax, qword [rbp]
mov eax, dword [rax + 0x28]
add rax, r15
sub rsp, 0x20
call rax
add rsp, 0x20
jmp 0x180002524
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
cmp ebx, 0xa
jl 0x18000258d
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
jne 0x180002890
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x1800025d4
test eax, eax
je 0x1800025d4
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
sete bl
cmp ecx, 0xa
setl dl
or dl, bl
nop dword [rax + rax]
test dl, dl
je 0x1800025d0
cmp ecx, 0xa
jl 0x1800025e1
test eax, eax
jne 0x180002880
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x180002624
test eax, eax
je 0x180002624
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
sete bl
cmp ecx, 0xa
setl dl
or dl, bl
nop
test dl, dl
je 0x180002620
cmp ecx, 0xa
jl 0x180002631
test eax, eax
jne 0x180002880
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x180002674
test eax, eax
je 0x180002674
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
sete bl
cmp ecx, 0xa
setl dl
or dl, bl
nop
test dl, dl
je 0x180002670
cmp ecx, 0xa
jl 0x180002681
test eax, eax
jne 0x180002880
mov ecx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
cmp ebx, 0xa
jl 0x1800026d4
test eax, eax
je 0x1800026d4
mov ecx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
sete r8b
cmp ebx, 0xa
setl dl
or dl, r8b
nop word cs:[rax + rax]
nop dword [rax + rax]
test dl, dl
je 0x1800026d0
cmp ebx, 0xa
jl 0x1800026e1
test eax, eax
jne 0x180002880
cmp dword [0x180020a70], 0xa
jl 0x18000116b
mov eax, dword [0x180020a6c]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x18000116b
cmp ebx, 0xa
jl 0x180002717
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
jne 0x1800028a0
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x180002764
test eax, eax
je 0x180002764
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
sete bl
cmp ecx, 0xa
setl dl
or dl, bl
nop word cs:[rax + rax]
nop
test dl, dl
je 0x180002760
cmp ecx, 0xa
jl 0x180002771
test eax, eax
jne 0x180002870
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x1800027b4
test eax, eax
je 0x1800027b4
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
sete bl
cmp ecx, 0xa
setl dl
or dl, bl
nop
test dl, dl
je 0x1800027b0
cmp ecx, 0xa
jl 0x1800027c1
test eax, eax
jne 0x180002870
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x180002804
test eax, eax
je 0x180002804
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
sete bl
cmp ecx, 0xa
setl dl
or dl, bl
nop
test dl, dl
je 0x180002800
cmp ecx, 0xa
jl 0x18000280d
test eax, eax
jne 0x180002870
mov ecx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
cmp ebx, 0xa
jl 0x180002854
test eax, eax
je 0x180002854
mov ecx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
sete r8b
cmp ebx, 0xa
setl dl
or dl, r8b
nop dword [rax]
test dl, dl
je 0x180002850
cmp ebx, 0xa
jl 0x180002579
test eax, eax
je 0x180002579
nop word cs:[rax + rax]
nop
jmp 0x180002870
jmp 0x180002880
jmp 0x180002890
jmp 0x1800028a0