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, 0x48
lea rbp, [rsp + 0x40]
cmp dword [0x180020a6c], 0xa
jl 0x1800010bf
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001119
mov eax, 0x10
call entry0
sub rsp, rax
mov rsi, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov r14, rsp
sub rsp, 0x20
lea r12, section..data
mov r8d, 4
mov rcx, rsi
mov rdx, r12
call fcn.180002740
add rsp, 0x20
cmp dword [0x180020a6c], 0xa
jl 0x180001148
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001148
mov eax, 0x10
call entry0
sub rsp, rax
mov rcx, rsp
sub rsp, 0x20
lea rdx, section..data
mov r8d, 4
call fcn.180002740
add rsp, 0x20
jmp 0x1800010bf
mov r15d, dword [rsi]
test r15, r15
je 0x1800012cc
xor eax, eax
cmp r15d, 0x10
jb 0x18000123f
lea rcx, [r15 - 1]
cmp rcx, 0x400
jae 0x18000123f
mov eax, r15d
and eax, 0xfffffff0
lea rdx, [rax - 0x10]
mov rcx, rdx
shr rcx, 4
add rcx, 1
mov ebx, ecx
and ebx, 1
test rdx, rdx
je 0x180001d22
mov rdx, rbx
sub rdx, rcx
xor esi, esi
movaps xmm0, xmmword [str._f_f_f_f_f_f_f_f_f_f_f_f_f_f_f_f]
nop word cs:[rax + rax]
nop dword [rax]
mov ecx, esi
and ecx, 0x3e0
movups xmm1, xmmword [rcx + r12 + 4]
movups xmm2, xmmword [rsi + r12 + 0x404]
xorps xmm2, xmm1
movups xmm1, xmmword [rsi + r12 + 0x414]
xorps xmm2, xmm0
movups xmmword [rsi + r12 + 0x404], xmm2
lea ecx, [rsi + 0x10]
and ecx, 0x3f0
movups xmm2, xmmword [rcx + r12 + 4]
xorps xmm1, xmm0
xorps xmm1, xmm2
movups xmmword [rsi + r12 + 0x414], xmm1
add rsi, 0x20
add rdx, 2
jne 0x1800011b0
test rbx, rbx
je 0x180001236
mov ecx, esi
and ecx, 0x3f0
movups xmm0, xmmword [rcx + r12 + 4]
movups xmm1, xmmword [rsi + r12 + 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 + r12 + 0x404], xmm1
cmp rax, r15
je 0x1800012cc
mov rcx, rax
not rcx
test r15b, 1
je 0x18000126f
mov edx, eax
and edx, 0x3f0
mov dl, byte [rdx + r12 + 4]
xor dl, byte [rax + r12 + 0x404]
xor dl, 0xc
mov byte [rax + r12 + 0x404], dl
or rax, 1
add rcx, r15
je 0x1800012cc
nop word cs:[rax + rax]
nop
mov ecx, eax
and ecx, 0x3ff
movzx ecx, byte [rcx + r12 + 4]
xor cl, byte [rax + r12 + 0x404]
xor cl, 0xc
mov byte [rax + r12 + 0x404], cl
lea ecx, [rax + 1]
and ecx, 0x3ff
movzx ecx, byte [rcx + r12 + 4]
xor cl, byte [rax + r12 + 0x405]
xor cl, 0xc
mov byte [rax + r12 + 0x405], cl
add rax, 2
cmp r15, rax
jne 0x180001280
lea rbx, [r15 + r12]
add rbx, 0x404
sub rsp, 0x20
mov r8d, 4
mov rcx, r14
mov rdx, rbx
call fcn.180002740
add rsp, 0x20
mov eax, dword [0x180020a6c]
cmp eax, 0xa
jl 0x180001407
mov ecx, dword [0x180020a70]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x180001407
cmp eax, 0xa
jl 0x1800013b0
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
je 0x1800013b0
nop dword [rax]
sub rsp, 0x20
mov r8d, 4
mov rcx, r14
mov rdx, rbx
call fcn.180002740
mov r8d, 4
mov rcx, r14
mov rdx, rbx
call fcn.180002740
add rsp, 0x20
cmp dword [0x180020a6c], 0xa
jl 0x180001374
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001330
sub rsp, 0x20
mov r8d, 4
mov rcx, r14
mov rdx, rbx
call fcn.180002740
add rsp, 0x20
cmp dword [0x180020a6c], 0xa
jl 0x1800013b0
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001330
nop word [rax + rax]
sub rsp, 0x20
mov r8d, 4
mov rcx, r14
mov rdx, rbx
call fcn.180002740
add rsp, 0x20
mov esi, dword [0x180020a70]
mov edi, dword [0x180020a6c]
sub rsp, 0x20
mov r8d, 4
mov rcx, r14
mov rdx, rbx
call fcn.180002740
add rsp, 0x20
cmp edi, 0xa
jl 0x1800012f0
lea eax, [rsi - 1]
imul eax, esi
and eax, 1
jne 0x1800013b0
jmp 0x1800012f0
lea rax, [r15 + r12]
add rax, 0x408
mov qword [rbp - 8], rax
mov r9d, dword [r14]
test r9, r9
je 0x18000157a
xor eax, eax
cmp r9d, 0x20
jb 0x18000154f
lea rdx, [r9 - 1]
cmp rdx, 0x400
jae 0x18000154f
lea rcx, [r15 + r12]
add rcx, 0x408
lea rdx, [r9 + r12]
add rdx, 4
cmp rcx, rdx
jae 0x180001477
lea rcx, [r9 + r15]
add rcx, r12
add rcx, 0x408
lea rdx, str.WDPfgSCqJaXRtoZaTnokKEEludbsQpYsRFuWdTtYuuxryYHrvWltFLivcDlhCJLBPWnLAGsOQsbSvIozkwdfhnLPpfWImpECfOPPMStjPCQFCUyiIbMJVAQXteaZPaChuTWaICbcYhtAtsfaGVGHCJDuSxnQlyoQGYAYJzfcpslDtgHYJtDFqhwdEGYadEjaFsSrtLgqftUyJZuXqlSqbDaOShPBzdSEvqJypcPRbxPBAzOnoKjLdVEIhxWelPEOAhosIcAAAqpKEyYDIiOrWTKuscaTDaUjHHOFLBWfsMPDnboWvWotGtetJxdRVkxqXkoySGRPIabTyzppQqOiSmFyjmHbKdLEQgtuwKMfuuPYlzpAvkrIMuXzkulgbhOpzpfTYtWCqKnVDXKriyxzHHVBuBLaXKweDDxfccnwBofPkYkSPZDwvaaIqlCfInlDyVqupUuzYWwySyIgUiGrxOzpoBzCZGsjwhfnyRjssBqtPJIbRwynqBPMZFUgntmPanjMtChBqxMCwBxtrLWSeecKvdYkVrBhEjPGuCZwnDLmOlCSaZMywbeRuCVQVFdTVskQAbKrVQhpSLFbKIicHMZcDlTiucSYaohPmYXwScuLnrAuHPSkcqynXmXcAOgtoXLnKhaQymPHLbTptRXhaKaMrQLwakrwVRCZiezWarhtcEyZnQAnCzLjsGIwKZGpXylYQdGHypHpCdogzmgdOiaEawnOZDTBmWlndiVkQeBalnaKgJlmnsuWcwVsSfCjzMAeRjxMkKVjbmdkZlOdMdiAgvzjSfYdKYbSFKHpIJTiDTdUntjyexoEJGqWgLDYnkgCBEeoFcyYCLoZYPneEDuoASIusbabPcgRMYZZJqljlkMEvdSEPhwdluoBSkiMqFqZzJSixdCEtwIkrPjSHjVSlDPvZpChkaWYFwTSMSUFXRyIIGxtqYGvPkUOKEaYCvGqzFudmMeOWbOnnnsSzBExCHgZBHxyUafOguciwvYMsaUHMpZzXLXbUOccDQe
cmp rcx, rdx
jbe 0x180001477
xor eax, eax
jmp 0x18000154f
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 0x180001d32
lea rdi, [r15 + r12]
add rdi, 0x438
mov rbx, r8
sub rbx, rdx
xor esi, esi
nop
mov edx, esi
and edx, 0x3c0
movups xmm0, xmmword [rdx + r12 + 4]
movups xmm1, xmmword [rdx + r12 + 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 + r12 + 4]
xorps xmm0, xmm1
movups xmm1, xmmword [rdx + r12 + 0x14]
xorps xmm1, xmm3
movups xmmword [rdi + rsi - 0x10], xmm0
movups xmmword [rdi + rsi], xmm1
add rsi, 0x40
add rbx, 2
jne 0x1800014b0
test r8, r8
je 0x18000154a
mov edx, esi
and edx, 0x3e0
movups xmm0, xmmword [rdx + r12 + 4]
movups xmm1, xmmword [rdx + r12 + 0x14]
mov rcx, qword [rbp - 8]
movups xmm2, xmmword [rcx + rsi]
xorps xmm2, xmm0
movups xmm0, xmmword [rcx + rsi + 0x10]
xorps xmm0, xmm1
movups xmmword [rcx + rsi], xmm2
movups xmmword [rcx + rsi + 0x10], xmm0
cmp rax, r9
je 0x18000157a
lea rdx, [r15 + r12]
add rdx, 0x408
nop word [rax + rax]
mov ecx, eax
and ecx, 0x3ff
movzx ecx, byte [rcx + r12 + 4]
xor byte [rdx + rax], cl
add rax, 1
cmp rax, r9
jb 0x180001560
cmp dword [0x180020a74], 0xa
jl 0x1800015a2
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800015a2
nop word cs:[rax + rax]
nop
jmp 0x1800015a0
add r15, 0x408
movsxd rsi, dword [0x180004440]
mov rdi, qword [rbp - 8]
nop word cs:[rax + rax]
nop
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x1800015c0
mov r12, rdi
nop dword [rax]
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x1800015d0
mov rax, r12
nop
cmp byte [rax], 0
lea rax, [rax + 1]
jne 0x1800015e0
mov r14, rax
nop dword [rax]
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x1800015f0
mov qword [rbp - 0x20], rax
mov rbx, r14
nop word cs:[rax + rax]
nop dword [rax + rax]
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001610
mov r13, rbx
nop dword [rax]
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001620
sub rsp, 0x20
mov rcx, rdi
call fcn.1800028a0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x18000165c
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001c60
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x18000168b
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001c70
mov qword [rbp], rdi
mov qword [rbp - 0x10], rsi
add r8, r9
mov edi, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add rdi, r9
add r10, r9
nop word cs:[rax + rax]
mov esi, dword [rdi]
add rsi, r9
mov rdx, r12
nop dword [rax + rax]
movzx ecx, byte [rdx]
movzx eax, byte [rsi]
test cl, cl
je 0x1800016d6
add rdx, 1
add rsi, 1
cmp cl, al
je 0x1800016c0
cmp cl, al
je 0x1800016f0
add rdi, 4
add r10, 2
jmp 0x1800016b0
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 [0x180020a7c], 0xa
jl 0x18000172a
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001c80
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001759
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001c90
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov edi, dword [r10 + rcx + 0x24]
add rdx, r10
add rdi, r10
nop dword [rax]
mov esi, dword [rdx]
add rsi, r10
mov rax, r14
nop dword [rax + rax]
movzx ebx, byte [rax]
movzx ecx, byte [rsi]
test bl, bl
je 0x180001796
add rax, 1
add rsi, 1
cmp bl, cl
je 0x180001780
cmp bl, cl
je 0x1800017b0
add rdx, 4
add rdi, 2
jmp 0x180001770
movzx eax, word [rdi]
mov eax, dword [r8 + rax*4]
add r10, rax
sub rsp, 0x30
mov qword [rsp + 0x28], 0x1388
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor ecx, ecx
mov rdx, r13
mov r8, r13
call r10
add rsp, 0x10
mov rcx, qword [rbp]
call fcn.1800028a0
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001813
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001ca0
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001842
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001cb0
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov ecx, dword [r10 + rcx + 0x24]
add rdx, r10
add rcx, r10
lea r13, section..data
nop dword [rax]
mov edi, dword [rdx]
add rdi, r10
xor esi, esi
nop word [rax + rax]
lea rax, [r15 + rsi]
movzx eax, byte [r13 + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x18000188a
add rsi, 1
cmp al, bl
je 0x180001870
cmp al, bl
je 0x1800018a0
add rdx, 4
add rcx, 2
jmp 0x180001860
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rsi, qword [rbp - 0x10]
mov edx, dword [rsi + r13 + 0x454]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
add rsp, 0x20
mov r14, rax
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x180001d42
test edx, edx
je 0x180001d42
movsxd rdi, dword [0x180004440]
cmp dword [0x180020a74], 0xa
mov rcx, qword [rbp - 8]
jl 0x180001930
mov eax, dword [0x180020a78]
lea edx, [rax - 1]
imul edx, eax
mov rcx, qword [rbp - 8]
and edx, 1
jne 0x180001cc0
nop word cs:[rax + rax]
nop
cmp byte [rcx], 0
lea rcx, [rcx + 1]
jne 0x180001930
mov r14, rcx
nop dword [rax]
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001940
mov r12, r14
nop dword [rax]
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001950
nop dword [rax]
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001960
mov rsi, r12
nop
cmp byte [rsi], 0
lea rsi, [rsi + 1]
jne 0x180001970
mov r13, rsi
nop dword [rax]
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001980
sub rsp, 0x20
mov qword [rbp], rcx
call fcn.1800028a0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x1800019bd
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001cd0
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x1800019ec
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001ce0
mov qword [rbp - 0x10], rdi
add r8, r9
mov edi, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add rdi, r9
add r10, r9
nop word cs:[rax + rax]
nop dword [rax]
mov edx, dword [rdi]
add rdx, r9
mov rcx, r14
nop dword [rax + rax]
movzx eax, byte [rcx]
movzx ebx, byte [rdx]
test al, al
je 0x180001a36
add rcx, 1
add rdx, 1
cmp al, bl
je 0x180001a20
cmp al, bl
je 0x180001a50
add rdi, 4
add r10, 2
jmp 0x180001a10
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, rsi
call r9
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001a8a
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001cf0
movsxd rax, dword [r10 + 0x3c]
mov eax, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rax + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001ab9
mov ecx, dword [0x180020a88]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001d00
add r8, r10
mov esi, dword [r10 + rax + 0x20]
mov edi, dword [r10 + rax + 0x24]
add rsi, r10
add rdi, r10
nop dword [rax]
mov eax, dword [rsi]
add rax, r10
mov rbx, r12
nop dword [rax + rax]
movzx ecx, byte [rbx]
movzx edx, byte [rax]
test cl, cl
je 0x180001af6
add rbx, 1
add rax, 1
cmp cl, dl
je 0x180001ae0
cmp cl, dl
je 0x180001b10
add rsi, 4
add rdi, 2
jmp 0x180001ad0
movzx eax, word [rdi]
mov eax, dword [r8 + rax*4]
add r10, rax
sub rsp, 0x30
mov qword [rsp + 0x28], 0x1388
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor ecx, ecx
mov rdx, r13
mov r8, r13
call r10
add rsp, 0x10
mov rcx, qword [rbp]
call fcn.1800028a0
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001b73
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001d10
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001ba2
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001d20
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
nop dword [rax]
mov edi, dword [rdx]
add rdi, r10
xor esi, esi
nop word [rax + rax]
lea rax, [r15 + rsi]
movzx eax, byte [rcx + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x180001be8
add rsi, 1
cmp al, bl
je 0x180001bd0
cmp al, bl
je 0x180001c00
add rdx, 4
add r9, 2
jmp 0x180001bc0
movzx eax, word [r9]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rax, qword [rbp - 0x10]
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 [0x180020a74], 0xa
jl 0x1800015a9
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800015a9
jmp 0x1800015a0
jmp 0x180001c60
jmp 0x180001c70
jmp 0x180001c80
jmp 0x180001c90
jmp 0x180001ca0
jmp 0x180001cb0
jmp 0x180001cc0
jmp 0x180001cd0
jmp 0x180001ce0
jmp 0x180001cf0
jmp 0x180001d00
jmp 0x180001d10
jmp 0x180001d20
xor esi, esi
test rbx, rbx
jne 0x18000120c
jmp 0x180001236
xor esi, esi
test r8, r8
jne 0x18000151a
jmp 0x18000154a
cmp ecx, 0xa
jl 0x180001d4b
test edx, edx
jne 0x180001dc0
lea rdi, [rsi + r13]
add rdi, 0x520
mov rbx, 0xffffffffffffffff
movzx edx, word [rsi + r13 + 0x40a]
add rbx, 1
cmp rbx, rdx
jae 0x180001dd2
mov ecx, dword [rdi - 8]
mov r8d, dword [rdi - 4]
mov eax, dword [rdi]
add rcx, r14
lea rdx, [rax + r13]
add rdx, 0x404
sub rsp, 0x20
call fcn.180002740
add rsp, 0x20
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x180001db1
test edx, edx
jne 0x180001dd0
add rdi, 0x28
cmp ecx, 0xa
jl 0x180001d5d
test edx, edx
je 0x180001d5d
nop
jmp 0x180001dc0
jmp 0x180001dd0
mov r15d, dword [rsi + r13 + 0x4b4]
add r15, r14
mov rdx, qword [rsi + r13 + 0x434]
mov r9, r14
sub r9, rdx
mov edi, ecx
mov ebx, eax
jmp 0x180001df8
mov edx, dword [r15 + 4]
add r15, rdx
lea r8d, [rbx - 1]
imul r8d, ebx
test r8b, 1
sete r10b
cmp edi, 0xa
setl dl
or dl, r10b
nop word cs:[rax + rax]
nop dword [rax + rax]
test dl, dl
je 0x180001e20
cmp dword [r15], 0
je 0x180001fd2
mov esi, dword [r15 + 4]
cmp rsi, 8
jb 0x180001f79
cmp edi, 0xa
jl 0x180001e4b
and r8d, 1
jne 0x180001fb0
movabs rdx, 0x1fffffff8
add rsi, rdx
shr rsi, 1
mov edx, esi
mov qword [rbp - 8], rdx
xor r11d, r11d
mov r8d, edi
mov r10d, ebx
cmp r11, qword [rbp - 8]
je 0x180001f73
movzx edi, word [r15 + r11*2 + 8]
mov esi, edi
shr esi, 0xc
mov edx, edi
and edx, 0xfff
cmp edi, 0xa000
jae 0x180001f2c
mov edi, ecx
mov ebx, eax
cmp esi, 3
jne 0x180001f4d
lea eax, [r10 - 1]
imul eax, r10d
and eax, 1
cmp r8d, 0xa
jl 0x180001eb9
test eax, eax
jne 0x180001fc0
cmp r8d, 0xa
jl 0x180001ec7
test eax, eax
jne 0x180001fd0
mov eax, dword [r15]
lea rax, [r14 + rax*4]
add dword [rax + rdx*4], r9d
mov ebx, dword [0x180020a70]
mov edi, dword [0x180020a6c]
cmp edi, 0xa
jl 0x180001f4d
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
je 0x180001f4d
lea rax, [r14 + rdx*4]
nop word cs:[rax + rax]
nop dword [rax]
mov ecx, dword [r15]
add dword [rax + rcx*4], r9d
mov ecx, dword [r15]
add dword [rax + rcx*4], r9d
mov ebx, dword [0x180020a70]
mov edi, dword [0x180020a6c]
cmp edi, 0xa
jl 0x180001f4d
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
jne 0x180001f00
jmp 0x180001f4d
mov edi, ecx
mov ebx, eax
cmp esi, 0xa
jne 0x180001f4d
mov eax, dword [r15]
mov ecx, edx
add rcx, r14
add qword [rax + rcx], r9
mov ebx, dword [0x180020a70]
mov edi, dword [0x180020a6c]
add r11, 1
mov eax, ebx
mov ecx, edi
cmp edi, 0xa
jl 0x180001e64
lea edx, [rbx - 1]
imul edx, ebx
mov eax, ebx
mov ecx, edi
and edx, 1
je 0x180001e64
jmp 0x180001fb0
mov edi, r8d
mov ebx, r10d
cmp edi, 0xa
mov rsi, qword [rbp - 0x10]
jl 0x180001df1
lea edx, [rbx - 1]
imul edx, ebx
and edx, 1
je 0x180001df1
nop word cs:[rax + rax]
nop
jmp 0x180001fa0
jmp 0x180001fb0
jmp 0x180001fc0
jmp 0x180001fd0
mov ebx, dword [rsi + r13 + 0x494]
add rbx, r14
lea rdx, [r14 + 2]
mov qword [rbp - 8], rdx
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete dl
cmp ecx, 0xa
setl al
or al, dl
mov rcx, qword [rbp]
test al, al
je 0x180001ffd
mov qword [rbp - 0x38], rbx
mov r15d, dword [rbx + 0xc]
test r15, r15
je 0x180002622
add r15, r14
sub rsp, 0x20
call fcn.1800028a0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x180002043
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002616
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180002072
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002618
add r8, r9
mov edi, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rdi, r9
add rcx, r9
mov esi, dword [rdi]
add rsi, r9
mov rbx, r12
nop dword [rax]
movzx eax, byte [rbx]
movzx edx, byte [rsi]
test al, al
je 0x1800020a6
add rbx, 1
add rsi, 1
cmp al, dl
je 0x180002090
cmp al, dl
je 0x1800020b4
add rdi, 4
add rcx, 2
jmp 0x180002085
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r15
call r9
add rsp, 0x20
mov r13, rax
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
cmp ecx, 0xa
jl 0x180002367
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x180002367
sub rsp, 0x20
mov rcx, qword [rbp]
call fcn.1800028a0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x180002125
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800025e0
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180002154
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800025f0
add r8, r9
mov edi, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rdi, r9
add rcx, r9
mov esi, dword [rdi]
add rsi, r9
mov rbx, r12
nop
movzx eax, byte [rbx]
movzx edx, byte [rsi]
test al, al
je 0x180002186
add rbx, 1
add rsi, 1
cmp al, dl
je 0x180002170
cmp al, dl
je 0x180002194
add rdi, 4
add rcx, 2
jmp 0x180002167
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r15
call r9
mov rcx, qword [rbp]
call fcn.1800028a0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x1800021d6
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002600
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180002205
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002610
add r8, r9
mov edi, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rdi, r9
add rcx, r9
mov esi, dword [rdi]
add rsi, r9
mov rbx, r12
movzx eax, byte [rbx]
movzx edx, byte [rsi]
test al, al
je 0x180002236
add rbx, 1
add rsi, 1
cmp al, dl
je 0x180002220
cmp al, dl
je 0x180002244
add rdi, 4
add rcx, 2
jmp 0x180002218
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r15
call r9
add rsp, 0x20
cmp dword [0x180020a6c], 0xa
jl 0x18000227a
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800020f3
sub rsp, 0x20
mov rcx, qword [rbp]
call fcn.1800028a0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x1800022ac
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002612
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x1800022db
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002614
add r8, r9
mov edi, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rdi, r9
add rcx, r9
mov esi, dword [rdi]
add rsi, r9
mov rbx, r12
nop word cs:[rax + rax]
movzx eax, byte [rbx]
movzx edx, byte [rsi]
test al, al
je 0x180002316
add rbx, 1
add rsi, 1
cmp al, dl
je 0x180002300
cmp al, dl
je 0x180002324
add rdi, 4
add rcx, 2
jmp 0x1800022ee
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r15
call r9
add rsp, 0x20
cmp dword [0x180020a6c], 0xa
jl 0x18000235a
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800020f3
sub rsp, 0x20
mov rcx, qword [rbp]
jmp 0x180002019
mov rdx, qword [rbp - 0x38]
mov ebx, dword [rdx]
mov edx, dword [rdx + 0x10]
add rbx, r14
mov qword [rbp - 0x28], rbx
add rdx, r14
mov qword [rbp - 0x18], rdx
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete bl
cmp ecx, 0xa
setl dl
or dl, bl
test dl, dl
je 0x180002392
mov rdx, qword [rbp - 0x28]
mov rdx, qword [rdx]
test rdx, rdx
je 0x1800025b9
mov rax, qword [rbp - 8]
add rax, rdx
test rdx, rdx
movzx ecx, dx
cmovns rcx, rax
mov qword [rbp - 0x30], rcx
sub rsp, 0x20
mov rcx, qword [rbp]
call fcn.1800028a0
add rsp, 0x20
mov r8, rax
cmp dword [0x180020a7c], 0xa
jl 0x1800023f2
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov r15, qword [rbp - 0x20]
je 0x1800023f6
jmp 0x18000261a
mov r15, qword [rbp - 0x20]
movsxd rax, dword [r8 + 0x3c]
mov ecx, dword [r8 + rax + 0x88]
mov r9d, dword [r8 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180002425
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000261c
add r9, r8
mov edx, dword [r8 + rcx + 0x20]
mov esi, dword [r8 + rcx + 0x24]
add rdx, r8
add rsi, r8
mov ebx, dword [rdx]
add rbx, r8
mov rdi, r15
movzx eax, byte [rdi]
movzx ecx, byte [rbx]
test al, al
je 0x180002456
add rdi, 1
add rbx, 1
cmp al, cl
je 0x180002440
cmp al, cl
je 0x180002464
add rdx, 4
add rsi, 2
jmp 0x180002438
movzx eax, word [rsi]
mov eax, dword [r9 + rax*4]
add r8, rax
sub rsp, 0x20
mov rcx, r13
mov rdx, qword [rbp - 0x30]
call r8
add rsp, 0x20
mov rcx, qword [rbp - 0x18]
mov qword [rcx], rax
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
cmp ecx, 0xa
jl 0x1800025aa
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x1800025aa
sub rsp, 0x20
mov rcx, qword [rbp]
call fcn.1800028a0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x1800024dd
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000261e
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x18000250c
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002620
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rdx, r9
add rcx, r9
mov r15, qword [rbp - 0x20]
mov edi, dword [rdx]
add rdi, r9
mov rsi, r15
movzx eax, byte [rsi]
movzx ebx, byte [rdi]
test al, al
je 0x180002541
add rsi, 1
add rdi, 1
cmp al, bl
je 0x18000252b
cmp al, bl
je 0x18000254f
add rdx, 4
add rcx, 2
jmp 0x180002523
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r13
mov rdx, qword [rbp - 0x30]
call r9
add rsp, 0x20
mov rcx, qword [rbp - 0x18]
mov qword [rcx], rax
sub rsp, 0x20
mov rcx, qword [rbp]
call fcn.1800028a0
add rsp, 0x20
mov r8, rax
cmp dword [0x180020a7c], 0xa
jl 0x1800023f6
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800023f6
jmp 0x18000261a
add qword [rbp - 0x28], 8
add qword [rbp - 0x18], 8
jmp 0x18000237e
mov rbx, qword [rbp - 0x38]
add rbx, 0x14
lea r13, section..data
mov rsi, qword [rbp - 0x10]
jmp 0x180001fe5
jmp 0x1800025e0
jmp 0x1800025f0
jmp 0x180002600
jmp 0x180002610
jmp 0x180002612
jmp 0x180002614
jmp 0x180002616
jmp 0x180002618
jmp 0x18000261a
jmp 0x18000261c
jmp 0x18000261e
jmp 0x180002620
mov eax, dword [rsi + r13 + 0x42c]
add rax, r14
sub rsp, 0x20
call rax
add rsp, 0x20
mov eax, dword [0x180020a6c]
cmp eax, 0xa
jl 0x180002728
mov edx, dword [0x180020a70]
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
je 0x180002728
mov rbx, qword [rbp - 0x10]
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
cmp eax, 0xa
mov rsi, qword [rbp - 0x10]
jl 0x1800026b9
test ecx, ecx
je 0x1800026b9
mov eax, dword [rsi + r13 + 0x42c]
add rax, r14
sub rsp, 0x20
call rax
add rsp, 0x20
mov eax, dword [rsi + r13 + 0x42c]
add rax, r14
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
jge 0x180002671
cmp eax, 0xa
jl 0x1800026c2
test ecx, ecx
jne 0x180002739
mov eax, dword [rbx + r13 + 0x42c]
add rax, r14
sub rsp, 0x20
call rax
add rsp, 0x20
mov esi, dword [0x180020a70]
mov edi, dword [0x180020a6c]
mov eax, dword [rbx + r13 + 0x42c]
add rax, r14
sub rsp, 0x20
call rax
add rsp, 0x20
cmp edi, 0xa
jl 0x180002708
lea eax, [rsi - 1]
imul eax, esi
and eax, 1
jne 0x1800026c2
mov eax, dword [0x180020a6c]
cmp eax, 0xa
jl 0x180002728
mov edx, dword [0x180020a70]
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
jne 0x18000265f
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
jmp 0x180002739