Function at 0x140074801
Capabilities:
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, 0x218
lea rbp, [rsp + 0x80]
movdqa xmmword [rbp + 0x180], xmm8
movdqa xmmword [rbp + 0x170], xmm7
movaps xmmword [rbp + 0x160], xmm6
and rsp, 0xffffffffffffffe0
mov qword [rsp + 0x90], r9
mov word [rsp + 0x22], r8w
mov r14, rdx
mov qword [rsp + 0x50], rcx
mov r12b, byte [rdx + 0x48]
movzx eax, word [rdx]
mov word [rsp + 0x24], ax
test ax, ax
je 0x1400748ae
mov r15, qword [r14 + 8]
mov rbx, qword [r14 + 0x18]
mov rcx, rbx
xor edx, edx
call fcn.140012d18
mov rsi, rax
mov rdi, rdx
mov rcx, rax
mov qword [rsp + 0x38], r15
mov rdx, r15
mov r8, rbx
call fcn.140085b90
mov qword [rsp + 0xa4], rsi
mov qword [rsp + 0xac], rdi
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0xb4], rbx
mov r15w, 1
jmp 0x140074906
movdqu xmm0, xmmword [r14 + 4]
movdqu xmm1, xmmword [r14 + 0x14]
movzx ebx, word [r14 + 2]
movdqa xmmword [rsp + 0xb0], xmm1
movdqa xmmword [rsp + 0xa0], xmm0
movq rax, xmm1
pshufd xmm1, xmm1, 0xee
movq rcx, xmm1
shld rcx, rax, 0x20
mov qword [rsp + 0x40], rcx
movq rax, xmm0
pshufd xmm0, xmm0, 0xee
movq rcx, xmm0
shld rcx, rax, 0x20
mov qword [rsp + 0x38], rcx
xor r15d, r15d
movzx eax, word [r14 + 0x28]
mov word [rsp + 0x20], ax
test ax, ax
mov qword [rsp + 0x48], r14
je 0x14007494b
mov rsi, qword [r14 + 0x30]
mov r13, qword [r14 + 0x40]
mov rcx, r13
xor edx, edx
call fcn.140012d18
mov r14, rax
mov rdi, rdx
mov rcx, rax
mov qword [rsp + 0x28], rsi
mov rdx, rsi
mov r8, r13
call fcn.140085b90
mov cx, 1
jmp 0x14007496a
mov eax, dword [r14 + 0x2c]
mov r8, qword [r14 + 0x30]
mov rdi, qword [r14 + 0x38]
mov r13d, dword [r14 + 0x40]
movzx edx, word [r14 + 0x2a]
xor ecx, ecx
mov qword [rsp + 0x28], r8
mov r14, r8
lea rsi, [rsp + 0x120]
mov byte [rsp + 0x70], r12b
mov byte [rsi + 0x48], r12b
mov word [rsi], r15w
mov word [rsi + 2], bx
movaps xmm0, xmmword [rsp + 0xa0]
movaps xmm1, xmmword [rsp + 0xb0]
movups xmmword [rsi + 0x14], xmm1
movups xmmword [rsi + 4], xmm0
mov word [rsi + 0x28], cx
mov word [rsi + 0x2a], dx
mov dword [rsi + 0x2c], eax
mov qword [rsi + 0x30], r14
mov qword [rsi + 0x38], rdi
mov qword [rsp + 0x58], r13
mov qword [rsi + 0x40], r13
mov rdi, qword [rsp + 0x50]
mov rcx, qword [rdi + 0x20]
mov rdx, qword [rdi + 0x28]
mov r8, rsi
call fcn.14007440e
mov rcx, rax
shr rcx, 0x39
mov rdx, qword [rdi]
mov r13, qword [rdi + 8]
mov rdi, r13
mov qword [rsp + 0x88], rax
and rdi, rax
mov qword [rsp + 0x68], rcx
movd xmm0, ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm6, xmm0, 0
lea r12, [rdx - 0x140]
xor eax, eax
mov qword [rsp + 0x78], rax
pcmpeqd xmm7, xmm7
mov r14, rdx
movdqu xmm8, xmmword [rdx + rdi]
movdqa xmm0, xmm8
pcmpeqb xmm0, xmm6
pmovmskb ecx, xmm0
test cx, cx
je 0x140074a5c
bsf eax, ecx
lea r15d, [rcx - 1]
and r15d, ecx
add rax, rdi
and rax, r13
neg rax
lea rbx, [rax + rax*4]
shl rbx, 6
lea rcx, [r12 + rbx]
mov rdx, rsi
call fcn.140046456
mov ecx, r15d
test al, al
jne 0x140074a27
jmp 0x140074a8b
pcmpeqb xmm8, xmm7
pmovmskb eax, xmm8
test eax, eax
jne 0x140075240
mov rax, qword [rsp + 0x78]
add rdi, rax
add rdi, 0x10
add rax, 0x10
mov qword [rsp + 0x78], rax
and rdi, r13
mov rdx, r14
jmp 0x140074a11
mov r13, r14
add r13, rbx
lea rax, [rsp + 0xa0]
lea rsi, [rsp + 0x120]
mov ecx, 0xa
mov rdi, rax
rep movsq qword [rdi], qword [rsi]
lea rdx, [rsp + 0x120]
mov ecx, 0xa
mov rdi, rdx
mov rsi, rax
rep movsq qword [rdi], qword [rsi]
mov qword [rdx + 0x50], r13
mov rax, qword [rsp + 0x50]
mov qword [rdx + 0x58], rax
cmp word [rdx], 2
je 0x140074ae2
lea rcx, [rsp + 0x120]
call fcn.14005e0f6
mov rbx, qword [rsp + 0x48]
lea r12, [r13 - 0xf0]
movzx eax, word [rsp + 0x22]
cmp ax, 1
je 0x140074b6e
test eax, eax
jne 0x140074be2
mov dword [rsp + 0x64], eax
cmp dword [r13 - 0x80], 0x3b9aca00
mov qword [rsp + 0x80], r12
jne 0x140074e49
cmp word [rsp + 0x24], 0
je 0x140074bef
mov r14, qword [rsp + 0x40]
mov rcx, r14
xor edx, edx
call fcn.140012d18
mov rsi, rax
mov rdi, rdx
mov rcx, rax
mov rdx, qword [rsp + 0x38]
mov r8, r14
call fcn.140085b90
mov qword [rsp + 0xa4], rsi
mov qword [rsp + 0xac], rdi
mov qword [rsp + 0xb4], r14
mov r12w, 1
jmp 0x140074c11
mov qword [rsp + 0x80], r12
lea r12, [r13 - 0x78]
cmp dword [r13 - 8], 0x3b9aca00
mov dword [rsp + 0x64], eax
jne 0x140074e49
mov r15, r13
cmp word [rsp + 0x24], 0
je 0x140074c47
mov rbx, qword [rsp + 0x40]
mov rcx, rbx
xor edx, edx
call fcn.140012d18
mov rsi, rax
mov rdi, rdx
mov rcx, rax
mov rdx, qword [rsp + 0x38]
mov r8, rbx
call fcn.140085b90
mov qword [rsp + 0xa4], rsi
mov qword [rsp + 0xac], rdi
mov qword [rsp + 0xb4], rbx
mov r13w, 1
jmp 0x140074c68
mov rcx, qword [rsp + 0x90]
jmp 0x140075209
movdqu xmm0, xmmword [rbx + 4]
movups xmm1, xmmword [rbx + 0x14]
movzx r15d, word [rbx + 2]
movaps xmmword [rsp + 0xb0], xmm1
movdqa xmmword [rsp + 0xa0], xmm0
xor r12d, r12d
cmp word [rsp + 0x20], 0
je 0x140074ca6
mov rsi, qword [rbx + 0x40]
mov rcx, rsi
xor edx, edx
call fcn.140012d18
mov rdi, rax
mov r14, rdx
mov rcx, rax
mov rdx, qword [rsp + 0x28]
mov r8, rsi
call fcn.140085b90
mov cx, 1
jmp 0x140074cbc
movdqu xmm0, xmmword [rbx + 4]
movups xmm1, xmmword [rbx + 0x14]
movzx ebx, word [rbx + 2]
movaps xmmword [rsp + 0xb0], xmm1
movdqa xmmword [rsp + 0xa0], xmm0
xor r13d, r13d
cmp word [rsp + 0x20], 0
je 0x140074d91
mov rax, qword [rsp + 0x48]
mov rsi, qword [rax + 0x40]
mov rcx, rsi
xor edx, edx
call fcn.140012d18
mov rdi, rax
mov r14, rdx
mov rcx, rax
mov rdx, qword [rsp + 0x28]
mov r8, rsi
call fcn.140085b90
mov dx, 1
jmp 0x140074dac
mov eax, dword [rbx + 0x2c]
mov r14, qword [rbx + 0x38]
mov esi, dword [rsp + 0x58]
movzx edx, word [rbx + 0x2a]
xor ecx, ecx
mov rdi, qword [rsp + 0x28]
movdqa xmm0, xmmword [rsp + 0xa0]
movaps xmm1, xmmword [rsp + 0xb0]
mov word [r13 - 0xe0], r12w
mov word [r13 - 0xde], r15w
movups xmmword [r13 - 0xcc], xmm1
movdqu xmmword [r13 - 0xdc], xmm0
mov word [r13 - 0xb8], cx
mov word [r13 - 0xb6], dx
mov dword [r13 - 0xb4], eax
mov qword [r13 - 0xb0], rdi
mov qword [r13 - 0xa8], r14
mov qword [r13 - 0xa0], rsi
call fcn.140074695
mov rsi, rax
call fcn.14003728a
add rax, 0x15180
mov r12, qword [rsp + 0x80]
jb 0x140075364
cmp edx, 0x3b9aca00
jb 0x140074d52
inc rax
je 0x140075364
add edx, 0xc4653600
mov qword [r13 - 0xf0], rsi
mov qword [r13 - 0xe8], 0
mov cl, byte [rsp + 0x70]
mov byte [r13 - 0x98], cl
xor ecx, ecx
mov word [r13 - 0x90], cx
mov word [r13 - 0x8c], cx
mov qword [r13 - 0x88], rax
mov dword [r13 - 0x80], edx
jmp 0x140074e49
mov rcx, qword [rsp + 0x48]
mov eax, dword [rcx + 0x2c]
mov r14, qword [rcx + 0x38]
mov esi, dword [rsp + 0x58]
movzx ecx, word [rcx + 0x2a]
xor edx, edx
mov rdi, qword [rsp + 0x28]
movdqa xmm0, xmmword [rsp + 0xa0]
movaps xmm1, xmmword [rsp + 0xb0]
mov word [r15 - 0x68], r13w
mov r13, r15
mov word [r15 - 0x66], bx
movups xmmword [r15 - 0x54], xmm1
movdqu xmmword [r15 - 0x64], xmm0
mov word [r15 - 0x40], dx
mov word [r15 - 0x3e], cx
mov dword [r15 - 0x3c], eax
mov qword [r15 - 0x38], rdi
mov qword [r15 - 0x30], r14
mov qword [r15 - 0x28], rsi
call fcn.140074695
mov rsi, rax
call fcn.14003728a
add rax, 0x15180
jb 0x140075364
cmp edx, 0x3b9aca00
jb 0x140074e1f
inc rax
je 0x140075364
add edx, 0xc4653600
mov qword [r13 - 0x78], rsi
mov qword [r13 - 0x70], 0
mov cl, byte [rsp + 0x70]
mov byte [r13 - 0x20], cl
mov word [r13 - 0x18], 0
mov word [r13 - 0x14], 1
mov qword [r13 - 0x10], rax
mov dword [r13 - 8], edx
mov rdi, qword [r12 + 8]
mov r14, qword [rsp + 0x90]
mov rbx, qword [r14 + 8]
lea rcx, [rbx + rdi]
call fcn.140049714
lea rsi, [rsp + 0x108]
and al, 8
add dword [rax], eax
add byte [rax - 0x77], cl
invalid
mov qword [rsi + 8], rdx
or byte [rax - 0x39], cl
adc byte [rax], r8b
add byte [rax], al
add byte [rcx - 0x75], cl
adc al, 0x24
mov r14, qword [rsp + 0x50]
cmp qword [r14 + 0x10], 0
je 0x14007534f
lea rax, [rsp + 0xa0]
lea rsi, [rsp + 0x120]
mov ecx, 0xa
mov rdi, rax
rep movsq qword [rdi], qword [rsi]
lea rdi, [rsp + 0x120]
mov ecx, 0xa
mov rsi, rax
rep movsq qword [rdi], qword [rsi]
mov rax, qword [r14]
mov rcx, qword [r14 + 8]
mov r9, qword [rsp + 0x88]
and r9, rcx
movdqu xmm0, xmmword [rax + r9]
pmovmskb edx, xmm0
test edx, edx
mov rbx, qword [rsp + 0x48]
jne 0x1400752c1
mov r8d, 0x10
add r9, r8
and r9, rcx
movdqu xmm0, xmmword [rax + r9]
pmovmskb edx, xmm0
add r8, 0x10
test edx, edx
je 0x1400752a9
bsf r8d, edx
add r8, r9
and r8, rcx
mov dl, byte [rax + r8]
test dl, dl
js 0x1400752e3
movdqa xmm0, xmmword [rax]
pmovmskb edx, xmm0
bsf r8d, edx
mov dl, byte [rax + r8]
lea r9, [r8 - 0x10]
and r9, rcx
mov rcx, qword [rsp + 0x68]
mov byte [rax + r8], cl
mov byte [r9 + rax + 0x10], cl
neg r8
lea rcx, [r8 + r8*4]
shl rcx, 6
lea r13, [rax + rcx]
and dl, 1
neg dl
movsx rdx, dl
add qword [r14 + 0x10], rdx
lea rsi, [rax + rcx]
add rsi, 0xfffffffffffffec0
lea rdx, [rsp + 0x120]
mov r8d, 0xc0
mov rcx, rsi
call fcn.140085b90
mov eax, 0x3b9aca00
mov dword [rsi + 0xc0], eax
mov dword [rsi + 0x138], eax
inc qword [r14 + 0x18]
jmp 0x140074ae7
mov rdx, qword [r14 + 0x20]
mov r8, qword [r14 + 0x28]
mov rcx, r14
call fcn.140089ee7
jmp 0x140075250