Function at 0x14004b600
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xa8
mov edi, 8
mov rsi, qword [rsp + 0x110]
movdqu xmm0, xmmword [r8]
movdqu xmm1, xmmword [r9]
mov qword [rsp + 0xf0], rcx
lea rcx, [rsi + 0xd0]
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x70], xmm1
call fcn.140025840
mov r14d, dword [rsi + 0x18]
mov rbx, rax
and r14d, 0x4a
cmp r14d, 0x40
je 0x14004b66d
cmp r14d, 8
mov edi, 0x10
mov eax, 0xa
cmovne edi, eax
lea rsi, [rsp + 0x80]
lea rdx, [rsp + 0x70]
mov rcx, rsi
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x28], rsi
call fcn.140028af0
mov r15d, eax
test al, al
jne 0x14004bde0
mov rcx, rsi
call fcn.140028bb0
cmp byte [rbx + 0x6e], al
mov r13d, eax
sete byte [rsp + 0x68]
je 0x14004b6b5
cmp byte [rbx + 0x6f], al
jne 0x14004bed0
movzx edx, byte [rbx + 0x20]
test dl, dl
jne 0x14004b990
cmp byte [rbx + 0x48], al
je 0x14004b706
mov rcx, qword [rsp + 0x80]
call fcn.1400999b0
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x28]
mov dword [rsp + 0x88], 0xffffffff
call fcn.140028af0
test al, al
jne 0x14004bede
mov rcx, qword [rsp + 0x28]
call fcn.140028bb0
movzx edx, byte [rbx + 0x20]
mov r13d, eax
xor esi, esi
xor ebp, ebp
test dl, dl
je 0x14004b718
cmp byte [rbx + 0x49], r13b
je 0x14004bdf5
cmp byte [rbx + 0x48], r13b
je 0x14004b7cb
cmp byte [rbx + 0x72], r13b
je 0x14004b9a0
test sil, sil
je 0x14004ba08
cmp byte [rbx + 0x70], r13b
je 0x14004b745
cmp byte [rbx + 0x71], r13b
jne 0x14004bef0
test r14d, r14d
sete al
cmp edi, 0x10
sete cl
or al, cl
je 0x14004bf1e
xor esi, esi
xor ebp, ebp
mov edi, 0x10
mov r12, qword [rsp + 0x80]
mov rax, qword [r12 + 0x10]
mov rdx, qword [r12 + 0x18]
cmp rax, rdx
jae 0x14004bb50
mov dword [rsp + 0x88], 0xffffffff
add rax, 1
mov qword [r12 + 0x10], rax
cmp rax, rdx
jae 0x14004bb80
xor r12d, r12d
mov rcx, qword [rsp + 0x70]
cmp dword [rsp + 0x78], 0xffffffff
sete al
test rcx, rcx
setne dl
and dl, al
jne 0x14004bb08
cmp al, r12b
jne 0x14004b9d8
movzx edx, byte [rbx + 0x20]
mov r15d, 1
cmp edi, 0x10
je 0x14004ba14
movsxd rax, edi
mov dword [rsp + 0x38], edi
mov qword [rsp + 0x50], rax
mov rax, qword [0x1400c72a0]
mov qword [rsp + 0x60], rax
add rax, 0x18
mov qword [rsp + 0x98], rax
test dl, dl
jne 0x14004be30
movzx eax, byte [rsp + 0x68]
xor edx, edx
add eax, 0x7fffffff
mov dword [rsp + 0x3c], eax
div dword [rsp + 0x38]
mov dword [rsp + 0x24], eax
movzx eax, byte [rbx + 0x88]
mov byte [rsp + 0x6f], al
test al, al
jne 0x14004bc60
xor r14d, r14d
test r15b, r15b
jne 0x14004bf98
movzx eax, byte [rsp + 0x50]
xor r12d, r12d
add eax, 0x30
mov byte [rsp + 0x40], al
movsx eax, r13b
cmp edi, 0xa
jg 0x14004ba40
cmp r13b, 0x2f
jle 0x14004ba66
cmp byte [rsp + 0x40], r13b
jle 0x14004ba66
lea edx, [rax - 0x30]
cmp dword [rsp + 0x24], r12d
jb 0x14004ba30
mov eax, dword [rsp + 0x38]
imul r12d, eax
mov eax, dword [rsp + 0x3c]
sub eax, edx
cmp eax, r12d
setb al
add r12d, edx
add ebp, 1
or r14d, eax
mov r13, qword [rsp + 0x80]
mov rax, qword [r13 + 0x10]
mov rdx, qword [r13 + 0x18]
cmp rax, rdx
jae 0x14004bda8
mov dword [rsp + 0x88], 0xffffffff
add rax, 1
mov qword [r13 + 0x10], rax
mov byte [rsp + 0x28], 0
cmp rax, rdx
jae 0x14004bf2b
mov rcx, qword [rsp + 0x70]
cmp dword [rsp + 0x78], 0xffffffff
sete al
test rcx, rcx
je 0x14004b8e7
test al, al
jne 0x14004bbf0
cmp al, byte [rsp + 0x28]
jne 0x14004bb20
mov edi, 1
mov rax, qword [rsp + 0x98]
cmp qword [rax - 0x18], 0
jne 0x14004ba7b
cmp sil, 1
je 0x14004bac9
test ebp, ebp
jne 0x14004bac9
mov rsi, qword [rsp + 0x120]
mov dword [rsi], 0
mov rsi, qword [rsp + 0x118]
mov dword [rsi], 4
test dil, dil
je 0x14004b947
mov rsi, qword [rsp + 0x118]
or dword [rsi], 2
mov rsi, qword [rsp + 0xf0]
lea rcx, [rax - 0x18]
movdqa xmm2, xmmword [rsp + 0x80]
movups xmmword [rsi], xmm2
mov rsi, qword [rsp + 0x60]
cmp rcx, rsi
jne 0x14004befa
mov rax, qword [rsp + 0xf0]
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp byte [rbx + 0x49], al
jne 0x14004b6c1
jmp 0x14004b706
mov eax, esi
xor eax, 1
cmp edi, 0xa
sete cl
or al, cl
je 0x14004b735
cmp edi, 8
sete sil
test r14d, r14d
sete dl
or sil, dl
je 0x14004bbe0
xor ebp, ebp
mov edi, 8
jmp 0x14004b762
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x14004bbd0
mov rax, qword [rcx + 0x10]
cmp rax, qword [rcx + 0x18]
jae 0x14004bbaa
movzx r13d, byte [rax]
movzx edx, byte [rbx + 0x20]
test sil, sil
jne 0x14004b70a
xor r15d, r15d
cmp edi, 0x10
jne 0x14004b7d4
mov dword [rsp + 0x38], 0x10
mov edi, 0x16
mov qword [rsp + 0x50], 0x16
jmp 0x14004b7e0
mov r14d, 1
jmp 0x14004b893
lea edx, [r13 - 0x30]
cmp dl, 9
jbe 0x14004b868
lea edx, [r13 - 0x61]
cmp dl, 5
ja 0x14004bc44
lea edx, [rax - 0x57]
cmp eax, 0x56
jne 0x14004b86b
mov rax, qword [rsp + 0x98]
xor edi, edi
cmp qword [rax - 0x18], 0
je 0x14004b909
lea r13, [rsp + 0x98]
movsx edx, bpl
mov rcx, r13
mov qword [rsp + 0x30], r13
call fcn.14007c300
mov rdx, qword [rbx + 0x18]
mov rcx, qword [rbx + 0x10]
mov r8, r13
call fcn.1400b5d90
test al, al
je 0x14004be90
mov rax, qword [rsp + 0x98]
test ebp, ebp
jne 0x14004bac9
cmp sil, 1
je 0x14004bac9
cmp qword [rax - 0x18], 0
je 0x14004b91b
test r15b, r15b
jne 0x14004b91b
test r14b, r14b
je 0x14004be70
mov edx, dword [rsp + 0x68]
mov rsi, qword [rsp + 0x120]
and edx, 1
add edx, 0x7fffffff
mov dword [rsi], edx
mov rsi, qword [rsp + 0x118]
mov dword [rsi], 4
jmp 0x14004b937
mov rax, qword [rcx + 0x18]
cmp qword [rcx + 0x10], rax
jae 0x14004bea8
xor eax, eax
jmp 0x14004b7b8
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x14004bc30
mov rax, qword [rcx + 0x10]
cmp rax, qword [rcx + 0x18]
jae 0x14004bf54
movzx r13d, byte [rax]
jmp 0x14004b846
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x50]
mov rax, qword [r12 + 0x10]
mov rdx, qword [r12 + 0x18]
mov dword [rsp + 0x88], 0xffffffff
cmp rax, rdx
jb 0x14004b79a
nop dword [rax + rax]
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x48]
cmp eax, 0xffffffff
jne 0x14004b79a
mov qword [rsp + 0x80], 0
mov r12d, 1
jmp 0x14004b79d
mov rax, qword [rcx]
call qword [rax + 0x48]
mov r13d, eax
cmp eax, 0xffffffff
jne 0x14004b9fb
mov qword [rsp + 0x80], 0
nop dword [rax + rax]
mov r13d, 0xffffffff
jmp 0x14004b9fb
add ebp, 1
mov esi, eax
jmp 0x14004b762
mov rdx, qword [rcx + 0x18]
xor eax, eax
cmp qword [rcx + 0x10], rdx
jb 0x14004b8e7
mov rax, qword [rcx]
lea rdx, [rsp + 0x98]
mov qword [rsp + 0x30], rdx
call qword [rax + 0x48]
cmp eax, 0xffffffff
sete al
jne 0x14004b8e7
mov qword [rsp + 0x70], 0
jmp 0x14004b8e7
cmp edi, 0xa
jle 0x14004ba66
mov r13d, 0xffffffff
mov eax, 0xffffffff
sub r13d, 0x41
cmp r13b, 5
ja 0x14004ba66
lea edx, [rax - 0x37]
jmp 0x14004b86b
test r15b, r15b
jne 0x14004bfa6
lea rax, [rbx + 0x72]
xor r14d, r14d
xor r12d, r12d
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x98]
mov qword [rsp + 0x48], rax
movzx eax, byte [rbx + 0x20]
test al, al
je 0x14004bc97
cmp byte [rbx + 0x49], r13b
je 0x14004bd6d
cmp byte [rbx + 0x48], r13b
je 0x14004ba66
mov rdi, qword [rsp + 0x58]
mov r8, qword [rsp + 0x50]
movsx edx, r13b
mov rcx, rdi
call sub.msvcrt.dll_memchr
test rax, rax
je 0x14004ba66
sub rax, rdi
lea edx, [rax - 6]
cmp eax, 0xf
cmovg eax, edx
cmp dword [rsp + 0x24], r12d
jb 0x14004bd98
mov edi, dword [rsp + 0x38]
mov edx, dword [rsp + 0x3c]
imul r12d, edi
sub edx, eax
cmp edx, r12d
setb dl
add r12d, eax
add ebp, 1
or r14d, edx
mov rcx, qword [rsp + 0x80]
mov rax, qword [rcx + 0x10]
cmp rax, qword [rcx + 0x18]
jae 0x14004be50
add rax, 1
mov qword [rcx + 0x10], rax
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
mov dword [rsp + 0x88], 0xffffffff
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x30], rax
call fcn.140028af0
mov edi, eax
test al, al
jne 0x14004b8f6
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x30], rax
call fcn.140028bb0
mov r13d, eax
movzx eax, byte [rbx + 0x20]
test al, al
je 0x14004bc97
cmp byte [rbx + 0x49], r13b
jne 0x14004bc97
test ebp, ebp
je 0x14004bfb7
lea rax, [rsp + 0x98]
movsx edx, bpl
mov rcx, rax
mov qword [rsp + 0x30], rax
call fcn.14007c300
xor ebp, ebp
jmp 0x14004bcf4
movzx r14d, byte [rsp + 0x6f]
jmp 0x14004bcf4
mov rax, qword [r13]
lea rcx, [rsp + 0x98]
mov qword [rsp + 0x30], rcx
mov rcx, r13
call qword [rax + 0x50]
mov dword [rsp + 0x88], 0xffffffff
mov rax, qword [r13 + 0x10]
mov rdx, qword [r13 + 0x18]
jmp 0x14004b8bf
mov byte [rsp + 0x68], 0
movzx edx, byte [rbx + 0x20]
xor r13d, r13d
xor ebp, ebp
xor esi, esi
jmp 0x14004b7cb
cmp edi, 0x10
jne 0x14004b7d4
mov rax, qword [0x1400c72a0]
mov dword [rsp + 0x38], 0x10
mov edi, 0x16
mov qword [rsp + 0x50], 0x16
mov qword [rsp + 0x60], rax
add rax, 0x18
mov qword [rsp + 0x98], rax
nop dword [rax]
lea rax, [rsp + 0x98]
mov edx, 0x20
mov rcx, rax
mov qword [rsp + 0x30], rax
call fcn.14007c070
jmp 0x14004b800
mov rax, qword [rcx]
lea rdi, [rsp + 0x98]
mov qword [rsp + 0x30], rdi
call qword [rax + 0x50]
jmp 0x14004bd12
mov edx, r12d
mov rsi, qword [rsp + 0x120]
neg edx
cmp byte [rsp + 0x68], 0
cmove edx, r12d
mov dword [rsi], edx
jmp 0x14004b937
mov rax, qword [rsp + 0x118]
mov dword [rax], 4
jmp 0x14004baac
mov rax, qword [rcx]
mov byte [rsp + 0x24], dl
call qword [rax + 0x48]
movzx edx, byte [rsp + 0x24]
cmp eax, 0xffffffff
jne 0x14004bb16
mov qword [rsp + 0x70], 0
mov eax, edx
jmp 0x14004b7b8
mov byte [rsp + 0x68], 0
movzx edx, byte [rbx + 0x20]
jmp 0x14004b706
movzx edx, byte [rbx + 0x20]
xor esi, esi
mov r15d, eax
xor ebp, ebp
jmp 0x14004b7cb
mov esi, 1
jmp 0x14004b7cb
mov edx, 0xffffffff
lock xadd dword [rax - 8], edx
test edx, edx
jg 0x14004b96d
lea rdx, [rsp + 0x97]
call fcn.14007a960
jmp 0x14004b96d
xor r15d, r15d
mov esi, 1
jmp 0x14004b7d4
mov rax, qword [r13]
lea rcx, [rsp + 0x98]
mov qword [rsp + 0x30], rcx
mov rcx, r13
call qword [rax + 0x48]
cmp eax, 0xffffffff
je 0x14004bfc1
cmp eax, 0xffffffff
sete byte [rsp + 0x28]
jmp 0x14004b8cd
mov rax, qword [rcx]
lea rdx, [rsp + 0x98]
mov qword [rsp + 0x30], rdx
call qword [rax + 0x48]
mov r13d, eax
cmp eax, 0xffffffff
jne 0x14004b846
mov qword [rsp + 0x80], 0
cmp edi, 0xa
jle 0x14004ba66
mov r13d, 0xffffffff
jmp 0x14004ba4d
mov edi, r15d
xor r12d, r12d
xor r15d, r15d
jmp 0x14004b8f6
mov edi, r15d
xor r12d, r12d
xor r14d, r14d
xor r15d, r15d
jmp 0x14004b8f6
xor edi, edi
mov r15d, eax
jmp 0x14004b8f6
mov qword [rsp + 0x80], 0
jmp 0x14004bf47