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

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
push rbp
sub rsp, 0x3a8
mov r15, rcx
mov rax, qword [0x140294fc0]
xor r11d, r11d
xor rax, rsp
xor r10d, r10d
mov rdi, qword [rsp + 0x418]
mov rbx, r9
mov qword [rsp + 0x398], rax
mov r14, r8
mov rsi, rdx
mov qword [r15 + 0x5430], 5
mov dword [r15 + 0x5454], r11d
mov qword [r15 + 0x5410], r10
mov qword [r15 + 0x5418], r10
mov qword [r15 + 0x5420], r10
mov qword [r15 + 0x5428], r10
mov dword [r15 + 0x140c], 0xc
mov dword [r15 + 0x5458], r11d
test rdi, rdi
je 0x14017dfde
mov r12, qword [rsp + 0x420]
test r12, r12
jne 0x14017df72
xor eax, eax
cmp rsi, rax
je 0x14017df19
mov qword [r15 + 0x5428], rax
neg rax
add rax, rsi
add rax, qword [r15 + 0x5418]
mov qword [r15 + 0x5420], rax
mov qword [r15 + 0x5418], rsi
mov qword [r15 + 0x5410], rsi
mov rbp, rsp
mov rcx, r15
mov rax, qword [rsp + 0x410]
mov rdx, rsi
mov r8, r14
mov r9, rbx
mov qword [rbp + 0x20], rax
call fcn.140179100
mov rcx, qword [rsp + 0x398]
mov qword [rsp + 0x398], 0
xor rcx, rsp
cmp rcx, qword [0x140294fc0]
jne 0x14017df6d
add rsp, 0x3a8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
call fcn.1401c41f0
cmp dword [rdi], 0xec30a436
je 0x14017dfb3
mov rax, qword [r15 + 0x5410]
mov qword [r15 + 0x5428], rax
neg rax
add rax, rdi
add rax, qword [r15 + 0x5418]
mov qword [r15 + 0x5420], rax
lea rax, [rdi + r12]
mov qword [r15 + 0x5418], rdi
mov qword [r15 + 0x5410], rax
jmp 0x14017deeb
lea rcx, [r15 + 0x140c]
lea rdx, [rdi + 4]
lea r8, [r12 - 4]
call fcn.140175570
mov r13, rax
cmp r13, 0xffffffffffffff88
jbe 0x14017e02c
mov r13, 0xffffffffffffffe2
cmp r13, 0xffffffffffffff88
jbe 0x14017dfea
mov rax, qword [r15 + 0x5410]
jmp 0x14017deeb
mov rax, qword [r15 + 0x5410]
lea rbp, [rdi + r13 + 4]
sub r12, r13
mov qword [r15 + 0x5428], rax
neg rax
add rax, rbp
add rax, qword [r15 + 0x5418]
mov qword [r15 + 0x5420], rax
lea rax, [r12 + rbp - 4]
mov qword [r15 + 0x5418], rbp
mov qword [r15 + 0x5410], rax
jmp 0x14017deeb
mov rax, rsp
mov rbp, r12
sub rbp, r13
lea r9, [rdi + r13 + 4]
mov qword [rsp + 0xa0], r9
lea rcx, [rsp + 0x35e]
add rbp, 0xfffffffffffffffc
lea rdx, [rsp + 0x84]
mov dword [rdx], 0x1c
lea r8, [rsp + 0xa8]
mov qword [rax + 0x20], rbp
call fcn.14017b8f0
mov r10, rax
cmp r10, 0xffffffffffffff88
ja 0x14017dfd1
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x58], eax
cmp eax, 8
ja 0x14017dfd1
mov r11d, 1
mov ecx, eax
shl r11d, cl
mov edx, dword [rsp + 0x84]
mov dword [rsp + 0x40], r11d
lea eax, [rdx + 1]
mov dword [rsp + 0x48], eax
lea eax, [r11 - 1]
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x50], eax
cmp edx, 0xff
ja 0x14017e339
mov eax, ecx
mov r8d, 1
mov dword [rsp + 0x30], r8d
mov word [rsp + 0x60], ax
lea ecx, [rax + 0x1f]
shl r8d, cl
cmp dword [rsp + 0x48], 0
je 0x14017e1fe
mov r11d, 1
xor eax, eax
mov edx, dword [rsp + 0x48]
shr edx, 1
je 0x14017e1b6
movsx r11, r8w
mov qword [rsp + 0x98], rsi
mov esi, 1
mov qword [rsp + 0x90], r14
mov qword [rsp + 0x88], rbx
xor ebx, ebx
mov r9d, dword [rsp + 0x30]
mov edi, dword [rsp + 0x50]
lea r12d, [rax + rax]
mov r14d, r12d
movsx ecx, word [rsp + r14*2 + 0x35e]
cmp ecx, 0xffffffff
je 0x14017e39c
cmp ecx, r11d
mov word [rsp + r14*2 + 0xac], cx
cmovge r9d, ebx
lea r12d, [rax + rax + 1]
mov r14d, r12d
movsx ecx, word [rsp + r14*2 + 0x35e]
cmp ecx, 0xffffffff
je 0x14017e382
cmp ecx, r11d
mov word [rsp + r14*2 + 0xac], cx
cmovge r9d, ebx
inc eax
cmp eax, edx
jb 0x14017e127
mov dword [rsp + 0x50], edi
lea r11d, [rax + rax + 1]
mov dword [rsp + 0x30], r9d
mov r12, qword [rsp + 0x420]
mov rdi, qword [rsp + 0x418]
mov rsi, qword [rsp + 0x98]
mov r14, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x88]
dec r11d
cmp r11d, dword [rsp + 0x48]
jae 0x14017e374
mov eax, r11d
movsx edx, word [rsp + rax*2 + 0x35e]
cmp edx, 0xffffffff
je 0x14017e345
cmp dx, r8w
jl 0x14017e1e9
xor r11d, r11d
mov word [rsp + 0x62], r11w
jmp 0x14017e1f4
mov r11d, dword [rsp + 0x30]
mov word [rsp + 0x62], r11w
mov word [rsp + rax*2 + 0xac], dx
jmp 0x14017e208
mov eax, 1
mov word [rsp + 0x62], ax
mov eax, dword [rsp + 0x60]
mov dword [r15 + 0x804], eax
mov r11d, dword [rsp + 0x40]
mov eax, r11d
shr eax, 1
xor edx, edx
shr r11d, 3
cmp dword [rsp + 0x48], 0
lea r11d, [rax + r11 + 3]
mov eax, edx
je 0x14017e2c0
mov qword [rsp + 0x90], r14
xor ecx, ecx
mov qword [rsp + 0x98], rsi
mov qword [rsp + 0x88], rbx
mov r9d, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x38]
mov r14d, dword [rsp + 0x48]
mov esi, ecx
movsx ebx, word [rsp + rax*2 + 0x35e]
test ebx, ebx
jle 0x14017e290
mov byte [r15 + rdx*4 + 0x80a], al
add edx, r11d
and edx, r8d
cmp edx, r9d
jbe 0x14017e28a
add edx, r11d
and edx, r8d
cmp edx, r9d
ja 0x14017e27f
inc esi
cmp esi, ebx
jl 0x14017e26c
nop word [rax + rax]
inc eax
cmp eax, r14d
jb 0x14017e25e
mov rsi, qword [rsp + 0x98]
mov r14, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x88]
test edx, edx
jne 0x14017e335
xor edx, edx
cmp dword [rsp + 0x40], 0
jbe 0x14017e331
xor r11d, r11d
mov qword [rsp + 0x88], rbx
mov ebx, dword [rsp + 0x40]
mov eax, dword [rsp + 0x58]
nop dword [rax]
movzx ecx, byte [r15 + rdx*4 + 0x80a]
inc r11d
movzx r9d, word [rsp + rcx*2 + 0xac]
lea r8d, [r9 + 1]
mov word [rsp + rcx*2 + 0xac], r8w
bsr ecx, r9d
neg ecx
add ecx, eax
mov byte [r15 + rdx*4 + 0x80b], cl
shl r9d, cl
sub r9d, ebx
mov word [r15 + rdx*4 + 0x808], r9w
mov edx, r11d
cmp r11d, ebx
jb 0x14017e2e0
mov rbx, qword [rsp + 0x88]
xor al, al
jmp 0x14017e33b
mov al, 0xff
jmp 0x14017e33b
mov al, 0xd2
cmp al, 0x88
ja 0x14017dfd1
jmp 0x14017e3b4
mov edx, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x50]
mov word [rsp + 0x62], dx
mov byte [r15 + rcx*4 + 0x80a], r11b
mov r11d, 1
dec ecx
mov word [rsp + rax*2 + 0xac], r11w
mov dword [rsp + 0x50], ecx
jmp 0x14017e208
mov eax, dword [rsp + 0x30]
mov word [rsp + 0x62], ax
jmp 0x14017e208
mov edi, edi
mov word [rsp + r14*2 + 0xac], si
mov byte [r15 + rdi*4 + 0x80a], r12b
dec edi
jmp 0x14017e17a
mov word [rsp + r14*2 + 0xac], si
mov byte [r15 + rdi*4 + 0x80a], r12b
dec edi
jmp 0x14017e150
mov rax, rsp
lea rcx, [rsp + 0x2f4]
mov r9, qword [rcx - 0x254]
lea rdx, [rsp + 0x64]
add r9, r10
lea r8, [rsp + 0x80]
mov qword [rdx + 0x3c], r9
sub rbp, r10
mov qword [rax + 0x20], rbp
mov dword [rdx], 0x34
mov qword [rdx + 0x14], r10
call fcn.14017b8f0
mov r10, qword [rsp + 0x78]
mov qword [rsp + 0x70], rax
cmp qword [rsp + 0x70], 0xffffffffffffff88
ja 0x14017dfd1
mov r8d, dword [rsp + 0x80]
cmp r8d, 9
ja 0x14017dfd1
mov edx, 1
mov ecx, r8d
mov eax, dword [rsp + 0x64]
shl edx, cl
lea r11d, [rax + 1]
mov dword [rsp + 0x50], r11d
lea r11d, [rdx - 1]
mov dword [rsp + 0x48], r11d
mov dword [rsp + 0x58], r11d
cmp eax, 0xff
ja 0x14017e6d4
mov eax, 1
lea ecx, [r8 + 0x1f]
mov dword [rsp + 0x38], eax
shl eax, cl
mov word [rsp + 0x60], r8w
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x50], 0
je 0x14017e5a1
mov eax, 1
mov r11d, dword [rsp + 0x50]
mov dword [rsp + 0x40], 0
shr r11d, 1
je 0x14017e55a
movsx rax, word [rsp + 0x30]
mov r9d, dword [rsp + 0x40]
mov r12d, dword [rsp + 0x38]
mov edi, dword [rsp + 0x58]
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x98], rsi
mov esi, 1
mov qword [rsp + 0x90], r14
mov qword [rsp + 0x88], rbx
xor ebx, ebx
lea r13d, [r9 + r9]
mov r14d, r13d
movsx ecx, word [rsp + r14*2 + 0x2f4]
cmp ecx, 0xffffffff
je 0x14017e739
cmp ecx, eax
mov word [rsp + r14*2 + 0xac], cx
cmovge r12d, ebx
lea r13d, [r9 + r9 + 1]
mov r14d, r13d
movsx ecx, word [rsp + r14*2 + 0x2f4]
cmp ecx, 0xffffffff
je 0x14017e71f
cmp ecx, eax
mov word [rsp + r14*2 + 0xac], cx
cmovge r12d, ebx
inc r9d
cmp r9d, r11d
jb 0x14017e4bf
mov dword [rsp + 0x40], r9d
mov eax, r9d
mov dword [rsp + 0x38], r12d
mov dword [rsp + 0x58], edi
mov r13, qword [rsp + 0x68]
lea eax, [rax + rax + 1]
mov rsi, qword [rsp + 0x98]
mov r14, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x88]
mov r12, qword [rsp + 0x420]
mov rdi, qword [rsp + 0x418]
dec eax
cmp eax, dword [rsp + 0x50]
jae 0x14017e711
mov r11d, eax
movsx ecx, word [rsp + r11*2 + 0x2f4]
cmp ecx, 0xffffffff
je 0x14017e6e0
mov eax, dword [rsp + 0x30]
cmp cx, ax
jl 0x14017e58d
xor eax, eax
mov word [rsp + 0x62], ax
jmp 0x14017e596
mov eax, dword [rsp + 0x38]
mov word [rsp + 0x62], ax
mov word [rsp + r11*2 + 0xac], cx
jmp 0x14017e5ab
mov eax, 1
mov word [rsp + 0x62], ax
mov eax, dword [rsp + 0x60]
mov dword [r15 + 0xc08], eax
mov r11d, edx
mov eax, edx
shr r11d, 1
shr eax, 3
xor ecx, ecx
cmp dword [rsp + 0x50], 0
lea r11d, [r11 + rax + 3]
mov eax, 0
je 0x14017e66e
mov qword [rsp + 0x98], rsi
mov qword [rsp + 0x90], r14
xor r14d, r14d
mov qword [rsp + 0x88], rbx
mov r9d, dword [rsp + 0x58]
mov edi, dword [rsp + 0x48]
mov r12d, dword [rsp + 0x50]
mov esi, r14d
movsx ebx, word [rsp + rcx*2 + 0x2f4]
test ebx, ebx
jle 0x14017e632
mov byte [r15 + rax*4 + 0xc0e], cl
add eax, r11d
and eax, edi
cmp eax, r9d
jbe 0x14017e62c
add eax, r11d
and eax, edi
cmp eax, r9d
ja 0x14017e622
inc esi
cmp esi, ebx
jl 0x14017e610
nop word [rax + rax]
inc ecx
cmp ecx, r12d
jb 0x14017e601
mov r12, qword [rsp + 0x420]
mov rdi, qword [rsp + 0x418]
mov rsi, qword [rsp + 0x98]
mov r14, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x88]
test eax, eax
jne 0x14017e6d0
xor r9d, r9d
test edx, edx
jbe 0x14017e6cc
xor r11d, r11d
mov qword [rsp + 0x88], rbx
movzx ecx, byte [r15 + r9*4 + 0xc0e]
inc r11d
movzx eax, word [rsp + rcx*2 + 0xac]
lea ebx, [rax + 1]
mov word [rsp + rcx*2 + 0xac], bx
bsr ecx, eax
neg ecx
add ecx, r8d
mov byte [r15 + r9*4 + 0xc0f], cl
shl eax, cl
sub eax, edx
mov word [r15 + r9*4 + 0xc0c], ax
mov r9d, r11d
cmp r11d, edx
jb 0x14017e680
mov rbx, qword [rsp + 0x88]
xor al, al
jmp 0x14017e6d6
mov al, 0xff
jmp 0x14017e6d6
mov al, 0xd2
cmp al, 0x88
ja 0x14017dfd1
jmp 0x14017e751
mov ecx, dword [rsp + 0x38]
mov r9d, dword [rsp + 0x58]
mov word [rsp + 0x62], cx
mov byte [r15 + r9*4 + 0xc0e], al
mov eax, 1
dec r9d
mov word [rsp + r11*2 + 0xac], ax
mov dword [rsp + 0x58], r9d
jmp 0x14017e5ab
mov eax, dword [rsp + 0x38]
mov word [rsp + 0x62], ax
jmp 0x14017e5ab
mov edi, edi
mov word [rsp + r14*2 + 0xac], si
mov byte [r15 + rdi*4 + 0xc0e], r13b
dec edi
jmp 0x14017e510
mov word [rsp + r14*2 + 0xac], si
mov byte [r15 + rdi*4 + 0xc0e], r13b
dec edi
jmp 0x14017e4e7
mov r11, rsp
lea rcx, [rsp + 0x2ac]
mov r9, qword [rcx - 0x20c]
lea rdx, [rsp + 0x58]
mov rax, qword [rdx + 0x18]
add r9, rax
sub rbp, rax
lea r8, [rsp + 0x5c]
mov qword [r11 + 0x20], rbp
mov dword [rdx], 0x23
mov qword [rdx + 0x20], r10
call fcn.14017b8f0
mov r10, qword [rsp + 0x78]
mov r8, rax
cmp r8, 0xffffffffffffff88
ja 0x14017dfd1
mov r11d, dword [rsp + 0x5c]
cmp r11d, 9
ja 0x14017dfd1
mov ebp, 1
mov ecx, r11d
mov eax, dword [rsp + 0x58]
shl ebp, cl
mov dword [rsp + 0x48], ebp
lea r9d, [rax + 1]
lea edx, [rbp - 1]
mov dword [rsp + 0x50], edx
cmp eax, 0xff
ja 0x14017ea1d
mov eax, 1
lea ecx, [r11 + 0x1f]
mov dword [rsp + 0x40], eax
shl eax, cl
mov word [rsp + 0x60], r11w
mov dword [rsp + 0x38], eax
test r9d, r9d
je 0x14017e916
mov ebp, r9d
mov eax, 1
mov dword [rsp + 0x30], 0
shr ebp, 1
je 0x14017e8d3
movsx rax, word [rsp + 0x38]
mov edi, dword [rsp + 0x30]
mov r12d, dword [rsp + 0x40]
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x98], rsi
mov esi, 1
mov qword [rsp + 0x90], r14
mov qword [rsp + 0x88], rbx
xor ebx, ebx
lea r13d, [rdi + rdi]
mov r14d, r13d
movsx ecx, word [rsp + r14*2 + 0x2ac]
cmp ecx, 0xffffffff
je 0x14017ea8b
cmp ecx, eax
mov word [rsp + r14*2 + 0xac], cx
cmovge r12d, ebx
lea r13d, [rdi + rdi + 1]
mov r14d, r13d
movsx ecx, word [rsp + r14*2 + 0x2ac]
cmp ecx, 0xffffffff
je 0x14017ea74
cmp ecx, eax
mov word [rsp + r14*2 + 0xac], cx
cmovge r12d, ebx
inc edi
cmp edi, ebp
jb 0x14017e840
mov dword [rsp + 0x30], edi
mov eax, edi
mov dword [rsp + 0x40], r12d
mov r13, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x98]
lea eax, [rax + rax + 1]
mov r14, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x88]
mov r12, qword [rsp + 0x420]
mov rdi, qword [rsp + 0x418]
dec eax
cmp eax, r9d
jae 0x14017ea66
mov ebp, eax
movsx ecx, word [rsp + rbp*2 + 0x2ac]
cmp ecx, 0xffffffff
je 0x14017ea42
mov eax, dword [rsp + 0x38]
cmp cx, ax
jl 0x14017e903
xor eax, eax
mov word [rsp + 0x62], ax
jmp 0x14017e90c
mov eax, dword [rsp + 0x40]
mov word [rsp + 0x62], ax
mov word [rsp + rbp*2 + 0xac], cx
jmp 0x14017e920
mov eax, 1
mov word [rsp + 0x62], ax
mov eax, dword [rsp + 0x60]
mov dword [r15], eax
mov ebp, dword [rsp + 0x48]
mov eax, ebp
shr eax, 1
shr ebp, 3
lea ebp, [rax + rbp + 3]
xor eax, eax
xor ecx, ecx
test r9d, r9d
je 0x14017e9bc
mov qword [rsp + 0x98], rsi
mov qword [rsp + 0x90], r14
xor r14d, r14d
mov qword [rsp + 0x88], rbx
mov edi, dword [rsp + 0x50]
mov esi, r14d
movsx ebx, word [rsp + rcx*2 + 0x2ac]
test ebx, ebx
jle 0x14017e988
mov byte [r15 + rax*4 + 6], cl
add eax, ebp
and eax, edi
cmp eax, edx
jbe 0x14017e982
add eax, ebp
and eax, edi
cmp eax, edx
ja 0x14017e97a
inc esi
cmp esi, ebx
jl 0x14017e96d
nop word [rax + rax]
inc ecx
cmp ecx, r9d
jb 0x14017e95e
mov rdi, qword [rsp + 0x418]
mov rsi, qword [rsp + 0x98]
mov r14, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x88]
test eax, eax
jne 0x14017ea19
xor edx, edx
cmp dword [rsp + 0x48], 0
jbe 0x14017ea15
xor ebp, ebp
mov qword [rsp + 0x88], rbx
mov eax, dword [rsp + 0x48]
movzx ecx, byte [r15 + rdx*4 + 6]
inc ebp
movzx ebx, word [rsp + rcx*2 + 0xac]
lea r9d, [rbx + 1]
mov word [rsp + rcx*2 + 0xac], r9w
bsr ecx, ebx
neg ecx
add ecx, r11d
mov byte [r15 + rdx*4 + 7], cl
shl ebx, cl
sub ebx, eax
mov word [r15 + rdx*4 + 4], bx
mov edx, ebp
cmp ebp, eax
jb 0x14017e9d3
mov rbx, qword [rsp + 0x88]
xor al, al
jmp 0x14017ea1f
mov al, 0xff
jmp 0x14017ea1f
mov al, 0xd2
cmp al, 0x88
ja 0x14017dfd1
add r13, r10
add r13, qword [rsp + 0x70]
mov dword [r15 + 0x5458], 1
add r13, r8
jmp 0x14017dfd8
mov edx, edx
mov ecx, dword [rsp + 0x40]
mov word [rsp + 0x62], cx
mov byte [r15 + rdx*4 + 6], al
mov eax, 1
mov word [rsp + rbp*2 + 0xac], ax
dec edx
jmp 0x14017e920
mov eax, dword [rsp + 0x40]
mov word [rsp + 0x62], ax
jmp 0x14017e920
mov edx, edx
mov word [rsp + r14*2 + 0xac], si
mov byte [r15 + rdx*4 + 6], r13b
dec edx
jmp 0x14017e891
mov word [rsp + r14*2 + 0xac], si
mov byte [r15 + rdx*4 + 6], r13b
dec edx
jmp 0x14017e868