Function at 0x1400df888
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
mov rbx, r9
mov r12, r8
mov r14, rdx
mov rdi, rcx
lea rsi, [rsp + 0x80]
mov rcx, rsi
mov rdx, r8
mov r8, r9
call fcn.1400e2aba
mov r15d, dword [rsi]
mov rbp, qword [rsi + 8]
mov r13, qword [rsi + 0x10]
cmp r15d, 0x2f
je 0x1400df91c
cmp r15d, 0x5c
je 0x1400df91c
mov rsi, qword [rsp + 0x1c0]
cmp r15d, 0x110000
jne 0x1400dfac1
test rsi, rsi
je 0x1400dfddc
cmp dword [rsi + 0x20], 0
je 0x1400dfcc1
mov r8d, dword [rsi + 0x24]
mov rcx, qword [rsi + 8]
mov rdx, qword [rsi + 0x10]
lea r9, [0x14023ba58]
call fcn.1400e1eca
mov r8, rdx
jmp 0x1400dfcc9
mov qword [rsp + 0x78], rdi
mov rdi, qword [r14 + 0x30]
cmp r15d, 0x5c
jne 0x1400df93c
test rdi, rdi
je 0x1400df93c
mov rax, qword [r14 + 0x38]
mov rcx, rdi
xor edx, edx
call qword [rax + 0x28]
lea rsi, [rsp + 0x80]
mov rcx, rsi
mov rdx, rbp
mov r8, r13
call fcn.1400e2aba
mov eax, dword [rsi]
mov rcx, qword [rsi + 8]
mov qword [rsp + 0x68], rcx
mov rsi, qword [rsi + 0x10]
cmp eax, 0x2f
je 0x1400df96f
cmp eax, 0x5c
jne 0x1400dfb44
cmp eax, 0x5c
jne 0x1400df985
test rdi, rdi
je 0x1400df985
mov rax, qword [r14 + 0x38]
mov rcx, rdi
xor edx, edx
call qword [rax + 0x28]
lea rdx, [0x14023ba1a]
mov r8d, 7
mov rcx, r14
call fcn.14002f08e
mov rdi, rsi
mov rax, qword [rsp + 0x68]
sub rdi, rax
lea r12, [rsp + 0x80]
mov qword [r12], rax
mov qword [rsp + 0x70], rsi
mov qword [r12 + 8], rsi
xor ebx, ebx
mov esi, 0x2600
movabs r13, 0x8000800800000000
xor r15d, r15d
xor ebp, ebp
mov rcx, r12
call fcn.1400dbe53
mov ecx, 1
cmp eax, 0x3f
ja 0x1400df9f9
mov edx, eax
bt rsi, rdx
jae 0x1400df9f3
mov bpl, 1
add rbx, rcx
jmp 0x1400df9d1
bt r13, rdx
jb 0x1400dfa2b
cmp eax, 0x110000
je 0x1400dfa2b
cmp eax, 0x5c
je 0x1400dfa2b
inc r15
cmp eax, 0x80
jb 0x1400df9ee
mov ecx, 2
cmp eax, 0x800
jb 0x1400df9ee
cmp eax, 0x10000
mov ecx, 4
sbb rcx, 0
jmp 0x1400df9ee
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0xd8], rax
test bpl, 1
jne 0x1400dfaf1
lea rax, [rsp + 0xd0]
lea r12, [rsp + 0x80]
mov qword [r12], rax
mov qword [r12 + 8], r15
mov rcx, r12
call case.0x1400c0eae.417
cmp eax, 0x110000
jne 0x1400dfa68
lea r9, [0x14023bb50]
mov rcx, rbx
mov rdx, qword [rsp + 0x68]
mov r8, rdi
call fcn.14004b9e6
mov rdi, rax
mov rbx, rdx
mov rcx, rax
call fcn.1400e2f97
lea rsi, [rsp + 0x80]
test al, al
je 0x1400dfb9c
mov edx, 1
mov rcx, rsi
xor r8d, r8d
call fcn.1400dbf45
jmp 0x1400dfbc4
test rsi, rsi
je 0x1400dfddc
cmp r15d, 0x23
je 0x1400dfd98
cmp r15d, 0x3f
jne 0x1400dfdc9
cmp dword [rsi + 0x18], 0
je 0x1400e030c
lea rax, [rsi + 0x1c]
jmp 0x1400e031a
lea rsi, [rsp + 0x110]
lea rdx, [rsp + 0xd0]
mov rcx, rsi
mov r8, r15
call fcn.1400dbe77
mov rbx, qword [rsi + 8]
mov rdi, qword [rsi + 0x10]
mov rcx, rbx
mov rdx, rdi
call fcn.1400e2f97
lea rsi, [rsp + 0x80]
test al, al
je 0x1400dfbe9
mov edx, 1
mov rcx, rsi
xor r8d, r8d
call fcn.1400dbf45
jmp 0x1400dfc11
lea rdx, [0x14023ba1a]
mov eax, 7
mov qword [rsp + 0x68], rax
mov r8d, 7
mov rcx, r14
call fcn.14002f08e
mov rcx, rbp
mov rdx, r13
call fcn.1400e31e9
xor edi, edi
mov rdx, qword [rsp + 0x1c0]
test rdx, rdx
je 0x1400e00ed
test al, al
jne 0x1400e00ed
cmp dword [rdx + 0x18], 0
je 0x1400dfff0
lea rax, [rdx + 0x1c]
jmp 0x1400dfffe
mov rcx, rsi
mov rdx, rdi
mov r8, rbx
call fcn.1400dbf45
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0x70], rax
mov rdi, qword [rsi]
mov r12b, byte [rsi + 8]
movzx eax, byte [rsi + 0xf]
shl eax, 0x10
movzx ecx, word [rsi + 0xd]
or ecx, eax
shl rcx, 0x20
mov r13d, dword [rsi + 9]
or r13, rcx
mov r15, qword [rsi + 0x10]
jmp 0x1400dfc44
mov rcx, rsi
mov rdx, rbx
mov r8, rdi
call fcn.1400dbf45
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0x70], rax
mov rdi, qword [rsi]
mov r12b, byte [rsi + 8]
movzx eax, byte [rsi + 0xf]
shl eax, 0x10
movzx ecx, word [rsi + 0xd]
or ecx, eax
shl rcx, 0x20
mov r13d, dword [rsi + 9]
or r13, rcx
mov r15, qword [rsi + 0x10]
mov rcx, qword [rsp + 0x110]
mov rdx, rbx
call fcn.1400db00e
movabs rcx, 0x8000000000000000
cmp rdi, rcx
je 0x1400dfcab
shl r13, 8
movzx ebx, r12b
or rbx, r13
mov bpl, 1
test r15, r15
je 0x1400dfcb9
lea rsi, [rsp + 0x80]
mov rcx, rsi
mov rdx, rbx
mov r8, r15
call fcn.1400dbfab
mov r15, qword [rsi]
movabs rax, 0x8000000000000002
mov r12b, byte [rsi + 8]
cmp r15, rax
jne 0x1400dfd16
mov rcx, rdi
mov rdx, rbx
call fcn.1400db00e
movabs rcx, 0x8000000000000000
mov rax, qword [rsp + 0x78]
mov byte [rax + 8], r12b
jmp 0x1400dffe8
xor r15d, r15d
jmp 0x1400dff3d
mov rax, qword [rsi + 8]
mov r8, qword [rsi + 0x10]
mov rcx, r14
mov rdx, rax
call fcn.14002f08e
mov rax, qword [r14 + 0x10]
mov qword [rdi + 0x10], rax
movups xmm0, xmmword [r14]
movups xmmword [rdi], xmm0
movups xmm0, xmmword [rsi + 0x2c]
movups xmm1, xmmword [rsi + 0x40]
movups xmmword [rdi + 0x40], xmm1
mov al, byte [rsi + 0x50]
mov byte [rdi + 0x50], al
mov eax, dword [rsi + 0x28]
mov rcx, qword [rsi + 0x18]
mov qword [rdi + 0x18], rcx
and dword [rdi + 0x20], 0
mov ecx, dword [rsi + 0x3c]
mov dword [rdi + 0x28], eax
movups xmmword [rdi + 0x2c], xmm0
mov dword [rdi + 0x3c], ecx
jmp 0x1400e027d
movzx eax, r12b
movzx ecx, byte [rsp + 0x8f]
shl ecx, 0x10
movzx edx, word [rsp + 0x8d]
or edx, ecx
mov r12d, dword [rsp + 0x89]
shl rdx, 0x28
shl r12, 8
or r12, rdx
or r12, rax
mov r13, qword [rsp + 0x90]
movabs rax, 0x8000000000000001
cmp r15, rax
mov rsi, qword [rsp + 0x70]
jle 0x1400dfea8
lea r8, [0x14023bb28]
mov r9d, 9
mov rcx, r12
mov rdx, r13
call fcn.1400b0e34
test al, al
je 0x1400dfea8
mov rcx, r15
mov rdx, r12
call fcn.140068e6d
xor r15d, r15d
jmp 0x1400dff42
lea rdx, [rsp + 0x80]
mov ecx, 9
mov rax, rdi
mov rdi, rdx
mov r8, rsi
mov rsi, r14
rep movsq qword [rdi], qword [rsi]
mov qword [rsp + 0x20], rbx
mov rcx, rax
mov r9, r12
call fcn.1400e2589
jmp 0x1400e027d
mov rcx, r12
mov rdx, rbx
call fcn.1400e31e9
test al, al
je 0x1400e02f9
lea rdx, str.file:___
mov r8d, 8
mov rcx, r14
call fcn.14002f08e
lea r8, [rsp + 0x80]
mov byte [r8], 0
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r12
mov r9d, 7
mov rcx, r14
xor edx, edx
call fcn.1400e125c
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
lea rsi, [rsp + 0x80]
mov rcx, rsi
mov rdx, r14
xor r8d, r8d
mov r9d, 4
call fcn.1400e2ae7
mov eax, dword [rsi]
cmp eax, 2
jne 0x1400dfe60
mov al, byte [rsp + 0x84]
mov byte [rdi + 8], al
movabs rax, 0x8000000000000000
mov qword [rdi], rax
jmp 0x1400e0271
mov rcx, qword [rsp + 0x84]
mov edx, dword [rsp + 0x8c]
mov r8, qword [r14 + 0x10]
mov qword [rdi + 0x10], r8
movups xmm0, xmmword [r14]
movups xmmword [rdi], xmm0
mov dword [rdi + 0x18], eax
mov qword [rdi + 0x1c], rcx
mov dword [rdi + 0x24], edx
and word [rdi + 0x28], 0
movaps xmm0, xmmword [0x1401c5e10]
movups xmmword [rdi + 0x2c], xmm0
mov dword [rdi + 0x3c], 7
mov byte [rdi + 0x40], 0
jmp 0x1400e027d
lea rax, [rsp + 0xe0]
mov qword [rax], r15
mov qword [rax + 8], r12
mov qword [rax + 0x10], r13
lea rcx, [rsp + 0x110]
mov qword [rcx], rax
lea rax, [0x14023ca48]
lea rdx, [rsp + 0x80]
mov qword [rdx], rax
mov eax, 1
mov qword [rdx + 8], rax
and qword [rdx + 0x20], 0
lea r8, [0x1400db76c]
mov qword [rcx + 8], r8
mov qword [rdx + 0x10], rcx
mov qword [rdx + 0x18], rax
mov rcx, r14
call fcn.1400dba48
test al, al
jne 0x1400e050f
mov rax, qword [rsp + 0xf0]
lea rdx, [rsp + 0x80]
mov qword [rdx + 0x10], rax
movups xmm0, xmmword [rsp + 0xe0]
movaps xmmword [rdx], xmm0
lea rsi, [rsp + 0xff]
mov rcx, rsi
call fcn.1400dbeea
xor ebp, ebp
mov r15b, byte [rsi]
mov rsi, qword [rsp + 0x70]
movups xmm0, xmmword [rsp + 0x100]
movaps xmmword [rsp + 0x110], xmm0
mov rcx, rdi
mov rdx, rbx
call fcn.1400db00e
mov rbx, qword [r14 + 0x10]
mov rax, rbx
shr rax, 0x20
mov rcx, rbx
shl rcx, 0x20
or rcx, 0x900
test rax, rax
mov edi, 0x901
cmove rdi, rcx
test dil, dil
jne 0x1400dffd5
shr rdi, 0x20
test r15b, r15b
setne byte [rsp + 0xe0]
test bpl, bpl
je 0x1400e01d0
mov rcx, r14
mov edx, 0x2f
call case.0x1400bfabc.582
mov qword [rsp + 0x28], rsi
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0xe0]
mov rcx, r14
xor edx, edx
mov r9, rbx
call fcn.1400e125c
jmp 0x1400e01ec
mov rax, qword [rsp + 0x78]
mov byte [rax + 8], 9
movabs rcx, 0x8000000000000000
mov qword [rax], rcx
jmp 0x1400e0271
cmp dword [rdx + 0x20], 0
je 0x1400e03e0
lea rax, [rdx + 0x24]
mov r9d, dword [rax]
mov r8d, dword [rdx + 0x3c]
mov rcx, qword [rdx + 8]
mov rdx, qword [rdx + 0x10]
call fcn.1400dee22
mov rcx, rax
mov r8d, 0x2f
call fcn.1400dbad0
test rax, rax
je 0x1400e04ec
mov r8, rdx
lea rsi, [rsp + 0x80]
mov rcx, rsi
mov rdx, rax
mov r9d, 0x2f
call fcn.1400de964
cmp dword [rsi + 0x34], 0x110000
je 0x1400e04f7
lea rax, [rsp + 0x110]
lea rsi, [rsp + 0x80]
mov ecx, 9
mov rdi, rax
rep movsq qword [rdi], qword [rsi]
mov rcx, rax
call fcn.1400419b1
test rax, rax
je 0x1400e0503
mov rdi, rax
mov rsi, rdx
mov rcx, rax
call fcn.1400e2f12
test al, al
je 0x1400e00ad
mov rcx, r14
mov edx, 0x2f
call case.0x1400bfabc.582
mov rcx, r14
mov rdx, rdi
mov r8, rsi
call fcn.14002f08e
jmp 0x1400e00eb
mov rsi, qword [rsp + 0x1c0]
mov rcx, rsi
call fcn.1400e3286
test rax, rax
je 0x1400e00eb
mov r8, rdx
mov rcx, r14
mov rdx, rax
call fcn.14002f08e
mov rax, qword [r14 + 0x10]
mov qword [rsp + 0x68], rax
mov dil, byte [rsi + 0x40]
movups xmm0, xmmword [rsi + 0x41]
movaps xmmword [rsp + 0xe0], xmm0
jmp 0x1400e00ed
xor edi, edi
add r15d, 0xffffffd1
cmp r15d, 0x2d
ja 0x1400e0107
movabs rax, 0x200000010001
bt rax, r15
jb 0x1400e010d
mov r12, rbp
mov rbx, r13
lea r8, [rsp + 0x80]
mov byte [r8], 0
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r12
mov rcx, r14
xor edx, edx
mov rbx, qword [rsp + 0x68]
mov r9, rbx
call fcn.1400e125c
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
lea rsi, [rsp + 0x80]
mov rcx, rsi
mov rdx, r14
xor r8d, r8d
mov r9d, 4
call fcn.1400e2ae7
mov eax, dword [rsi]
cmp eax, 2
je 0x1400e0255
mov rcx, qword [rsp + 0x84]
mov edx, dword [rsp + 0x8c]
mov r8, qword [r14 + 0x10]
mov r9, qword [rsp + 0x78]
mov qword [r9 + 0x10], r8
movups xmm0, xmmword [r14]
movups xmmword [r9], xmm0
movaps xmm0, xmmword [rsp + 0xe0]
movups xmmword [r9 + 0x41], xmm0
mov dword [r9 + 0x18], eax
mov qword [r9 + 0x1c], rcx
mov dword [r9 + 0x24], edx
and word [r9 + 0x28], 0
movabs rax, 0x700000004
mov qword [r9 + 0x2c], rax
mov dword [r9 + 0x34], 7
mov dword [r9 + 0x38], ebx
mov dword [r9 + 0x3c], ebx
mov byte [r9 + 0x40], dil
jmp 0x1400e027d
mov qword [rsp + 0x20], rsi
lea r8, [rsp + 0xe0]
mov rcx, r14
xor edx, edx
mov r9, qword [rsp + 0x68]
call fcn.1400e3061
mov rsi, rax
mov rbx, rdx
cmp byte [rsp + 0xe0], 0
jne 0x1400e0228
lea r15, [rsp + 0x80]
mov r8d, 7
mov rcx, r15
mov rdx, r14
mov r9, rdi
call fcn.1400dbcd1
mov rcx, r15
call fcn.140018980
mov edi, 7
xor r15d, r15d
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rsi
lea rsi, [rsp + 0x80]
mov rcx, rsi
mov rdx, r14
xor r8d, r8d
mov r9d, 4
call fcn.1400e2ae7
mov eax, dword [rsi]
cmp eax, 2
jne 0x1400e0292
mov al, byte [rsp + 0x84]
mov rcx, qword [rsp + 0x78]
mov byte [rcx + 8], al
movabs rax, 0x8000000000000000
mov qword [rcx], rax
mov rcx, qword [r14]
mov rdx, qword [r14 + 8]
call fcn.1400db00e
nop
add rsp, 0x158
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rsp + 0x84]
mov edx, dword [rsp + 0x8c]
mov r8, qword [r14 + 0x10]
mov r9, qword [rsp + 0x78]
mov qword [r9 + 0x10], r8
movups xmm0, xmmword [r14]
movups xmmword [r9], xmm0
movaps xmm0, xmmword [rsp + 0x110]
movups xmmword [r9 + 0x41], xmm0
mov dword [r9 + 0x18], eax
mov qword [r9 + 0x1c], rcx
mov dword [r9 + 0x24], edx
and word [r9 + 0x28], 0
movabs rax, 0x700000004
mov qword [r9 + 0x2c], rax
mov dword [r9 + 0x34], 7
mov dword [r9 + 0x38], edi
mov dword [r9 + 0x3c], edi
mov byte [r9 + 0x40], r15b
jmp 0x1400e027d
cmp dword [rsi + 0x18], 0
je 0x1400e03f6
lea rax, [rsi + 0x1c]
jmp 0x1400e0404
cmp dword [rsi + 0x20], 0
je 0x1400e04cc
lea rax, [rsi + 0x24]
mov r15, rdi
mov r8d, dword [rax]
mov rcx, qword [rsi + 8]
mov rdx, qword [rsi + 0x10]
call fcn.1400e27a4
mov r8, rdx
mov rcx, r14
mov rdx, rax
call fcn.14002f08e
mov r13, rsi
mov esi, dword [rsi + 0x2c]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r12
lea rdi, [rsp + 0x80]
mov rcx, rdi
mov rdx, r14
xor r8d, r8d
mov r9d, esi
call fcn.1400e2ae7
mov eax, dword [rdi]
cmp eax, 2
jne 0x1400e037a
mov al, byte [rsp + 0x84]
mov rdi, r15
jmp 0x1400dfe4b
mov ecx, dword [rsp + 0x84]
mov rdx, qword [rsp + 0x88]
mov r8, qword [r14 + 0x10]
mov qword [r15 + 0x10], r8
movups xmm0, xmmword [r14]
movups xmmword [r15], xmm0
mov r8, qword [r13 + 0x30]
mov r9d, dword [r13 + 0x38]
movups xmm0, xmmword [r13 + 0x40]
movups xmmword [r15 + 0x40], xmm0
mov r10b, byte [r13 + 0x50]
mov byte [r15 + 0x50], r10b
mov r10d, dword [r13 + 0x28]
mov r11d, dword [r13 + 0x3c]
mov dword [r15 + 0x18], eax
mov dword [r15 + 0x1c], ecx
mov qword [r15 + 0x20], rdx
mov dword [r15 + 0x28], r10d
mov dword [r15 + 0x2c], esi
mov qword [r15 + 0x30], r8
mov dword [r15 + 0x38], r9d
mov dword [r15 + 0x3c], r11d
jmp 0x1400e027d
mov r8d, dword [rdx + 0x3c]
mov rcx, qword [rdx + 8]
mov rdx, qword [rdx + 0x10]
call fcn.1400e2aa2
jmp 0x1400e0012
cmp dword [rsi + 0x20], 0
je 0x1400e04dc
lea rax, [rsi + 0x24]
mov r15, rdi
mov r8d, dword [rax]
mov rcx, qword [rsi + 8]
mov rdx, qword [rsi + 0x10]
call fcn.1400e27a4
mov r8, rdx
mov rcx, r14
mov rdx, rax
call fcn.14002f08e
mov r13d, dword [rsi + 0x3c]
mov rcx, r14
xor edx, edx
mov r8, r13
call fcn.1400e300c
lea r8, [rsp + 0x80]
mov byte [r8], 1
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r12
mov rcx, r14
xor edx, edx
mov r9, r13
call fcn.1400e125c
lea r8, [rsp + 0x80]
mov ecx, 9
mov rdi, r8
mov rbx, rsi
mov rsi, r14
rep movsq qword [rdi], qword [rsi]
mov r9d, dword [rbx + 0x2c]
mov ecx, dword [rbx + 0x30]
mov r10d, dword [rbx + 0x34]
mov r11d, dword [rbx + 0x38]
lea rsi, [rbx + 0x40]
movzx edi, word [rbx + 0x28]
movzx ebx, word [rbx + 0x2a]
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x50], r13d
mov word [rsp + 0x48], bx
mov word [rsp + 0x40], di
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], r11d
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], ecx
mov rcx, r15
mov rdx, r8
xor r8d, r8d
call fcn.1400e18c4
jmp 0x1400e027d
mov r15, rdi
mov rax, qword [rsi + 8]
mov r8, qword [rsi + 0x10]
jmp 0x1400e0330
mov r15, rdi
mov rax, qword [rsi + 8]
mov r8, qword [rsi + 0x10]
jmp 0x1400e041a
mov dword [rsp + 0xb4], 0x110000
lea rcx, [0x14023ba28]
call fcn.1401be450
lea rcx, [0x14023ba40]
call fcn.1401be450
lea rax, [0x14023bb38]
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x14023b478]
lea r8, [rsp + 0x80]
mov edx, 0x2b
call fcn.1401be350
int3