Function at 0x14003d300
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov qword [rax + 8], rcx
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x128]
sub rsp, 0x200
movaps xmmword [rax - 0x38], xmm6
xor r8d, r8d
mov r14d, r8d
mov esi, 0x4dbc712f
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rsp + 0x30], xmm0
movd ecx, xmm0
sub cx, 8
test r14d, r14d
je 0x14003d3b3
mov r9, qword [rsp + 0x38]
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x811c9dc5
cmp r9, r11
je 0x14003d3aa
movsx ecx, byte [r9]
mov edx, ecx
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
add r9, 2
cmp r9, r11
jne 0x14003d380
cmp r10d, r14d
jne 0x14003d505
mov rdi, qword [rax + 0x30]
test rdi, rdi
je 0x14003d512
movsxd rcx, dword [rdi + 0x3c]
mov rdx, qword [rcx + rdi + 0x88]
mov r13, rdx
shr r13, 0x20
mov r15d, edx
add r15, rdi
cmp r15, rdi
je 0x14003d505
mov r11d, dword [r15 + 0x18]
test r11d, r11d
je 0x14003d505
mov r12d, dword [r15 + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r11d
lea rcx, [rdi + r11*4]
mov r9d, dword [rcx + r12]
add r9, rdi
mov r10d, 0x811c9dc5
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x14003d44b
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x14003d420
cmp r10d, esi
je 0x14003d45d
test r11d, r11d
jne 0x14003d400
mov rax, qword [rax]
jmp 0x14003d350
mov ecx, dword [r15 + 0x1c]
add rcx, rdi
mov eax, dword [r15 + 0x24]
add rax, rdi
movzx eax, word [rax + r11*2]
mov ebx, dword [rcx + rax*4]
add rbx, rdi
cmp rbx, r15
jbe 0x14003d50d
lea rax, [r15 + r13]
cmp rbx, rax
jae 0x14003d50d
mov esi, 0x811c9dc5
mov r14d, esi
movzx edx, byte [rbx]
cmp dl, 0x2e
je 0x14003d4c6
nop dword [rax]
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, r14d
imul r14d, ecx, 0x1000193
inc rbx
movzx edx, byte [rbx]
cmp dl, 0x2e
jne 0x14003d4a0
inc rbx
movzx edx, byte [rbx]
test dl, dl
je 0x14003d4f4
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, esi
imul esi, ecx, 0x1000193
lea rbx, [rbx + 1]
movzx edx, byte [rbx]
test dl, dl
jne 0x14003d4d0
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x14003d350
xor r12d, r12d
jmp 0x14003d518
xor r12d, r12d
mov ebx, r12d
movabs r15, 0x54582e3d00efae85
mov qword [rbp + 0x10], r15
movabs r14, 0xc4de4aa888f26952
mov qword [rbp + 0x18], r14
movabs rax, 0x30761c0e728addf0
mov qword [rsp + 0x60], rax
movabs rax, 0xc4de4aa888f2053e
mov qword [rsp + 0x68], rax
movdqa xmm0, xmmword [rbp + 0x10]
pxor xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm0
lea rcx, [rsp + 0x60]
call rbx
mov qword [rbp + 0x90], r15
mov qword [rbp + 0x98], r14
movabs rax, 0xaa70201f35255727
mov qword [rbp + 0xa0], rax
movabs rax, 0x9954a0b2b7a291e4
mov qword [rbp + 0xa8], rax
movabs rax, 0x3b3c405457b394c6
mov qword [rbp - 0x10], rax
movabs rax, 0xa1aa39d1dbae1a25
mov qword [rbp - 8], rax
movabs rax, 0x9b41442c5117644a
mov qword [rbp], rax
movabs rax, 0x9954a0b2dbcef5ca
mov qword [rbp + 8], rax
movdqa xmm0, xmmword [rbp + 0x90]
pxor xmm0, xmmword [rbp - 0x10]
movdqa xmmword [rbp - 0x10], xmm0
movdqa xmm1, xmmword [rbp + 0xa0]
pxor xmm1, xmmword [rbp]
movdqa xmmword [rbp], xmm1
lea rcx, [rbp - 0x10]
call rbx
mov qword [rbp + 0x20], r15
mov qword [rbp + 0x28], r14
movabs rax, 0x38344a13398b9de1
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], r14
movdqa xmm0, xmmword [rbp + 0x20]
pxor xmm0, xmmword [rbp - 0x80]
movdqa xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call rbx
mov qword [rbp + 0x30], r15
mov qword [rbp + 0x38], r14
movabs rax, 0x7a364154739dcbf3
mov qword [rsp + 0x50], rax
movabs rsi, 0xc4de4aa8889e0536
mov qword [rsp + 0x58], rsi
movdqa xmm0, xmmword [rbp + 0x30]
pxor xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x50]
call rbx
mov qword [rbp + 0x40], r15
mov qword [rbp + 0x48], r14
movabs rax, 0x202b5b4f7481c7f2
mov qword [rbp - 0x60], rax
movabs rdi, 0xc4de4aa8e49e0d7c
mov qword [rbp - 0x58], rdi
movdqa xmm0, xmmword [rbp + 0x40]
pxor xmm0, xmmword [rbp - 0x60]
movdqa xmmword [rbp - 0x60], xmm0
lea rcx, [rbp - 0x60]
call rbx
mov qword [rbp + 0x50], r15
mov qword [rbp + 0x58], r14
movabs rax, 0x24344658678ec3cc
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdi
movdqa xmm0, xmmword [rbp + 0x50]
pxor xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp - 0x50], xmm0
lea rcx, [rbp - 0x50]
call rbx
mov qword [rbp + 0x60], r15
mov qword [rbp + 0x68], r14
movabs rax, 0x7a6a1d497096dcc6
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], rsi
movdqa xmm0, xmmword [rbp + 0x60]
pxor xmm0, xmmword [rbp - 0x40]
movdqa xmmword [rbp - 0x40], xmm0
lea rcx, [rbp - 0x40]
call rbx
mov qword [rbp + 0x70], r15
mov qword [rbp + 0x78], r14
movabs rax, 0x7a6a1d516c8ac6d6
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rsi
movdqa xmm0, xmmword [rbp + 0x70]
pxor xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rbp - 0x30], xmm0
lea rcx, [rbp - 0x30]
call rbx
mov dword [rsp + 0x40], r12d
mov qword [rsp + 0x50], r12
mov qword [rbp - 0x80], r12
mov esi, r12d
mov edi, 0x3c60a16d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rsp + 0x30], xmm0
movd ecx, xmm0
sub cx, 8
test esi, esi
je 0x14003d7c3
mov r9, qword [rsp + 0x38]
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x811c9dc5
cmp r9, r11
je 0x14003d7ba
nop
movsx ecx, byte [r9]
mov edx, ecx
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
add r9, 2
cmp r9, r11
jne 0x14003d790
cmp r10d, esi
jne 0x14003d916
mov rbx, qword [rax + 0x30]
test rbx, rbx
je 0x14003d923
movsxd rcx, dword [rbx + 0x3c]
mov rdx, qword [rcx + rbx + 0x88]
mov r13, rdx
shr r13, 0x20
mov r15d, edx
add r15, rbx
cmp r15, rbx
je 0x14003d916
mov r11d, dword [r15 + 0x18]
test r11d, r11d
je 0x14003d916
mov r12d, dword [r15 + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r11d
lea rcx, [rbx + r11*4]
mov r9d, dword [rcx + r12]
add r9, rbx
mov r10d, 0x811c9dc5
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x14003d85b
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x14003d830
cmp r10d, edi
je 0x14003d86d
test r11d, r11d
jne 0x14003d810
mov rax, qword [rax]
jmp 0x14003d760
mov ecx, dword [r15 + 0x1c]
add rcx, rbx
mov eax, dword [r15 + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov r9d, dword [rcx + rax*4]
add r9, rbx
cmp r9, r15
jbe 0x14003d91e
lea rax, [r15 + r13]
cmp r9, rax
jae 0x14003d91e
mov esi, 0x811c9dc5
mov edi, esi
movzx edx, byte [r9]
cmp dl, 0x2e
je 0x14003d8d5
nop dword [rax]
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, esi
imul esi, ecx, 0x1000193
inc r9
movzx edx, byte [r9]
cmp dl, 0x2e
jne 0x14003d8b0
inc r9
movzx edx, byte [r9]
test dl, dl
je 0x14003d905
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, edi
imul edi, ecx, 0x1000193
lea r9, [r9 + 1]
movzx edx, byte [r9]
test dl, dl
jne 0x14003d8e0
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x14003d760
xor r12d, r12d
jmp 0x14003d929
xor r12d, r12d
mov r9d, r12d
lea r8, [rbp - 0x80]
mov edx, 0x20
mov rcx, 0xffffffffffffffff
call r9
mov dword [rsp + 0x70], eax
test eax, eax
js 0x14003db62
mov rsi, qword [rbp - 0x80]
mov qword [rsp + 0x60], rsi
cmp qword [rsp + 0x50], 0
je 0x14003db5d
mov r14d, r12d
mov edi, 0xe049c205
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop word [rax + rax]
movups xmm0, xmmword [rcx + 0x58]
movups xmmword [rsp + 0x30], xmm0
movd eax, xmm0
sub ax, 8
test r14d, r14d
je 0x14003d9e1
mov r9, qword [rsp + 0x38]
movzx eax, ax
shr rax, 1
lea r11, [r9 + rax*2]
mov r10d, 0x811c9dc5
cmp r9, r11
je 0x14003d9d8
movsx eax, byte [r9]
mov edx, eax
sub al, 0x41
mov r8d, edx
or r8d, 0x20
cmp al, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
add r9, 2
cmp r9, r11
jne 0x14003d9b0
cmp r10d, r14d
jne 0x14003db3a
mov rbx, qword [rcx + 0x30]
test rbx, rbx
je 0x14003db47
movsxd rax, dword [rbx + 0x3c]
mov rdx, qword [rax + rbx + 0x88]
mov r13, rdx
shr r13, 0x20
mov esi, edx
add rsi, rbx
cmp rsi, rbx
je 0x14003db3a
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x14003db3a
mov r12d, dword [rsi + 0x20]
dec r11d
lea rax, [rbx + r11*4]
mov r9d, dword [rax + r12]
add r9, rbx
mov r10d, 0x811c9dc5
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x14003da6b
movsx eax, r8b
sub r8b, 0x41
mov edx, eax
or edx, 0x20
cmp r8b, 0x19
cmova edx, eax
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x14003da40
cmp r10d, edi
je 0x14003da7d
test r11d, r11d
jne 0x14003da20
mov rcx, qword [rcx]
jmp 0x14003d980
mov ecx, dword [rsi + 0x1c]
add rcx, rbx
mov eax, dword [rsi + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov edx, dword [rcx + rax*4]
add rdx, rbx
cmp rdx, rsi
jbe 0x14003db42
lea rax, [rsi + r13]
cmp rdx, rax
jae 0x14003db42
mov edi, 0x811c9dc5
mov r14d, edi
movzx r8d, byte [rdx]
cmp r8b, 0x2e
je 0x14003daeb
nop dword [rax]
movsx eax, r8b
sub r8b, 0x41
mov ecx, eax
or ecx, 0x20
cmp r8b, 0x19
cmova ecx, eax
xor ecx, r14d
imul r14d, ecx, 0x1000193
inc rdx
movzx r8d, byte [rdx]
cmp r8b, 0x2e
jne 0x14003dac0
inc rdx
movzx r8d, byte [rdx]
test r8b, r8b
je 0x14003db29
nop word [rax + rax]
movsx eax, r8b
sub r8b, 0x41
mov ecx, eax
or ecx, 0x20
cmp r8b, 0x19
cmova ecx, eax
xor ecx, edi
imul edi, ecx, 0x1000193
lea rdx, [rdx + 1]
movzx r8d, byte [rdx]
test r8b, r8b
jne 0x14003db00
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rcx, qword [rcx + 0x10]
mov rcx, qword [rcx]
jmp 0x14003d980
xor r12d, r12d
jmp 0x14003db4d
xor r12d, r12d
mov edx, r12d
mov rcx, qword [rsp + 0x50]
call rdx
mov eax, dword [rsp + 0x70]
mov rsi, qword [rsp + 0x60]
mov qword [rsp + 0x50], rsi
test eax, eax
js 0x14003dd87
mov dword [rbp - 0x20], 1
mov eax, dword [rsp + 0x40]
mov dword [rbp - 0x1c], eax
mov dword [rbp - 0x18], r12d
mov dword [rbp - 0x14], 2
mov esi, r12d
mov edi, 0x61766c5
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rsp + 0x30], xmm0
movd ecx, xmm0
sub cx, 8
test esi, esi
je 0x14003dc03
mov r9, qword [rsp + 0x38]
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x811c9dc5
cmp r9, r11
je 0x14003dbfa
nop
movsx ecx, byte [r9]
mov edx, ecx
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
add r9, 2
cmp r9, r11
jne 0x14003dbd0
cmp r10d, esi
jne 0x14003dd56
mov rbx, qword [rax + 0x30]
test rbx, rbx
je 0x14003dd63
movsxd rcx, dword [rbx + 0x3c]
mov rdx, qword [rcx + rbx + 0x88]
mov r13, rdx
shr r13, 0x20
mov r15d, edx
add r15, rbx
cmp r15, rbx
je 0x14003dd56
mov r11d, dword [r15 + 0x18]
test r11d, r11d
je 0x14003dd56
mov r12d, dword [r15 + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r11d
lea rcx, [rbx + r11*4]
mov r9d, dword [rcx + r12]
add r9, rbx
mov r10d, 0x811c9dc5
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x14003dc9b
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x14003dc70
cmp r10d, edi
je 0x14003dcad
test r11d, r11d
jne 0x14003dc50
mov rax, qword [rax]
jmp 0x14003dba0
mov ecx, dword [r15 + 0x1c]
add rcx, rbx
mov eax, dword [r15 + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov r10d, dword [rcx + rax*4]
add r10, rbx
cmp r10, r15
jbe 0x14003dd5e
lea rax, [r15 + r13]
cmp r10, rax
jae 0x14003dd5e
mov esi, 0x811c9dc5
mov edi, esi
movzx edx, byte [r10]
cmp dl, 0x2e
je 0x14003dd15
nop dword [rax]
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, esi
imul esi, ecx, 0x1000193
inc r10
movzx edx, byte [r10]
cmp dl, 0x2e
jne 0x14003dcf0
inc r10
movzx edx, byte [r10]
test dl, dl
je 0x14003dd45
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, edi
imul edi, ecx, 0x1000193
lea r10, [r10 + 1]
movzx edx, byte [r10]
test dl, dl
jne 0x14003dd20
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x14003dba0
xor r12d, r12d
jmp 0x14003dd69
xor r12d, r12d
mov r10d, r12d
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
mov r9d, 0x10
lea r8, [rbp - 0x20]
xor edx, edx
mov rcx, qword [rsp + 0x50]
call r10
lea rcx, [rsp + 0x50]
call fcn.14002d790
mov ecx, dword [rsp + 0x40]
inc ecx
mov dword [rsp + 0x40], ecx
cmp ecx, 0x23
jl 0x14003d734
lea rcx, [rbp + 0xd0]
call fcn.14006b2d0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0xb0]
call fcn.14002cef0
movups xmm6, xmmword [rax]
mov qword [rsp + 0x78], r12
mov r14d, r12d
mov esi, 0xb2c300e2
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rsp + 0x30], xmm0
movd ecx, xmm0
sub cx, 8
test r14d, r14d
je 0x14003de53
mov r9, qword [rsp + 0x38]
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x811c9dc5
cmp r9, r11
je 0x14003de4a
movsx ecx, byte [r9]
mov edx, ecx
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
add r9, 2
cmp r9, r11
jne 0x14003de20
cmp r10d, r14d
jne 0x14003dfa5
mov rdi, qword [rax + 0x30]
test rdi, rdi
je 0x14003dfb2
movsxd rcx, dword [rdi + 0x3c]
mov rdx, qword [rcx + rdi + 0x88]
mov r13, rdx
shr r13, 0x20
mov r15d, edx
add r15, rdi
cmp r15, rdi
je 0x14003dfa5
mov r11d, dword [r15 + 0x18]
test r11d, r11d
je 0x14003dfa5
mov r12d, dword [r15 + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r11d
lea rcx, [r12 + r11*4]
mov r9d, dword [rcx + rdi]
add r9, rdi
mov r10d, 0x811c9dc5
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x14003deeb
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x14003dec0
cmp r10d, esi
je 0x14003defd
test r11d, r11d
jne 0x14003dea0
mov rax, qword [rax]
jmp 0x14003ddf0
mov ecx, dword [r15 + 0x1c]
add rcx, rdi
mov eax, dword [r15 + 0x24]
add rax, rdi
movzx eax, word [rax + r11*2]
mov ebx, dword [rcx + rax*4]
add rbx, rdi
cmp rbx, r15
jbe 0x14003dfad
lea rax, [r15 + r13]
cmp rbx, rax
jae 0x14003dfad
mov esi, 0x811c9dc5
mov r14d, esi
movzx edx, byte [rbx]
cmp dl, 0x2e
je 0x14003df66
nop dword [rax]
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, r14d
imul r14d, ecx, 0x1000193
inc rbx
movzx edx, byte [rbx]
cmp dl, 0x2e
jne 0x14003df40
inc rbx
movzx edx, byte [rbx]
test dl, dl
je 0x14003df94
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, esi
imul esi, ecx, 0x1000193
lea rbx, [rbx + 1]
movzx edx, byte [rbx]
test dl, dl
jne 0x14003df70
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x14003ddf0
xor r12d, r12d
jmp 0x14003dfb8
xor r12d, r12d
mov ebx, r12d
cmp qword [0x1401c01d0], 0
jne 0x14003e03e
mov ecx, 0x40
call fcn.14000d720
test rax, rax
je 0x14003dfdb
mov rcx, rax
call fcn.140030310
jmp 0x14003dfde
mov rax, r12
mov qword [0x1401c01d0], rax
mov ecx, 0x38
call fcn.14000d720
test rax, rax
je 0x14003e01e
mov qword [rax + 0x11], r12
mov dword [rax + 0x19], r12d
mov word [rax + 0x1d], r12w
mov byte [rax + 0x1f], 0
mov qword [rax], r12
mov qword [rax + 8], r12
mov byte [rax + 0x10], 0
mov qword [rax + 0x20], r12
mov qword [rax + 0x28], r12
mov qword [rax + 0x30], r12
jmp 0x14003e021
mov rax, r12
mov qword [0x1401c01e0], rax
mov edx, 0xffffffff
mov rcx, qword [0x1401c01d0]
call fcn.140030670
call fcn.14000ba20
mov rdx, rbx
call fcn.14000bcc0
mov esi, r12d
mov edi, 0x8b519c0d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rsp + 0x30], xmm0
movd ecx, xmm0
sub cx, 8
test esi, esi
je 0x14003e0c3
mov r9, qword [rsp + 0x38]
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x811c9dc5
cmp r9, r11
je 0x14003e0ba
nop
movsx ecx, byte [r9]
mov edx, ecx
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
add r9, 2
cmp r9, r11
jne 0x14003e090
cmp r10d, esi
jne 0x14003e22a
mov rbx, qword [rax + 0x30]
test rbx, rbx
je 0x14003e237
movsxd rcx, dword [rbx + 0x3c]
mov rdx, qword [rcx + rbx + 0x88]
mov r13, rdx
shr r13, 0x20
mov r15d, edx
add r15, rbx
cmp r15, rbx
je 0x14003e22a
mov r11d, dword [r15 + 0x18]
test r11d, r11d
je 0x14003e22a
mov r12d, dword [r15 + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r11d
lea rcx, [r12 + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
mov r10d, 0x811c9dc5
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x14003e15b
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x14003e130
cmp r10d, edi
je 0x14003e16d
test r11d, r11d
jne 0x14003e110
mov rax, qword [rax]
jmp 0x14003e060
mov ecx, dword [r15 + 0x1c]
add rcx, rbx
mov eax, dword [r15 + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov edx, dword [rcx + rax*4]
add rdx, rbx
cmp rdx, r15
jbe 0x14003e232
lea rax, [r15 + r13]
cmp rdx, rax
jae 0x14003e232
mov esi, 0x811c9dc5
mov edi, esi
movzx r8d, byte [rdx]
cmp r8b, 0x2e
je 0x14003e1d9
nop dword [rax]
movsx eax, r8b
sub r8b, 0x41
mov ecx, eax
or ecx, 0x20
cmp r8b, 0x19
cmova ecx, eax
xor ecx, esi
imul esi, ecx, 0x1000193
inc rdx
movzx r8d, byte [rdx]
cmp r8b, 0x2e
jne 0x14003e1b0
inc rdx
movzx r8d, byte [rdx]
test r8b, r8b
je 0x14003e219
nop word [rax + rax]
movsx eax, r8b
sub r8b, 0x41
mov ecx, eax
or ecx, 0x20
cmp r8b, 0x19
cmova ecx, eax
xor ecx, edi
imul edi, ecx, 0x1000193
lea rdx, [rdx + 1]
movzx r8d, byte [rdx]
test r8b, r8b
jne 0x14003e1f0
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x14003e060
xor r12d, r12d
jmp 0x14003e23d
xor r12d, r12d
mov edx, r12d
lea rcx, [0x14003ca10]
call rdx
lea rax, [rsp + 0x78]
mov qword [rbp + 0x80], rax
lea rax, [rbp + 0x130]
mov qword [rbp + 0x88], rax
mov ecx, 0x10
call fcn.14000d720
test rax, rax
je 0x14003e27b
movups xmm0, xmmword [rbp + 0x80]
movups xmmword [rax], xmm0
jmp 0x14003e27e
mov rax, r12
lea rcx, [rbp - 0x68]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r12d
mov r9, rax
lea r8, [0x140060700]
xor edx, edx
xor ecx, ecx
call fcn.140083ebc
mov qword [rbp - 0x70], rax
test rax, rax
je 0x14003e969
cmp dword [rbp - 0x68], 0
je 0x14003e978
call sub.KERNEL32.dll_GetCurrentThreadId
cmp dword [rbp - 0x68], eax
je 0x14003e983
movaps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rsp + 0x30], xmm0
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.140079350
test eax, eax
jne 0x14003e98e
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x70], xmm0
movdqa xmmword [rsp + 0x30], xmm6
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0xc0]
call fcn.14002cef0
movups xmm2, xmmword [rax]
movsd xmm1, qword [0x1400c3930]
mov esi, 0x89eabb08
comisd xmm1, xmm2
jbe 0x14003e53f
mov r14d, r12d
mov edi, esi
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rsp + 0x30], xmm0
movd ecx, xmm0
sub cx, 8
test r14d, r14d
je 0x14003e3a3
mov r9, qword [rsp + 0x38]
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x811c9dc5
cmp r9, r11
je 0x14003e39a
nop dword [rax]
nop word [rax + rax]
movsx ecx, byte [r9]
mov edx, ecx
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
add r9, 2
cmp r9, r11
jne 0x14003e370
cmp r10d, r14d
jne 0x14003e518
mov rbx, qword [rax + 0x30]
test rbx, rbx
je 0x14003e525
movsxd rcx, dword [rbx + 0x3c]
mov rdx, qword [rcx + rbx + 0x88]
mov rcx, rdx
shr rcx, 0x20
mov qword [rsp + 0x60], rcx
mov r12d, edx
add r12, rbx
cmp r12, rbx
je 0x14003e518
mov r11d, dword [r12 + 0x18]
test r11d, r11d
je 0x14003e518
mov r13d, dword [r12 + 0x20]
nop word [rax + rax]
dec r11d
lea rcx, [r11*4]
add rcx, r13
mov r9d, dword [rcx + rbx]
add r9, rbx
mov r10d, 0x811c9dc5
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x14003e44b
nop word [rax + rax]
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x14003e420
cmp r10d, edi
je 0x14003e45d
test r11d, r11d
jne 0x14003e3f0
mov rax, qword [rax]
jmp 0x14003e331
mov ecx, dword [r12 + 0x24]
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [r12 + 0x1c]
add rcx, rbx
mov r8d, dword [rcx + rdx*4]
add r8, rbx
cmp r8, r12
jbe 0x14003e520
mov rax, qword [rsp + 0x60]
add rax, r12
cmp r8, rax
jae 0x14003e520
mov edi, 0x811c9dc5
mov r14d, edi
movzx edx, byte [r8]
cmp dl, 0x2e
je 0x14003e4d7
nop dword [rax]
nop dword [rax + rax]
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, r14d
imul r14d, ecx, 0x1000193
inc r8
movzx edx, byte [r8]
cmp dl, 0x2e
jne 0x14003e4b0
inc r8
movzx edx, byte [r8]
test dl, dl
je 0x14003e507
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, edi
imul edi, ecx, 0x1000193
lea r8, [r8 + 1]
movzx edx, byte [r8]
test dl, dl
jne 0x14003e4e2
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x14003e331
xor r12d, r12d
jmp 0x14003e52b
xor r12d, r12d
mov r8d, r12d
subsd xmm1, xmm2
mulsd xmm1, qword [0x1400c3940]
cvttsd2si rcx, xmm1
call r8
mov edi, r12d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rsp + 0x30], xmm0
movd ecx, xmm0
sub cx, 8
test edi, edi
je 0x14003e5c3
mov r9, qword [rsp + 0x38]
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x811c9dc5
cmp r9, r11
je 0x14003e5ba
nop dword [rax]
nop word [rax + rax]
movsx ecx, byte [r9]
mov edx, ecx
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
add r9, 2
cmp r9, r11
jne 0x14003e590
cmp r10d, edi
jne 0x14003e716
mov rbx, qword [rax + 0x30]
test rbx, rbx
je 0x14003e723
movsxd rcx, dword [rbx + 0x3c]
mov rdx, qword [rcx + rbx + 0x88]
mov r13, rdx
shr r13, 0x20
mov r15d, edx
add r15, rbx
cmp r15, rbx
je 0x14003e716
mov r11d, dword [r15 + 0x18]
test r11d, r11d
je 0x14003e716
mov r12d, dword [r15 + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r11d
lea rcx, [r12 + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
mov r10d, 0x811c9dc5
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x14003e65b
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x14003e630
cmp r10d, esi
je 0x14003e66d
test r11d, r11d
jne 0x14003e610
mov rax, qword [rax]
jmp 0x14003e553
mov ecx, dword [r15 + 0x24]
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [r15 + 0x1c]
add rcx, rbx
mov r8d, dword [rcx + rdx*4]
add r8, rbx
cmp r8, r15
jbe 0x14003e71e
lea rax, [r15 + r13]
cmp r8, rax
jae 0x14003e71e
mov edi, 0x811c9dc5
mov esi, edi
movzx edx, byte [r8]
cmp dl, 0x2e
je 0x14003e6d5
nop dword [rax]
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, edi
imul edi, ecx, 0x1000193
inc r8
movzx edx, byte [r8]
cmp dl, 0x2e
jne 0x14003e6b0
inc r8
movzx edx, byte [r8]
test dl, dl
je 0x14003e705
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, esi
imul esi, ecx, 0x1000193
lea r8, [r8 + 1]
movzx edx, byte [r8]
test dl, dl
jne 0x14003e6e0
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x14003e553
xor r12d, r12d
jmp 0x14003e729
xor r12d, r12d
mov r8d, r12d
mov ecx, 0xbb8
call r8
mov rax, qword [rsp + 0x78]
dec rax
cmp rax, 0xfffffffffffffffd
ja 0x14003e929
mov esi, r12d
mov edi, 0x8285aca5
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rsp + 0x30], xmm0
movd ecx, xmm0
sub cx, 8
test esi, esi
je 0x14003e7c3
mov r9, qword [rsp + 0x38]
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x811c9dc5
cmp r9, r11
je 0x14003e7ba
nop
movsx ecx, byte [r9]
mov edx, ecx
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
add r9, 2
cmp r9, r11
jne 0x14003e790
cmp r10d, esi
jne 0x14003e916
mov rbx, qword [rax + 0x30]
test rbx, rbx
je 0x14003e91e
movsxd rcx, dword [rbx + 0x3c]
mov rdx, qword [rcx + rbx + 0x88]
mov r13, rdx
shr r13, 0x20
mov r14d, edx
add r14, rbx
cmp r14, rbx
je 0x14003e916
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x14003e916
mov r12d, dword [r14 + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r11d
lea rcx, [rbx + r11*4]
mov r9d, dword [rcx + r12]
add r9, rbx
mov r10d, 0x811c9dc5
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x14003e85b
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x14003e830
cmp r10d, edi
je 0x14003e86d
test r11d, r11d
jne 0x14003e810
mov rax, qword [rax]
jmp 0x14003e760
mov ecx, dword [r14 + 0x24]
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov r8d, dword [rcx + rdx*4]
add r8, rbx
cmp r8, r14
jbe 0x14003e921
lea rax, [r14 + r13]
cmp r8, rax
jae 0x14003e921
mov esi, 0x811c9dc5
mov edi, esi
movzx edx, byte [r8]
cmp dl, 0x2e
je 0x14003e8d5
nop dword [rax]
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, esi
imul esi, ecx, 0x1000193
inc r8
movzx edx, byte [r8]
cmp dl, 0x2e
jne 0x14003e8b0
inc r8
movzx edx, byte [r8]
test dl, dl
je 0x14003e905
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, edi
imul edi, ecx, 0x1000193
lea r8, [r8 + 1]
movzx edx, byte [r8]
test dl, dl
jne 0x14003e8e0
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x14003e760
xor r8d, r8d
mov rcx, qword [rsp + 0x78]
call r8
cmp dword [rbp - 0x68], 0
jne 0x14003e963
lea rcx, [rbp + 0xd0]
call fcn.14006ba30
xor eax, eax
lea r11, [rsp + 0x200]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14008759c
int3
mov dword [rbp - 0x68], r12d
mov ecx, 6
call fcn.140078894
int3
mov ecx, 1
call fcn.140078894
int3
mov ecx, 5
call fcn.140078894
int3
mov ecx, 2
call fcn.140078894
int3