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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1a8
mov rdi, rdx
mov qword [rsp + 0x40], rcx
mov rbx, qword [rdx]
lea rax, [rbx + 0xa0]
mov qword [rsp + 0x38], rax
mov rax, qword [rbx + 0xb0]
mov qword [rsp + 0xe8], rax
movups xmm0, xmmword [rbx + 0xa0]
movups xmmword [rsp + 0xd8], xmm0
mov rax, qword [rbx + 0xb0]
mov qword [rsp + 0xd0], rax
movups xmm0, xmmword [rbx + 0xa0]
movups xmmword [rsp + 0x90], xmm0
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x78], 0
mov qword [rsp + 0x80], 8
mov qword [rsp + 0x88], 0
mov esi, 8
xor r15d, r15d
xor eax, eax
mov qword [rsp + 0x30], rax
xor r12d, r12d
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x68], rbx
mov rcx, rdi
call fcn.14013d9e0
cmp eax, 0x3a
je 0x140147113
mov rcx, rdi
call fcn.14013d9e0
cmp eax, 0x29
je 0x140147113
mov rcx, rdi
call fcn.14013d9e0
cmp eax, 0x2d
jne 0x140146ce0
mov r12, qword [rsp + 0x38]
mov r14, qword [r12]
mov rcx, rdi
call fcn.14013d9e0
mov ecx, 1
cmp eax, 0x80
jb 0x140146b4d
mov ecx, 2
cmp eax, 0x800
jb 0x140146b4d
cmp eax, 0x10000
mov ecx, 4
sbb rcx, 0
add r14, rcx
jb 0x140147421
mov rbp, qword [rbx + 0xb0]
inc rbp
je 0x140147415
mov rax, qword [rbx + 0xa8]
mov qword [rsp + 0x48], rax
mov rcx, rdi
call fcn.14013d9e0
cmp eax, 0xa
sete byte [rsp + 0x2f]
mov esi, 1
cmove rbp, rsi
movups xmm0, xmmword [r12]
movaps xmmword [rsp + 0x150], xmm0
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x160], rax
mov r13, qword [rbx + 0xa0]
mov rcx, rdi
call fcn.14013d9e0
cmp eax, 0x80
jb 0x140146bd5
mov esi, 2
cmp eax, 0x800
jb 0x140146bd5
cmp eax, 0x10000
mov esi, 4
sbb rsi, 0
mov qword [rsp + 0x148], r14
add r13, rsi
jb 0x140147421
mov r14, qword [rbx + 0xb0]
inc r14
je 0x140147415
mov rbx, qword [rbx + 0xa8]
mov rcx, rdi
call fcn.14013d9e0
xor edi, edi
cmp eax, 0xa
sete r9b
mov eax, 1
cmove r14, rax
movups xmm0, xmmword [r12]
movaps xmmword [rsp + 0x170], xmm0
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x180], rax
mov rsi, qword [rsp + 0x80]
mov r8, qword [rsp + 0x30]
test r8, r8
mov rcx, qword [rsp + 0x48]
je 0x140146c67
xor eax, eax
xor r12d, r12d
nop dword [rax]
cmp byte [rsi + rax + 0x30], 7
je 0x140146ede
inc r12
add rax, 0x38
cmp r15, rax
jne 0x140146c50
cmp r8, qword [rsp + 0x78]
jne 0x140146c90
lea rcx, [rsp + 0x78]
mov esi, r9d
call fcn.14012a2f0
mov r9d, esi
mov rcx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x80]
xor eax, eax
movzx edx, byte [rsp + 0x2f]
mov al, dl
add rcx, rax
mov qword [rsp + 0x48], rcx
mov dil, r9b
add rbx, rdi
imul rcx, r8, 0x38
lea rax, [rsi + rcx]
mov rdx, qword [rsp + 0x180]
mov qword [rsi + rcx + 0x10], rdx
movaps xmm0, xmmword [rsp + 0x170]
movups xmmword [rsi + rcx], xmm0
mov r12d, 1
mov dil, 7
jmp 0x140146e31
mov r12, qword [rsp + 0x38]
mov r13, qword [r12]
mov rcx, rdi
call fcn.14013d9e0
mov ecx, 1
cmp eax, 0x80
jb 0x140146d17
mov ecx, 2
cmp eax, 0x800
jb 0x140146d17
cmp eax, 0x10000
mov ecx, 4
sbb rcx, 0
add r13, rcx
jb 0x140147421
mov r14, qword [rbx + 0xb0]
inc r14
je 0x140147415
mov rbx, qword [rbx + 0xa8]
mov rcx, rdi
call fcn.14013d9e0
mov ebp, eax
movups xmm0, xmmword [r12]
movaps xmmword [rsp + 0x50], xmm0
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0xc0]
mov rdx, rdi
call fcn.140147e50
mov rax, qword [rsp + 0xc0]
movabs rcx, 0x8000000000000000
cmp rax, rcx
jne 0x1401472dc
xor ecx, ecx
cmp ebp, 0xa
sete bpl
mov eax, 1
cmove r14, rax
movzx edi, byte [rsp + 0xc8]
movaps xmm0, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x190], xmm0
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x1a0], rax
mov r8, qword [rsp + 0x30]
test r8, r8
je 0x140146de7
xor eax, eax
xor r12d, r12d
nop word cs:[rax + rax]
cmp byte [rsi + rax + 0x30], dil
je 0x140146fee
inc r12
add rax, 0x38
cmp r15, rax
jne 0x140146dd0
cmp r8, qword [rsp + 0x78]
jne 0x140146e07
lea rcx, [rsp + 0x78]
call fcn.14012a2f0
xor ecx, ecx
mov r8, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x80]
mov cl, bpl
add rbx, rcx
imul rcx, r8, 0x38
lea rax, [rsi + rcx]
mov rdx, qword [rsp + 0x1a0]
mov qword [rsi + rcx + 0x10], rdx
movaps xmm0, xmmword [rsp + 0x190]
movups xmmword [rsi + rcx], xmm0
xor r12d, r12d
mov qword [rax + 0x18], r13
mov qword [rax + 0x20], rbx
mov qword [rax + 0x28], r14
mov byte [rax + 0x30], dil
inc r8
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x88], r8
mov rdi, qword [rsp + 0x70]
mov rcx, rdi
call fcn.14013e1e0
add r15, 0x38
test al, al
mov rbx, qword [rsp + 0x68]
jne 0x140146ae3
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0xe8], rax
movups xmm0, xmmword [rcx]
movups xmmword [rsp + 0xd8], xmm0
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0xd0], rax
movups xmm0, xmmword [rcx]
movaps xmmword [rsp + 0xc0], xmm0
mov rbx, qword [rdi + 8]
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x1401473bf
js 0x14014742d
movzx eax, byte [0x1404a3130]
xor ecx, ecx
mov rdx, rdi
call fcn.140201a50
mov r14, rax
mov rsi, rdi
test rax, rax
jne 0x1401473c7
jmp 0x140147106
mov rax, qword [rsp + 0x38]
mov rbx, qword [rax]
mov rdi, qword [rsp + 0x70]
mov rcx, rdi
call fcn.14013d9e0
mov ecx, 1
cmp eax, 0x80
jb 0x140146f19
mov ecx, 2
cmp eax, 0x800
jb 0x140146f19
cmp eax, 0x10000
mov ecx, 4
sbb rcx, 0
add rbx, rcx
mov rax, qword [rsp + 0x68]
jb 0x140147421
mov r13, qword [rax + 0xb0]
inc r13
je 0x140147415
mov qword [rsp + 0x48], rbx
mov rbp, qword [rax + 0xa8]
mov rcx, rdi
call fcn.14013d9e0
xor r15d, r15d
cmp eax, 0xa
sete cl
mov r14d, 1
cmove r13, r14
mov rax, qword [rsp + 0x38]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x60], rax
mov rdx, qword [rsp + 0x30]
cmp r12, rdx
jae 0x140147437
imul rax, r12, 0x38
movups xmm0, xmmword [rsi + rax]
movups xmm1, xmmword [rsi + rax + 0x10]
movups xmm2, xmmword [rsi + rax + 0x20]
movups xmmword [rsp + 0xe4], xmm2
movups xmmword [rsp + 0xd4], xmm1
movups xmmword [rsp + 0xc4], xmm0
mov rbx, qword [rdi + 8]
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x140147156
js 0x14014742d
mov r12d, ecx
movzx eax, byte [0x1404a3130]
xor ecx, ecx
mov rdx, rdi
call fcn.140201a50
mov r14, rax
mov rsi, rdi
test rax, rax
mov ecx, r12d
jne 0x140147158
jmp 0x140147106
mov rax, qword [rsp + 0x38]
mov rsi, qword [rax]
mov rdi, qword [rsp + 0x70]
mov rcx, rdi
call fcn.14013d9e0
mov ecx, 1
cmp eax, 0x80
jb 0x140147029
mov ecx, 2
cmp eax, 0x800
jb 0x140147029
cmp eax, 0x10000
mov ecx, 4
sbb rcx, 0
add rsi, rcx
mov rax, qword [rsp + 0x68]
jb 0x140147421
mov r15, qword [rax + 0xb0]
inc r15
je 0x140147415
mov r13, qword [rax + 0xa8]
mov rcx, rdi
call fcn.14013d9e0
xor ebp, ebp
cmp eax, 0xa
sete r8b
mov r14d, 1
cmove r15, r14
mov rax, qword [rsp + 0x38]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x60], rax
mov rdx, qword [rsp + 0x30]
cmp r12, rdx
jae 0x140147446
mov rax, qword [rsp + 0x80]
imul rcx, r12, 0x38
movups xmm0, xmmword [rax + rcx]
movups xmm1, xmmword [rax + rcx + 0x10]
movups xmm2, xmmword [rax + rcx + 0x20]
movups xmmword [rsp + 0xe4], xmm2
movups xmmword [rsp + 0xd4], xmm1
movups xmmword [rsp + 0xc4], xmm0
mov rbx, qword [rdi + 8]
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x1401471d6
mov qword [rsp + 0x30], rsi
js 0x14014742d
mov esi, r8d
movzx eax, byte [0x1404a3130]
xor ecx, ecx
mov rdx, rdi
call fcn.140201a50
mov r14, rax
mov r12, rdi
test rax, rax
mov r8d, esi
mov rsi, qword [rsp + 0x30]
jne 0x1401471d9
mov ecx, 1
mov rdx, rdi
call fcn.140043d40
cmp r12, 1
jne 0x140147283
mov rbx, qword [rdi + 8]
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x14014735c
js 0x14014742d
movzx eax, byte [0x1404a3130]
xor ecx, ecx
mov rdx, rdi
call fcn.140201a50
mov r14, rax
mov rsi, rdi
test rax, rax
jne 0x140147364
jmp 0x140147106
xor esi, esi
mov r15b, cl
add rbp, r15
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
movups xmm0, xmmword [rsp + 0xc0]
movups xmm1, xmmword [rsp + 0xd0]
movups xmm2, xmmword [rsp + 0xe0]
mov rcx, qword [rsp + 0x40]
movups xmmword [rcx + 0x1c], xmm0
movups xmmword [rcx + 0x2c], xmm1
movups xmmword [rcx + 0x3c], xmm2
mov eax, dword [rsp + 0xf0]
mov dword [rcx + 0x4c], eax
mov rax, qword [rsp + 0x60]
mov qword [rcx + 0x60], rax
movaps xmm0, xmmword [rsp + 0x50]
movups xmmword [rcx + 0x50], xmm0
mov qword [rcx], rsi
mov qword [rcx + 8], r14
mov qword [rcx + 0x10], rdi
mov dword [rcx + 0x18], 0xe
mov rax, qword [rsp + 0x48]
mov qword [rcx + 0x68], rax
mov qword [rcx + 0x70], rbp
mov qword [rcx + 0x78], r13
jmp 0x140147250
xor r12d, r12d
mov bpl, r8b
add r13, rbp
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
movups xmm0, xmmword [rsp + 0xc0]
movups xmm1, xmmword [rsp + 0xd0]
movups xmm2, xmmword [rsp + 0xe0]
mov rcx, qword [rsp + 0x40]
movups xmmword [rcx + 0x1c], xmm0
movups xmmword [rcx + 0x2c], xmm1
movups xmmword [rcx + 0x3c], xmm2
mov eax, dword [rsp + 0xf0]
mov dword [rcx + 0x4c], eax
mov rax, qword [rsp + 0x60]
mov qword [rcx + 0x60], rax
movaps xmm0, xmmword [rsp + 0x50]
movups xmmword [rcx + 0x50], xmm0
mov qword [rcx], r12
mov qword [rcx + 8], r14
mov qword [rcx + 0x10], rdi
mov dword [rcx + 0x18], 0xd
mov qword [rcx + 0x68], rsi
mov qword [rcx + 0x70], r13
mov qword [rcx + 0x78], r15
cmp qword [rsp + 0x78], 0
je 0x14014726e
mov r8, qword [rsp + 0x80]
mov rcx, qword [0x1404a30d0]
xor edx, edx
call fcn.14021d5e4
nop
add rsp, 0x1a8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0xb8], rax
movups xmm0, xmmword [rcx]
movups xmmword [rsp + 0xa8], xmm0
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 0x48], rax
movups xmmword [rcx + 0x38], xmm0
movups xmm0, xmmword [rsp + 0x78]
movups xmm1, xmmword [rsp + 0x88]
movups xmm2, xmmword [rsp + 0x98]
movups xmmword [rcx + 0x28], xmm2
movups xmmword [rcx + 0x18], xmm1
movups xmmword [rcx + 8], xmm0
movabs rax, 0x8000000000000000
mov qword [rcx], rax
jmp 0x14014726e
movzx ecx, byte [rsp + 0xc8]
mov rdx, qword [rsp + 0x138]
mov r8, qword [rsp + 0x40]
mov qword [r8 + 0x78], rdx
movups xmm0, xmmword [rsp + 0x129]
movups xmmword [r8 + 0x69], xmm0
movups xmm0, xmmword [rsp + 0x119]
movups xmmword [r8 + 0x59], xmm0
movups xmm0, xmmword [rsp + 0x109]
movups xmmword [r8 + 0x49], xmm0
movups xmm0, xmmword [rsp + 0xf9]
movups xmmword [r8 + 0x39], xmm0
movups xmm0, xmmword [rsp + 0xe9]
movups xmmword [r8 + 0x29], xmm0
movups xmm0, xmmword [rsp + 0xd9]
movups xmmword [r8 + 0x19], xmm0
movups xmm0, xmmword [rsp + 0xc9]
movups xmmword [r8 + 9], xmm0
mov qword [r8], rax
mov byte [r8 + 8], cl
jmp 0x140147250
mov r14d, 1
xor esi, esi
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
movaps xmm0, xmmword [rsp + 0x150]
mov rcx, qword [rsp + 0x40]
movups xmmword [rcx + 0x50], xmm0
mov rax, qword [rsp + 0x160]
mov qword [rcx + 0x60], rax
mov qword [rcx], rsi
mov qword [rcx + 8], r14
mov qword [rcx + 0x10], rdi
mov dword [rcx + 0x18], 0xc
mov rax, qword [rsp + 0x148]
mov qword [rcx + 0x68], rax
mov rax, qword [rsp + 0x48]
mov qword [rcx + 0x70], rax
mov qword [rcx + 0x78], rbp
jmp 0x140147250
mov r14d, 1
xor esi, esi
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
movaps xmm0, xmmword [rsp + 0xc0]
movaps xmm1, xmmword [rsp + 0xd0]
movaps xmm2, xmmword [rsp + 0xe0]
mov rax, qword [rsp + 0x40]
movups xmmword [rax + 0x50], xmm0
movups xmmword [rax + 0x60], xmm1
movups xmmword [rax + 0x70], xmm2
mov qword [rax], rsi
mov qword [rax + 8], r14
mov qword [rax + 0x10], rdi
mov dword [rax + 0x18], 0xf
jmp 0x140147250
lea rcx, [0x140431ef0]
call fcn.140049ef0
lea rcx, [0x140431f08]
call fcn.140049ef0
xor ecx, ecx
mov rdx, rdi
call fcn.140043d40
lea r8, [0x1404322e0]
mov rcx, r12
call fcn.140046850
lea r8, [0x1404322f8]
mov rcx, r12
call fcn.140046850
int3