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

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x190
mov rax, qword [0x140104508]
xor rax, rsp
mov qword [rsp + 0x180], rax
xor eax, eax
mov qword [rsp + 0xc8], rdx
mov rdx, rcx
mov qword [rsp + 0x50], rcx
xor ecx, ecx
mov qword [rsp + 0xb8], r8
mov r14, r8
mov dword [rsp + 0x24], 0
add r8, 0x140
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0xc0], r8
lea rsi, [0x140000000]
mov qword [rsp + 0x40], rax
xor r12d, r12d
mov qword [rsp + 0xb0], r8
xor r11d, r11d
mov dword [rsp + 0x20], r12d
xor edi, edi
mov qword [rsp + 0xa0], r11
mov qword [rsp + 0xa8], rdi
mov r10, r8
nop dword [rax + rax]
mov r9d, dword [r10]
xor ebx, ebx
xor r8d, r8d
mov dword [rsp + 0x2c], ebx
xor ebp, ebp
mov qword [rsp + 0x78], r8
mov dword [rsp + 0x30], ebp
test r9d, r9d
js 0x1400ac09e
mov edi, dword [rsi + rcx*4 + 0xdc9c0]
lea r15, [rsp + 0x141]
mov r13d, dword [rsi + rcx*4 + 0xdc9c8]
xor esi, esi
xor r11d, r11d
mov dword [rsp + 0x34], edi
mov qword [rsp + 0x88], r11
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x98], r15
nop dword [rax]
mov rax, qword [r10 + 0x10]
movups xmm0, xmmword [rax + rsi]
movups xmm1, xmmword [rax + rsi + 0x10]
movaps xmmword [rsp + 0x140], xmm0
movaps xmmword [rsp + 0x150], xmm1
movups xmm0, xmmword [rax + rsi + 0x20]
movups xmm1, xmmword [rax + rsi + 0x30]
movaps xmmword [rsp + 0x160], xmm0
movaps xmmword [rsp + 0x170], xmm1
cmp ebp, r9d
jne 0x1400ab683
mov eax, 1
jmp 0x1400ab68b
mov rax, qword [r10 + 8]
mov eax, dword [r11 + rax]
add eax, ebx
lea r11, [r8 + r8*2]
shl r11, 4
lea rsi, [r8 + r8*2]
add r11, qword [rsp + 0x40]
lea r14, [r14 + r8*2]
mov dword [rsp + 0x68], eax
add r11, rdx
add r11, qword [rsp + 0xa8]
add rsi, rsi
cdqe
sub r14, 0xffffffffffffff80
mov qword [rsp + 0xd0], rax
xor ebp, ebp
lea rax, [r8 + r8*2]
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x70], rax
add rax, qword [rsp + 0xa0]
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x58], r11
lea rcx, [rcx + rax*2]
lea r10, [rdx + rcx*8]
mov qword [rsp + 0x48], r10
nop dword [rax]
nop dword [rax + rax]
movzx ecx, word [r14 - 0x80]
movzx eax, byte [rsp + 0x140]
mov r9, qword [rsp + 0xc8]
imul ecx, eax
test r9, r9
je 0x1400ab72b
mov eax, 0xcccccccd
mul ecx
shr edx, 7
mov dword [r9 + r8*4], edx
mov r15d, 0x1000
lea r12, [0x140000000]
mov eax, 0x51eb851f
mul ecx
mov eax, r15d
shr edx, 5
lea r9d, [rdx*4]
movzx edx, di
cmp r9d, r15d
mov r8d, r9d
cmova r8d, r15d
sub ax, r9w
xor ecx, ecx
cmp r9d, r15d
cmova cx, ax
xor eax, eax
sub dx, cx
movzx ecx, di
sub dx, r9w
cmp r8d, edi
mov edi, 1
cmova ax, dx
sub cx, ax
mov rax, qword [r10]
lea ebx, [rdi + 7]
mov word [rax], cx
nop dword [rax + rax]
movzx eax, byte [rdi + r12 + 0xdc9f0]
movzx ecx, byte [rsp + rax + 0x140]
movzx eax, word [r14]
imul ecx, eax
mov eax, 0x51eb851f
mul ecx
mov eax, r15d
mov r9d, edx
movzx edx, r13w
shr r9d, 5
shl r9d, 2
cmp r9d, r15d
mov r8d, r9d
cmova r8d, r15d
sub ax, r9w
xor ecx, ecx
cmp r9d, r15d
cmova cx, ax
xor eax, eax
sub dx, cx
movzx ecx, r13w
sub dx, r9w
cmp r8d, r13d
cmova ax, dx
sub cx, ax
mov rax, qword [r10]
mov word [rbx + rax - 6], cx
movzx eax, byte [rdi + r12 + 0xdc9f1]
movzx ecx, byte [rsp + rax + 0x140]
movzx eax, word [r14]
imul ecx, eax
mov eax, 0x51eb851f
mul ecx
mov eax, r15d
mov r9d, edx
movzx edx, r13w
shr r9d, 5
shl r9d, 2
cmp r9d, r15d
mov r8d, r9d
cmova r8d, r15d
sub ax, r9w
xor ecx, ecx
cmp r9d, r15d
cmova cx, ax
xor eax, eax
sub dx, cx
movzx ecx, r13w
sub dx, r9w
cmp r8d, r13d
cmova ax, dx
sub cx, ax
mov rax, qword [r10]
mov word [rbx + rax - 4], cx
movzx eax, byte [rdi + r12 + 0xdc9f2]
movzx ecx, byte [rsp + rax + 0x140]
movzx eax, word [r14]
imul ecx, eax
mov eax, 0x51eb851f
mul ecx
mov eax, r15d
mov r9d, edx
movzx edx, r13w
shr r9d, 5
shl r9d, 2
cmp r9d, r15d
mov r8d, r9d
cmova r8d, r15d
sub ax, r9w
xor ecx, ecx
cmp r9d, r15d
cmova cx, ax
xor eax, eax
sub dx, cx
movzx ecx, r13w
sub dx, r9w
cmp r8d, r13d
cmova ax, dx
sub cx, ax
mov rax, qword [r10]
mov word [rbx + rax - 2], cx
movzx eax, byte [rdi + r12 + 0xdc9f3]
movzx ecx, byte [rsp + rax + 0x140]
movzx eax, word [r14]
imul ecx, eax
mov eax, 0x51eb851f
mul ecx
mov eax, r15d
mov r9d, edx
movzx edx, r13w
shr r9d, 5
shl r9d, 2
cmp r9d, r15d
mov r8d, r9d
cmova r8d, r15d
sub ax, r9w
xor ecx, ecx
cmp r9d, r15d
cmova cx, ax
xor eax, eax
sub dx, cx
movzx ecx, r13w
sub dx, r9w
cmp r8d, r13d
cmova ax, dx
sub cx, ax
mov rax, qword [r10]
mov word [rbx + rax], cx
movzx eax, byte [rdi + r12 + 0xdc9f4]
movzx ecx, byte [rsp + rax + 0x140]
movzx eax, word [r14]
imul ecx, eax
mov eax, 0x51eb851f
mul ecx
mov eax, r15d
mov r9d, edx
movzx edx, r13w
shr r9d, 5
shl r9d, 2
cmp r9d, r15d
mov r8d, r9d
cmova r8d, r15d
sub ax, r9w
xor ecx, ecx
cmp r9d, r15d
cmova cx, ax
xor eax, eax
sub dx, cx
movzx ecx, r13w
sub dx, r9w
cmp r8d, r13d
cmova ax, dx
sub cx, ax
mov rax, qword [r10]
mov word [rbx + rax + 2], cx
movzx eax, byte [rdi + r12 + 0xdc9f5]
movzx ecx, byte [rsp + rax + 0x140]
movzx eax, word [r14]
imul ecx, eax
mov eax, 0x51eb851f
mul ecx
mov eax, r15d
mov r9d, edx
movzx edx, r13w
shr r9d, 5
shl r9d, 2
cmp r9d, r15d
mov r8d, r9d
cmova r8d, r15d
sub ax, r9w
xor ecx, ecx
cmp r9d, r15d
cmova cx, ax
xor eax, eax
sub dx, cx
movzx ecx, r13w
sub dx, r9w
cmp r8d, r13d
cmova ax, dx
sub cx, ax
mov rax, qword [r10]
mov word [rbx + rax + 4], cx
movzx eax, byte [rdi + r12 + 0xdc9f6]
movzx ecx, byte [rsp + rax + 0x140]
movzx eax, word [r14]
imul ecx, eax
mov eax, 0x51eb851f
mul ecx
mov eax, r15d
mov r9d, edx
movzx edx, r13w
shr r9d, 5
shl r9d, 2
cmp r9d, r15d
mov r8d, r9d
cmova r8d, r15d
sub ax, r9w
xor ecx, ecx
cmp r9d, r15d
cmova cx, ax
xor eax, eax
sub dx, cx
movzx ecx, r13w
sub dx, r9w
cmp r8d, r13d
cmova ax, dx
sub cx, ax
mov rax, qword [r10]
mov word [rbx + rax + 6], cx
movzx eax, byte [rdi + r12 + 0xdc9f7]
movzx ecx, byte [rsp + rax + 0x140]
movzx eax, word [r14]
imul ecx, eax
mov eax, 0x51eb851f
mul ecx
mov eax, r15d
mov r9d, edx
movzx edx, r13w
shr r9d, 5
shl r9d, 2
cmp r9d, r15d
mov r8d, r9d
cmova r8d, r15d
sub ax, r9w
xor ecx, ecx
cmp r9d, r15d
cmova cx, ax
xor eax, eax
sub dx, cx
movzx ecx, r13w
sub dx, r9w
cmp r8d, r13d
cmova ax, dx
sub cx, ax
mov rax, qword [r10]
mov word [rbx + rax + 8], cx
movzx eax, byte [rdi + r12 + 0xdc9f8]
movzx ecx, byte [rsp + rax + 0x140]
movzx eax, word [r14]
imul ecx, eax
mov eax, 0x51eb851f
mul ecx
mov eax, r15d
mov r9d, edx
movzx edx, r13w
shr r9d, 5
shl r9d, 2
cmp r9d, r15d
mov r8d, r9d
cmova r8d, r15d
sub ax, r9w
xor ecx, ecx
cmp r9d, r15d
cmova cx, ax
xor eax, eax
sub dx, cx
movzx ecx, r13w
sub dx, r9w
cmp r8d, r13d
cmova ax, dx
sub cx, ax
mov rax, qword [r10]
mov word [rbx + rax + 0xa], cx
add rbx, 0x12
lea rdi, [rdi + 9]
cmp rbx, 0x86
jl 0x1400ab790
mov rax, qword [rsp + 0x40]
xor r14d, r14d
mov r15, qword [rsp + 0x98]
xor ebx, ebx
mov r12d, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x38]
test rax, rax
js 0x1400abbf0
mov edx, dword [rsp + 0x24]
lea r8d, [r14 + 3]
xor edi, edi
mov eax, r12d
cmp r14d, edx
mov r13, rbx
cmovl eax, r8d
test eax, eax
jle 0x1400abbd6
mov rcx, qword [rsp + 0x50]
movsxd r12, eax
lea rax, [rbx + rsi]
lea rsi, [rcx + rax*8]
mov rdx, qword [rsi]
mov r8d, 0x80
mov rcx, qword [r11]
call sub.VCRUNTIME140.dll_memcmp
mov r11, qword [rsp + 0x58]
test eax, eax
je 0x1400abfee
inc rdi
add rsi, 0x10
cmp rdi, r12
jl 0x1400abb93
mov rsi, qword [rsp + 0x60]
mov r8d, 3
mov rcx, qword [rsp + 0x38]
mov r12d, dword [rsp + 0x20]
mov edx, dword [rsp + 0x24]
inc r14d
inc rbx
cmp r13, rcx
jl 0x1400abb70
mov r10, qword [rsp + 0x48]
mov r13d, dword [rsp + 0x28]
mov rax, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x50]
mov ebx, dword [rsp + 0x2c]
add r11, 0x30
mov r8, qword [rsp + 0x78]
inc ebx
add qword [rsp + 0x80], 2
inc r8
add qword [rsp + 0x70], 3
add rsi, 6
add r10, 0x30
mov dword [rsp + 0x2c], ebx
inc ebp
mov qword [rsp + 0x78], r8
mov qword [rsp + 0x58], r11
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x48], r10
cmp r8, qword [rsp + 0xd0]
jge 0x1400ac024
mov rax, qword [rsp + 0xb0]
mov r12, r15
mov rcx, qword [rsp + 0x88]
mov r13, r15
mov r8d, dword [rsp + 0x68]
mov edi, 4
sub r8d, ebx
mov rbx, r15
mov rdx, qword [rax + 0x10]
mov rax, qword [rax + 8]
sub r12, rdx
sub rbx, rdx
sub r13, rdx
mov r9d, dword [rcx + rax]
mov rax, r15
sub rax, rdx
mov rcx, qword [rsp + 0x90]
add rax, 2
add rcx, rdx
mov qword [rsp + 0xd8], rax
mov rax, r15
sub rax, rdx
mov r14, qword [rsp + 0xd8]
add rax, 3
lea r10d, [r9 + r9]
mov qword [rsp + 0xe0], rax
mov rax, r15
sub rax, rdx
mov r11, qword [rsp + 0xe0]
add rax, 4
mov qword [rsp + 0xe8], rax
mov rax, r15
mov rsi, qword [rsp + 0xe8]
sub rax, rdx
add rax, 5
mov qword [rsp + 0xf0], rax
mov rax, r15
sub rax, rdx
add rax, 6
mov qword [rsp + 0xf8], rax
mov rax, r15
sub rax, rdx
add rax, 7
mov qword [rsp + 0x100], rax
mov rax, r15
sub rax, rdx
add rax, 8
mov qword [rsp + 0x108], rax
mov rax, r15
sub rax, rdx
add rax, 9
mov qword [rsp + 0x110], rax
mov rax, r15
sub rax, rdx
add rax, 0xa
mov qword [rsp + 0x118], rax
mov rax, r15
sub rax, rdx
add rax, 0xb
mov qword [rsp + 0x120], rax
mov rax, r15
sub rax, rdx
add rax, 0xc
mov qword [rsp + 0x128], rax
mov rax, r15
sub rax, rdx
add rax, 0xd
mov qword [rsp + 0x130], rax
mov rax, r15
mov r15, qword [rsp + 0xf0]
sub rax, rdx
add rax, 0xe
mov qword [rsp + 0x138], rax
nop word [rax + rax]
movzx edx, byte [rcx + 0x40]
imul edx, ebp
movzx eax, byte [rcx]
imul eax, r8d
add edx, eax
lea eax, [r9 + rdx*2]
cdq
idiv r10d
movzx edx, byte [rcx + 0x41]
mov byte [r12 + rcx - 1], al
imul edx, ebp
movzx eax, byte [rcx + 1]
imul eax, r8d
add edx, eax
lea eax, [r9 + rdx*2]
cdq
idiv r10d
movzx edx, byte [rcx + 0x42]
mov byte [rbx + rcx], al
imul edx, ebp
movzx eax, byte [rcx + 2]
imul eax, r8d
add edx, eax
lea eax, [r9 + rdx*2]
cdq
idiv r10d
movzx edx, byte [rcx + 0x43]
mov byte [rcx + r13 + 1], al
movzx eax, byte [rcx + 3]
imul eax, r8d
imul edx, ebp
add edx, eax
lea eax, [r9 + rdx*2]
cdq
idiv r10d
movzx edx, byte [rcx + 0x44]
mov byte [r14 + rcx], al
movzx eax, byte [rcx + 4]
imul eax, r8d
imul edx, ebp
add edx, eax
lea eax, [r9 + rdx*2]
cdq
idiv r10d
movzx edx, byte [rcx + 0x45]
mov byte [r11 + rcx], al
movzx eax, byte [rcx + 5]
imul eax, r8d
imul edx, ebp
add edx, eax
lea eax, [r9 + rdx*2]
cdq
idiv r10d
movzx edx, byte [rcx + 0x46]
mov byte [rsi + rcx], al
movzx eax, byte [rcx + 6]
imul eax, r8d
imul edx, ebp
add edx, eax
lea eax, [r9 + rdx*2]
cdq
idiv r10d
movzx edx, byte [rcx + 0x47]
mov byte [r15 + rcx], al
movzx eax, byte [rcx + 7]
imul eax, r8d
imul edx, ebp
add edx, eax
lea eax, [r9 + rdx*2]
cdq
idiv r10d
mov rdx, qword [rsp + 0xf8]
mov byte [rdx + rcx], al
movzx edx, byte [rcx + 0x48]
movzx eax, byte [rcx + 8]
imul eax, r8d
imul edx, ebp
add edx, eax
lea eax, [r9 + rdx*2]
cdq
idiv r10d
mov rdx, qword [rsp + 0x100]
lea rcx, [rcx + 0x10]
mov byte [rdx + rcx - 0x10], al
movzx edx, byte [rcx + 0x39]
imul edx, ebp
movzx eax, byte [rcx - 7]
imul eax, r8d
add edx, eax
lea eax, [r9 + rdx*2]
cdq
idiv r10d
mov rdx, qword [rsp + 0x108]
mov byte [rdx + rcx - 0x10], al
movzx edx, byte [rcx + 0x3a]
imul edx, ebp
movzx eax, byte [rcx - 6]
imul eax, r8d
add edx, eax
lea eax, [r9 + rdx*2]
cdq
idiv r10d
mov rdx, qword [rsp + 0x110]
mov byte [rdx + rcx - 0x10], al
movzx edx, byte [rcx + 0x3b]
movzx eax, byte [rcx - 5]
imul edx, ebp
imul eax, r8d
add edx, eax
lea eax, [r9 + rdx*2]
cdq
idiv r10d
mov rdx, qword [rsp + 0x118]
mov byte [rdx + rcx - 0x10], al
movzx edx, byte [rcx + 0x3c]
movzx eax, byte [rcx - 4]
imul edx, ebp
imul eax, r8d
add edx, eax
lea eax, [r9 + rdx*2]
cdq
idiv r10d
mov rdx, qword [rsp + 0x120]
mov byte [rdx + rcx - 0x10], al
movzx edx, byte [rcx + 0x3d]
movzx eax, byte [rcx - 3]
imul edx, ebp
imul eax, r8d
add edx, eax
lea eax, [r9 + rdx*2]
cdq
idiv r10d
mov rdx, qword [rsp + 0x128]
mov byte [rdx + rcx - 0x10], al
movzx edx, byte [rcx + 0x3e]
movzx eax, byte [rcx - 2]
imul edx, ebp
imul eax, r8d
add edx, eax
lea eax, [r9 + rdx*2]
cdq
idiv r10d
mov rdx, qword [rsp + 0x130]
mov byte [rdx + rcx - 0x10], al
movzx edx, byte [rcx + 0x3f]
movzx eax, byte [rcx - 1]
imul edx, ebp
imul eax, r8d
add edx, eax
lea eax, [r9 + rdx*2]
cdq
idiv r10d
mov rdx, qword [rsp + 0x138]
mov byte [rdx + rcx - 0x10], al
sub rdi, 1
jne 0x1400abda0
mov r11, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov r8, qword [rsp + 0x78]
mov r10, qword [rsp + 0x48]
mov r14, qword [rsp + 0x80]
mov r13d, dword [rsp + 0x28]
mov edi, dword [rsp + 0x34]
jmp 0x1400ab700
mov rax, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x50]
add rax, rdi
mov r10, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x60]
mov r13d, dword [rsp + 0x28]
lea rcx, [rbx + rax*2]
mov rax, qword [rdx + rcx*8]
mov rcx, qword [rsp + 0x38]
mov qword [r10], rax
mov rax, qword [rsp + 0x40]
jmp 0x1400abbf5
mov ebp, dword [rsp + 0x30]
sub r15, 0x40
mov r11, qword [rsp + 0x88]
inc ebp
mov rsi, qword [rsp + 0x90]
add r11, 4
mov r10, qword [rsp + 0xb0]
add rsi, 0x40
mov edi, dword [rsp + 0x34]
mov r14, qword [rsp + 0xb8]
mov dword [rsp + 0x30], ebp
mov r9d, dword [r10]
mov qword [rsp + 0x88], r11
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x98], r15
cmp ebp, r9d
jle 0x1400ab640
mov r12d, dword [rsp + 0x20]
lea rsi, [0x140000000]
mov r11, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xa8]
inc r12d
inc r11
add rdi, 0x10
mov dword [rsp + 0x20], r12d
add r10, 0x18
mov qword [rsp + 0xa0], r11
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xb0], r10
cmp r12d, 3
jl 0x1400ab5e0
mov r8, qword [rsp + 0xc0]
inc rcx
inc dword [rsp + 0x24]
add r8, 0x48
add rax, 8
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0xc0], r8
cmp rax, 0x10
jl 0x1400ab5b0
mov rcx, qword [rsp + 0x180]
xor rcx, rsp
call fcn.1400bf680
mov rbx, qword [rsp + 0x1e8]
add rsp, 0x190
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret