Function at 0x14015e0e0
Capabilities:
Hash data using fnv
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, 0x1d8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x140], xmm8
movaps xmmword [rbp + 0x130], xmm7
movaps xmmword [rbp + 0x120], xmm6
mov qword [rbp + 0x118], 0xfffffffffffffffe
mov rsi, rdx
mov rdi, rcx
xorps xmm0, xmm0
movaps xmmword [rbp - 0x40], xmm0
movaps xmmword [rbp + 0x20], xmm0
movaps xmmword [rbp + 0x10], xmm0
movaps xmmword [rbp], xmm0
movaps xmmword [rbp - 0x10], xmm0
movaps xmmword [rbp - 0x20], xmm0
movaps xmmword [rbp - 0x30], xmm0
movaps xmmword [rbp - 0x50], xmm0
movaps xmmword [rbp - 0x60], xmm0
mov dword [rbp - 0x40], 0x1009241
mov eax, dword [rcx + 8]
mov dword [rbp - 0x60], eax
lea rcx, [rbp - 0x60]
call qword [rdi]
cmp dword [0x1406d4940], 0xa
jl 0x14015e182
mov eax, dword [0x1406d4944]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x14015e182
nop word cs:[rax + rax]
jmp 0x14015e180
cmp dword [0x1406d4948], 0xa
jl 0x14015e1a2
mov eax, dword [0x1406d494c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x14015e1a2
nop dword [rax]
jmp 0x14015e1a0
cmp dword [0x1406d4950], 0xa
jl 0x14015e1c2
mov eax, dword [0x1406d4954]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x14015e1c2
nop dword [rax]
jmp 0x14015e1c0
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], 0
cmp dword [0x1406d4958], 0xa
jl 0x14015e1f2
mov eax, dword [0x1406d495c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x14015e1f2
nop word [rax + rax]
jmp 0x14015e1f0
mov qword [rbp + 0x108], rsi
mov r14, qword [rbp + 0x20]
cmp r14, 0xffffffffffffffff
je 0x14015e912
xor esi, esi
xorps xmm8, xmm8
movaps xmm7, xmmword [str.9:_____ABCDEFGH]
movaps xmm6, xmmword [str.IJKLMNOPQRSTUVWX]
mov qword [rbp + 0xd0], rdi
mov qword [rbp + 0xd8], r14
jmp 0x14015e240
lea rax, [rsi + 1]
cmp rsi, r14
mov rsi, rax
je 0x14015e912
movaps xmmword [rbp + 0x50], xmm8
movaps xmmword [rbp + 0x90], xmm8
movaps xmmword [rbp + 0xb0], xmm8
movaps xmmword [rbp + 0xa0], xmm8
movaps xmmword [rbp + 0x80], xmm8
movaps xmmword [rbp + 0x70], xmm8
movaps xmmword [rbp + 0x60], xmm8
movaps xmmword [rbp + 0x40], xmm8
movaps xmmword [rbp + 0x30], xmm8
mov dword [rbp + 0x50], 0x1009240
mov dword [rbp + 0x9c], esi
lea rcx, [rbp + 0x30]
call qword [rdi]
test rax, rax
je 0x14015e2c8
mov rax, qword [rbp + 0x58]
test rax, rax
je 0x14015e230
mov qword [rbp + 0xe0], rax
cmp dword [0x1406d4960], 0xa
jl 0x14015e360
mov eax, dword [0x1406d4964]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x14015e395
jmp 0x14015e360
movups xmm0, xmmword [0x140266c0c]
movaps xmmword [rbp + 0xf0], xmm0
movups xmm0, xmmword [str.HIS]
movaps xmmword [rbp + 0xe0], xmm0
cmp dword [0x1406d4968], 0xa
jl 0x14015e302
mov eax, dword [0x1406d496c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x14015e8d0
mov edx, dword [0x1406d4900]
mov ecx, dword [0x1406d4904]
lea eax, [rdx - 1]
imul eax, edx
cmp ecx, 0xa
jl 0x14015e324
mov edx, eax
and edx, 1
jne 0x14015e8e0
cmp ecx, 0xa
setl bl
test al, 1
sete r8b
mov eax, dword [0x1406d3d98]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete dl
cmp dword [0x1406d3d9c], 0xa
setl al
or al, dl
cmp al, 1
je 0x14015e3b0
jmp 0x14015e699
mov rcx, qword [rbp + 0x108]
lea rdx, [rbp + 0xe0]
call fcn.1401d55a0
cmp dword [0x1406d4960], 0xa
jl 0x14015e230
mov eax, dword [0x1406d4964]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x14015e230
mov rcx, qword [rbp + 0x108]
lea rdx, [rbp + 0xe0]
call fcn.1401d55a0
jmp 0x14015e360
mov rcx, qword gs:[0x60]
test al, al
je 0x14015e699
cmp dword [0x1406d3e58], 0xa
jl 0x14015e3df
mov eax, dword [0x1406d3e5c]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x14015e900
mov qword [rbp + 0xc8], rsi
mov eax, dword [0x1406d3da8]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete r11b
cmp dword [0x1406d3dac], 0xa
setl al
mov edx, dword [0x1406d4280]
lea esi, [rdx - 1]
imul esi, edx
test sil, 1
sete r9b
cmp dword [0x1406d4284], 0xa
mov rdx, qword [rcx + 0x18]
setl r10b
cmp dword [0x1406d3db8], 0xa
jl 0x14015e444
mov ecx, dword [0x1406d3dbc]
lea esi, [rcx - 1]
imul esi, ecx
and esi, 1
jne 0x14015e910
mov esi, ebx
and sil, r8b
xor bl, r8b
xor sil, 1
mov ecx, ebx
xor cl, 1
xor bl, sil
or cl, sil
and cl, bl
mov byte [rbp + 0x116], cl
or al, r11b
or r10b, r9b
mov byte [rbp + 0x117], r10b
add rdx, 0x10
mov rdx, qword [rdx]
mov qword [rbp + 0xc0], rdx
mov r14, qword [rdx + 0x30]
movsxd rcx, dword [r14 + 0x3c]
mov edx, dword [rcx + r14 + 0x88]
mov rcx, rdx
mov qword [rbp + 0x100], rdx
test rdx, rdx
je 0x14015e670
mov rcx, qword [rbp + 0x100]
mov ecx, dword [r14 + rcx + 0x18]
mov r11, rcx
jmp 0x14015e4d6
mov r15d, 0x811c9dc5
mov rcx, r11
cmp r15d, 0xe76fb4aa
je 0x14015e6a7
sub r11, 1
jb 0x14015e670
mov r10d, ecx
add r10d, 0xffffffff
mov rcx, qword [rbp + 0x100]
mov ecx, dword [r14 + rcx + 0x20]
add rcx, r14
mov ecx, dword [rcx + r10*4]
mov bl, byte [r14 + rcx]
test bl, bl
je 0x14015e4c0
add rcx, r14
mov r15d, 0x811c9dc5
jmp 0x14015e622
mov edi, r15d
and edi, 0x7ab683ed
or edi, 0x1410812
mov ebx, r15d
and ebx, 0x85497c12
xor ebx, edi
mov edi, ebx
xor edi, 0x50af90c3
xor ebx, 0xfebef7ed
and ebx, edi
mov r9d, r15d
and r9d, 0xae11672e
mov r13d, r8d
and r13d, 0xae11672e
mov edi, ebx
not edi
mov r12d, r9d
not r12d
and edi, r12d
and r12d, 0x6400fcd7
xor r15d, 0x24006406
and r15d, r9d
or r15d, r12d
xor r15d, ebx
xor r15d, 0x6400fcd7
xor r9d, ebx
or r9d, edi
not r9d
or r9d, r15d
mov edi, r8d
xor edi, 0xac106400
and edi, r13d
mov ebx, r8d
and ebx, 0x12c8050
mov esi, r8d
and esi, 0x50c21881
lea edx, [rsi + 0x9148106]
xor edx, ebx
xor esi, 0xfdd6fc81
mov ebx, r8d
and ebx, 0xac106400
or ebx, 0x52831b03
xor ebx, edi
mov edi, ebx
xor edi, 0x53af9b53
xor edx, 0xa390278
and edx, edi
or ebx, 0x400080
and ebx, esi
or ebx, edx
mov edx, r8d
and edx, 0x51ee98d1
or edx, 0x2e016708
xor edx, r13d
xor edx, 0x7fefffd9
xor r8d, 0xae11672e
or r8d, edx
mov edx, r8d
xor edx, ebx
not edx
not r8d
and r8d, ebx
or r8d, edx
xor r8d, r9d
imul r15d, r8d, 0x1000193
mov bl, byte [rcx]
test bl, bl
je 0x14015e4c6
add rcx, 1
movsx r8d, bl
add bl, 0xbf
cmp bl, 0x19
ja 0x14015e510
nop word cs:[rax + rax]
test al, al
je 0x14015e640
mov ebx, r8d
and ebx, 0xebcba6fa
and r8d, 0x14345925
or r8d, 0xab402048
xor r8d, ebx
xor r8d, 0xab402068
jmp 0x14015e510
cmp byte [rbp + 0x116], 0
mov rdx, qword [rbp + 0xc0]
je 0x14015e474
cmp byte [rbp + 0x117], 0
je 0x14015e8f0
mov rdx, qword [rdx]
jmp 0x14015e474
mov rdx, qword gs:[0x60]
jmp 0x14015e3b0
mov rcx, qword [rbp + 0x100]
mov eax, dword [r14 + rcx + 0x1c]
mov ecx, dword [r14 + rcx + 0x24]
add rax, r14
add rcx, r14
movzx ecx, word [rcx + r10*2]
mov r8d, dword [rax + rcx*4]
add r8, r14
mov eax, dword [0x1406d4970]
lea r10d, [rax - 1]
imul r10d, eax
mov eax, dword [0x1406d46e8]
cmp dword [0x1406d46ec], 0xa
setl dl
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete r14b
or r14b, dl
mov eax, dword [0x1406d46f0]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete al
cmp dword [0x1406d46f4], 0xa
mov r9d, dword [0x1406d4974]
setl r11b
or r11b, al
xor esi, esi
nop word cs:[rax + rax]
nop dword [rax + rax]
movzx r15d, byte [rbp + rsi + 0xe0]
lea rdi, [rsi + 0x39]
mov eax, 0x7fffffc6
sub rax, rsi
test r14b, r14b
jne 0x14015e7a0
mov ebx, eax
jmp 0x14015e7f8
add rsi, 1
cmp rsi, 0x20
jne 0x14015e730
test r11b, r11b
jne 0x14015e84b
movaps xmm0, xmmword [rbp + 0xf0]
xorps xmm0, xmm6
movaps xmm1, xmmword [rbp + 0xe0]
xorps xmm1, xmm7
movaps xmmword [rbp + 0xe0], xmm1
movaps xmmword [rbp + 0xf0], xmm0
xor esi, esi
jmp 0x14015e730
mov ebx, eax
and ebx, 0x7ae3877f
mov ecx, edi
and ecx, 0x851c7880
or ecx, ebx
mov ebx, ecx
xor ebx, 0x73
xor ecx, 0x7f
or ecx, ebx
mov ebx, eax
and ebx, 0x73a38a92
mov edx, edi
and edx, 0x8c5c756d
or edx, ebx
mov ebx, edx
xor ebx, 0x9e
or edx, 0xc
xor edx, 0x6d
or edx, ebx
and edx, ecx
xor dl, r15b
xor dl, 0xc
mov byte [rbp + rsi + 0xe0], dl
mov ebx, eax
test r14b, r14b
jne 0x14015e760
mov ecx, ebx
and ecx, 0x497a6d7e
mov edx, edi
and edx, 0xb6859281
or edx, ecx
mov ecx, edx
xor ecx, 0x4440a981
xor edx, 0x497a6d7e
or edx, ecx
mov ecx, edi
and ecx, 0xaf1a2c49
and ebx, 0x50e5d3b6
or ebx, ecx
xor ebx, 0xa220e8b6
mov ecx, edx
not ecx
and ecx, ebx
xor ebx, edx
xor ebx, ecx
xor bl, r15b
not bl
mov byte [rbp + rsi + 0xe0], bl
jmp 0x14015e7a0
test r10b, 1
sete cl
cmp r9d, 0xa
setl al
setge dl
xor dl, cl
and al, cl
xor al, dl
nop word cs:[rax + rax]
nop dword [rax]
test al, al
jne 0x14015e870
lea rcx, [rbp + 0xe0]
call r8
mov rdi, qword [rbp + 0xd0]
mov r14, qword [rbp + 0xd8]
mov rsi, qword [rbp + 0xc8]
cmp dword [0x1406d4968], 0xa
jl 0x14015e230
mov eax, dword [0x1406d496c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x14015e230
nop word cs:[rax + rax]
nop
jmp 0x14015e8c0
jmp 0x14015e8d0
jmp 0x14015e8e0
jmp 0x14015e8f0
jmp 0x14015e900
jmp 0x14015e910
mov rax, qword [rbp + 0x108]
movaps xmm6, xmmword [rbp + 0x120]
movaps xmm7, xmmword [rbp + 0x130]
movaps xmm8, xmmword [rbp + 0x140]
add rsp, 0x1d8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret