Function at 0x1400ab8a4
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, 0x158
movaps xmmword [rsp + 0x140], xmm8
movaps xmmword [rsp + 0x130], xmm7
movdqa xmmword [rsp + 0x120], xmm6
mov rdi, rdx
mov rsi, rcx
mov rax, qword [0x14019e638]
xor rax, rsp
mov qword [rsp + 0x118], rax
mov rcx, qword [rcx]
call fcn.1400aaf50
or byte [rdi + 0x10], 8
mov qword [rsp + 0x70], rdi
mov byte [rdi + 0x98], al
mov rcx, qword [rsi]
call fcn.1400a9ec0
mov qword [rsp + 0x78], rax
test rax, rax
mov qword [rsp + 0x98], rsi
je 0x1400ac1e4
mov rax, qword [rsp + 0x70]
add rax, 0x18
mov qword [rsp + 0xa0], rax
xorps xmm8, xmm8
lea rdi, [rsp + 0xe0]
lea r12, [0x1401a14a8]
movaps xmm7, xmmword [section..rdata]
mov rax, qword [rsi]
mov qword [rsp + 0x80], rax
mov rbp, qword [rsp + 0x70]
mov rax, qword [rbp + 0x28]
test rax, rax
je 0x1400ab983
movsxd rcx, dword [rbp + 0x20]
mov edx, dword [rax]
cmp ecx, edx
movabs rsi, 0xaaaaaaaaaaaaaaab
jge 0x1400ab992
lea edx, [rcx + 1]
mov dword [rbp + 0x20], edx
mov r13, qword [rax + rcx*8 + 8]
jmp 0x1400ab9d4
mov edx, dword [rbp + 0x24]
movabs rsi, 0xaaaaaaaaaaaaaaab
jmp 0x1400ab997
cmp edx, dword [rbp + 0x24]
jne 0x1400ab9b1
inc edx
mov rcx, qword [rsp + 0xa0]
call fcn.140051c64
mov rbp, qword [rsp + 0x70]
mov rax, qword [rbp + 0x28]
mov edx, dword [rax]
inc edx
mov dword [rax], edx
mov rcx, qword [rbp + 0x18]
call fcn.1400a51fc
mov r13, rax
mov rax, qword [rbp + 0x28]
movsxd rcx, dword [rbp + 0x20]
lea edx, [rcx + 1]
mov dword [rbp + 0x20], edx
mov qword [rax + rcx*8 + 8], r13
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x78]
call fcn.1400aa990
test rax, rax
mov qword [rsp + 0x88], r13
je 0x1400abdcd
mov rbp, rax
lea rax, [r13 + 0x30]
mov qword [rsp + 0xa8], rax
mov eax, dword [r13 + 0x10]
test al, 2
jne 0x1400aba1d
mov rcx, qword [rbp + 0x20]
or eax, 2
mov dword [r13 + 0x10], eax
mov qword [r13 + 0x70], rcx
mov rax, qword [r13 + 0x40]
test rax, rax
je 0x1400aba3e
movsxd rcx, dword [r13 + 0x38]
mov edx, dword [rax]
cmp ecx, edx
jge 0x1400aba44
lea edx, [rcx + 1]
mov dword [r13 + 0x38], edx
mov r15, qword [rax + rcx*8 + 8]
jmp 0x1400aba83
mov edx, dword [r13 + 0x3c]
jmp 0x1400aba4a
cmp edx, dword [r13 + 0x3c]
jne 0x1400aba5f
inc edx
mov rcx, qword [rsp + 0xa8]
call fcn.140051c64
mov rax, qword [r13 + 0x40]
mov edx, dword [rax]
inc edx
mov dword [rax], edx
mov rcx, qword [r13 + 0x30]
call fcn.1400a5082
mov r15, rax
mov rax, qword [r13 + 0x40]
movsxd rcx, dword [r13 + 0x38]
lea edx, [rcx + 1]
mov dword [r13 + 0x38], edx
mov qword [rax + rcx*8 + 8], r15
or byte [r15 + 0x10], 1
mov rcx, qword [r15 + 0x30]
cmp rcx, r12
je 0x1400aba9b
mov rdx, rbp
call fcn.1400249e2
jmp 0x1400abaa7
lea rcx, [r15 + 0x30]
mov rdx, rbp
call fcn.1400088e0
mov rcx, qword [rbp + 0x28]
mov eax, dword [r15 + 0x10]
mov edx, eax
or edx, 4
mov dword [r15 + 0x10], edx
mov qword [r15 + 0x40], rcx
mov ecx, dword [rbp + 0x48]
mov edx, eax
or edx, 0xc
mov dword [r15 + 0x10], edx
mov dword [r15 + 0x48], ecx
cmp byte [rbp + 0xc0], 0xe0
jne 0x1400abb32
or eax, 0xe
mov dword [r15 + 0x10], eax
mov rax, qword [r15 + 0x38]
test rax, rax
jne 0x1400abaf0
xor ecx, ecx
call fcn.1400a5042
mov qword [r15 + 0x38], rax
mov ecx, dword [rbp + 0xc8]
mov ebx, dword [rax + 0x10]
mov edx, ebx
or edx, 8
mov dword [rax + 0x10], edx
mov dword [rax + 0x30], ecx
mov rcx, qword [rbp + 0x58]
mov edx, ebx
or edx, 9
mov dword [rax + 0x10], edx
mov qword [rax + 0x18], rcx
mov rcx, qword [rbp + 0x60]
mov edx, ebx
or edx, 0xb
mov dword [rax + 0x10], edx
mov qword [rax + 0x20], rcx
mov rcx, qword [rbp + 0x50]
or ebx, 0xf
mov dword [rax + 0x10], ebx
mov qword [rax + 0x28], rcx
mov rax, qword [rbp + 0x38]
cmp rax, qword [rbp + 0x30]
je 0x1400abd9d
lea rax, [r15 + 0x18]
mov qword [rsp + 0x90], rax
mov r13d, 0x7c
xor r12d, r12d
xor r14d, r14d
mov rax, qword [r15 + 0x28]
test rax, rax
je 0x1400abb79
movsxd rcx, dword [r15 + 0x20]
mov edx, dword [rax]
cmp ecx, edx
jge 0x1400abb7f
lea edx, [rcx + 1]
mov dword [r15 + 0x20], edx
mov rax, qword [rax + rcx*8 + 8]
jmp 0x1400abbbb
mov edx, dword [r15 + 0x24]
jmp 0x1400abb85
cmp edx, dword [r15 + 0x24]
jne 0x1400abb9a
inc edx
mov rcx, qword [rsp + 0x90]
call fcn.140051c64
mov rax, qword [r15 + 0x28]
mov edx, dword [rax]
inc edx
mov dword [rax], edx
mov rcx, qword [r15 + 0x18]
call fcn.1400a5014
mov rcx, qword [r15 + 0x28]
movsxd rdx, dword [r15 + 0x20]
lea ebx, [rdx + 1]
mov dword [r15 + 0x20], ebx
mov qword [rcx + rdx*8 + 8], rax
mov r9, rbp
mov r8, qword [rbp + 0x30]
mov rbx, qword [r8 + r13 - 0x7c]
mov edx, dword [rax + 0x10]
mov ecx, edx
or ecx, 1
mov dword [rax + 0x10], ecx
mov qword [rax + 0x38], rbx
mov rcx, qword [r8 + r13 - 0x74]
mov ebp, edx
or ebp, 0x201
mov dword [rax + 0x10], ebp
mov qword [rax + 0x78], rcx
mov rcx, qword [r8 + r13 - 0x6c]
mov edi, edx
or edi, 0x203
mov dword [rax + 0x10], edi
mov qword [rax + 0x40], rcx
mov bl, byte [r8 + r13 - 0xc]
cmp bl, 0x2f
jg 0x1400abc4f
cmp bl, 0xf0
je 0x1400abc96
cmp bl, 0x10
mov rbp, r9
je 0x1400abd03
cmp bl, 0x20
jne 0x1400abd4d
mov ecx, edx
or ecx, 0x223
mov dword [rax + 0x10], ecx
mov dword [rax + 0x60], 2
mov rcx, qword [r8 + r13 - 4]
or edx, 0x22b
mov dword [rax + 0x10], edx
mov qword [rax + 0x50], rcx
jmp 0x1400abd4d
cmp bl, 0x30
je 0x1400abcda
cmp bl, 0x41
mov rbp, r9
je 0x1400abd29
cmp bl, 0x51
jne 0x1400abd4d
mov ecx, edx
or ecx, 0x223
mov dword [rax + 0x10], ecx
mov dword [rax + 0x60], 5
mov rcx, qword [r8 + r13 - 4]
or edx, 0x323
mov dword [rax + 0x10], edx
mov qword [rax + 0x70], rcx
jmp 0x1400abd4d
mov ecx, edx
or ecx, 0x223
mov dword [rax + 0x10], ecx
mov dword [rax + 0x60], 6
mov ecx, dword [r8 + r13 - 4]
mov esi, edx
or esi, 0x263
mov dword [rax + 0x10], esi
movabs rsi, 0xaaaaaaaaaaaaaaab
mov dword [rax + 0x64], ecx
mov ecx, dword [r8 + r13]
or edx, 0x663
mov dword [rax + 0x10], edx
mov dword [rax + 0x80], ecx
jmp 0x1400abcfe
mov ecx, edx
or ecx, 0x223
mov dword [rax + 0x10], ecx
mov dword [rax + 0x60], 3
mov rcx, qword [r8 + r13 - 4]
or edx, 0x233
mov dword [rax + 0x10], edx
mov qword [rax + 0x58], rcx
mov rbp, r9
jmp 0x1400abd4d
mov ecx, edx
or ecx, 0x223
mov dword [rax + 0x10], ecx
mov dword [rax + 0x60], 1
mov rcx, qword [r8 + r13 - 4]
or edx, 0x227
mov dword [rax + 0x10], edx
mov qword [rax + 0x48], rcx
jmp 0x1400abd4d
mov ecx, edx
or ecx, 0x223
mov dword [rax + 0x10], ecx
mov dword [rax + 0x60], 4
mov rcx, qword [r8 + r13 - 4]
or edx, 0x2a3
mov dword [rax + 0x10], edx
mov qword [rax + 0x68], rcx
mov rcx, qword [rbp + 0xd0]
mov rdx, qword [rbp + 0xd8]
sub rdx, rcx
sar rdx, 3
imul rdx, rsi
cmp r14, rdx
jae 0x1400abd7d
add rax, 0x20
add rcx, r12
mov rdx, rax
xor r8d, r8d
call fcn.1400ac30c
inc r14
mov rax, qword [rbp + 0x38]
sub rax, qword [rbp + 0x30]
sar rax, 7
sub r13, 0xffffffffffffff80
add r12, 0x18
cmp r14, rax
jb 0x1400abb58
mov rcx, qword [rsp + 0x80]
call fcn.1400aaa30
mov rbp, rax
test rax, rax
lea rdi, [rsp + 0xe0]
lea r12, [0x1401a14a8]
mov r13, qword [rsp + 0x88]
jne 0x1400aba06
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x78]
call fcn.1400aaac0
lea rcx, [rsp + 0xd0]
movups xmmword [rcx], xmm8
mov qword [rsp + 0xc8], rcx
mov rdx, qword [rax]
lea r8, [rax + 8]
lea rsi, [rsp + 0xc8]
mov rcx, rsi
call fcn.1400ace14
lea r15, [r13 + 0x50]
mov rcx, rsi
mov rdx, r15
mov r8, qword [rsp + 0x70]
call fcn.1400ac30c
movaps xmmword [rsp + 0x100], xmm8
mov qword [rsp + 0x110], 0
lea rcx, str.ptype
call fcn.140140690
cmp rax, 0xfffffffffffffff0
jae 0x1400ac2fd
mov rbp, rax
cmp rax, 0x17
jae 0x1400abe6c
lea eax, [rbp + rbp]
mov byte [rsp + 0x100], al
lea rsi, [rsp + 0x101]
test rbp, rbp
jne 0x1400abe9e
jmp 0x1400abeb0
mov rbx, rbp
add rbx, 0x10
and rbx, 0xfffffffffffffff0
mov rcx, rbx
call fcn.140120368
mov rsi, rax
mov qword [rsp + 0x110], rax
or rbx, 1
mov qword [rsp + 0x100], rbx
mov qword [rsp + 0x108], rbp
mov rcx, rsi
lea rdx, str.ptype
mov r8, rbp
call fcn.140123290
mov byte [rsi + rbp], 0
mov rcx, qword [r13 + 0x60]
mov rdx, rdi
lea rbx, [rsp + 0x100]
mov r8, rbx
xor r9d, r9d
call fcn.1400a62d2
movdqa xmm6, xmmword [rsp + 0xe0]
mov rsi, qword [rsp + 0xf0]
test byte [rsp + 0x100], 1
je 0x1400abef6
mov rcx, qword [rsp + 0x110]
call fcn.1401203c4
movq rax, xmm6
test rax, rax
je 0x1400abf35
mov rax, qword [rax + 0x18]
cmp dword [rax + 0x38], 7
jne 0x1400abf35
mov eax, dword [rax + 0x30]
or dword [r13 + 0x10], 4
mov dword [r13 + 0x78], eax
movdqa xmmword [rsp + 0xe0], xmm6
mov qword [rsp + 0xf0], rsi
mov rcx, r15
mov rdx, rbx
mov r8, rdi
call fcn.1400a5f50
mov rcx, qword [rsp + 0x80]
lea rdx, [rsp + 0xb0]
mov r8, qword [rsp + 0x78]
call fcn.1400aad40
mov rsi, qword [rsp + 0xb0]
mov r14, qword [rsp + 0xb8]
cmp rsi, r14
je 0x1400ac1a4
lea rax, [r13 + 0x18]
mov qword [rsp + 0x90], rax
mov rax, qword [r13 + 0x28]
test rax, rax
je 0x1400abf95
movsxd rcx, dword [r13 + 0x20]
mov edx, dword [rax]
cmp ecx, edx
jge 0x1400abf9b
lea edx, [rcx + 1]
mov dword [r13 + 0x20], edx
mov rbx, qword [rax + rcx*8 + 8]
jmp 0x1400abfda
mov edx, dword [r13 + 0x24]
jmp 0x1400abfa1
cmp edx, dword [r13 + 0x24]
jne 0x1400abfb6
inc edx
mov rcx, qword [rsp + 0x90]
call fcn.140051c64
mov rax, qword [r13 + 0x28]
mov edx, dword [rax]
inc edx
mov dword [rax], edx
mov rcx, qword [r13 + 0x18]
call fcn.1400a4f00
mov rbx, rax
mov rax, qword [r13 + 0x28]
movsxd rcx, dword [r13 + 0x20]
lea edx, [rcx + 1]
mov dword [r13 + 0x20], edx
mov qword [rax + rcx*8 + 8], rbx
mov rax, qword [rsi + 8]
mov ecx, dword [rbx + 0x10]
mov edx, ecx
or edx, 0x20
mov dword [rbx + 0x10], edx
mov qword [rbx + 0x40], rax
mov rax, qword [rsi + 0x18]
mov qword [rbx + 0x48], rax
lea rdx, [rsi + 0x38]
or ecx, 0x61
mov dword [rbx + 0x10], ecx
mov rcx, qword [rbx + 0x18]
cmp rcx, r12
je 0x1400ac00f
call fcn.1400249e2
jmp 0x1400ac018
lea rcx, [rbx + 0x18]
call fcn.1400088e0
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xf0], rax
movaps xmmword [rsp + 0xe0], xmm7
mov r9, qword [rsi + 0x18]
mov r8d, dword [rsi + 0x20]
mov rcx, rdi
lea rdx, str._08X_zx
call fcn.14003a030
or byte [rbx + 0x10], 2
mov rcx, qword [rbx + 0x20]
cmp rcx, r12
je 0x1400ac060
mov rdx, rdi
call fcn.1400249e2
jmp 0x1400ac06c
lea rcx, [rbx + 0x20]
mov rdx, rdi
call fcn.1400088e0
or byte [rbx + 0x10], 4
lea rdx, [rsi + 0x50]
mov rcx, qword [rbx + 0x28]
cmp rcx, r12
je 0x1400ac084
call fcn.1400249e2
jmp 0x1400ac08d
lea rcx, [rbx + 0x28]
call fcn.1400088e0
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x110], rax
movaps xmmword [rsp + 0x100], xmm7
movzx eax, byte [rsi + 0x37]
movzx ecx, byte [rsi + 0x36]
movzx edx, byte [rsi + 0x35]
movzx ebp, byte [rsi + 0x34]
movzx edi, byte [rsi + 0x33]
movzx r10d, byte [rsi + 0x32]
movzx r11d, byte [rsi + 0x31]
movzx r12d, byte [rsi + 0x30]
movzx r13d, word [rsi + 0x2e]
movzx r9d, word [rsi + 0x2c]
mov r15d, dword [rsi + 0x24]
mov r8d, dword [rsi + 0x28]
mov dword [rsp + 0x68], r15d
mov dword [rsp + 0x60], eax
mov dword [rsp + 0x58], ecx
mov dword [rsp + 0x50], edx
mov dword [rsp + 0x48], ebp
mov dword [rsp + 0x40], edi
mov dword [rsp + 0x38], r10d
mov dword [rsp + 0x30], r11d
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r13d
lea rdi, [rsp + 0x100]
mov rcx, rdi
lea rdx, str._08X_04X_04X_02X_02X_02X_02X_02X_02X_02X_02X_x
call fcn.14003a030
or byte [rbx + 0x10], 8
mov rcx, qword [rbx + 0x30]
lea r12, [0x1401a14a8]
cmp rcx, r12
je 0x1400ac13e
mov rdx, rdi
call fcn.1400249e2
jmp 0x1400ac14a
lea rcx, [rbx + 0x30]
mov rdx, rdi
call fcn.1400088e0
mov r13, qword [rsp + 0x88]
mov al, byte [rsi]
or dword [rbx + 0x10], 0x100
mov cl, 1
xor al, cl
mov byte [rbx + 0x58], al
test byte [rsp + 0x100], cl
lea rdi, [rsp + 0xe0]
je 0x1400ac180
mov rcx, qword [rsp + 0x110]
call fcn.1401203c4
test byte [rsp + 0xe0], 1
je 0x1400ac197
mov rcx, qword [rsp + 0xf0]
call fcn.1401203c4
add rsi, 0x68
cmp r14, rsi
jne 0x1400abf74
lea rcx, [rsp + 0xb0]
call fcn.1400aceb2
mov rdx, qword [rsp + 0xd0]
lea rcx, [rsp + 0xc8]
call fcn.14005a970
mov rsi, qword [rsp + 0x98]
mov rcx, qword [rsi]
call fcn.1400aa970
mov qword [rsp + 0x78], rax
test rax, rax
jne 0x1400ab949
lea rdi, [rsp + 0xe0]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rdi + 0x10], rax
movaps xmm0, xmmword [section..rdata]
movaps xmmword [rdi], xmm0
mov rcx, qword [rsi]
mov rdx, rdi
call fcn.1400aab80
mov rsi, qword [rdi]
mov rbx, qword [rdi + 8]
cmp rsi, rbx
mov rbp, qword [rsp + 0x70]
je 0x1400ac29f
lea r14, [rbp + 0x30]
mov rax, qword [rbp + 0x40]
test rax, rax
je 0x1400ac244
movsxd rcx, dword [rbp + 0x38]
mov edx, dword [rax]
cmp ecx, edx
jge 0x1400ac249
lea edx, [rcx + 1]
mov dword [rbp + 0x38], edx
mov rcx, qword [rax + rcx*8 + 8]
jmp 0x1400ac289
mov edx, dword [rbp + 0x3c]
jmp 0x1400ac24e
cmp edx, dword [rbp + 0x3c]
jne 0x1400ac263
inc edx
mov rcx, r14
call fcn.140051c64
mov rbp, qword [rsp + 0x70]
mov rax, qword [rbp + 0x40]
mov edx, dword [rax]
inc edx
mov dword [rax], edx
mov rcx, qword [rbp + 0x30]
mov rdi, rbp
call fcn.140051f50
mov rcx, rax
mov rax, qword [rbp + 0x40]
movsxd rdx, dword [rbp + 0x38]
lea ebp, [rdx + 1]
mov dword [rdi + 0x38], ebp
mov qword [rax + rdx*8 + 8], rcx
mov rdx, rsi
call fcn.1400249e2
add rsi, 0x18
cmp rbx, rsi
mov rbp, qword [rsp + 0x70]
jne 0x1400ac224
lea rcx, [rsp + 0xe0]
call fcn.140001bfe
mov rcx, qword [rsp + 0x98]
xor edx, edx
call fcn.14006fba2
mov rcx, qword [rsp + 0x118]
xor rcx, rsp
call fcn.1401207e0
mov eax, 1
movaps xmm6, xmmword [rsp + 0x120]
movaps xmm7, xmmword [rsp + 0x130]
movaps xmm8, xmmword [rsp + 0x140]
add rsp, 0x158
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [rsp + 0x100]
call fcn.14002482c
int3