Function at 0x14007d413
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, 0xb8
mov rsi, rcx
mov dword [rsp + 0x40], r9d
cmp byte [rcx], 4
jne 0x14007d43b
mov ebx, dword [rsi + 4]
jmp 0x14007db34
mov r15d, r8d
mov rbp, rdx
mov r14, qword [rsi + 8]
mov r12, qword [r14 + 8]
test byte [rsi + 1], 0x20
je 0x14007d46f
mov edx, dword [rsi + 0x50]
mov rcx, qword [r12 + 0x10]
mov r8, rsi
mov edi, r9d
call fcn.1400818f5
mov r9d, edi
mov ebx, eax
test eax, eax
jne 0x14007db34
mov rax, qword [rsi + 0x80]
test rax, rax
je 0x14007d4d2
mov ecx, r15d
and ecx, 2
or ecx, r9d
je 0x14007d5a5
test r9d, r9d
jne 0x14007d52f
mov rcx, rsi
call fcn.140026ae2
mov rax, qword [rsi + 0x30]
cmp rax, qword [rbp + 8]
jne 0x14007d52f
mov rcx, qword [rbp]
lea rdx, [rsp + 0x88]
mov qword [rdx + 0x10], rcx
mov dword [rdx + 0x24], eax
mov dword [rdx + 0x28], 0
mov rcx, rsi
call 0x140084ba3
mov ebx, eax
jmp 0x14007db34
mov edi, r9d
mov r8, qword [rbp + 8]
mov edx, dword [rsi + 0x50]
mov rcx, r14
xor r9d, r9d
call fcn.140081926
test byte [rsi + 1], 2
je 0x14007d527
mov rax, qword [rbp + 8]
cmp rax, qword [rsi + 0x30]
jne 0x14007d527
cmp word [rsi + 0x46], 0
je 0x14007d52f
mov eax, dword [rbp + 0x28]
add eax, dword [rbp + 0x24]
cmp dword [rsi + 0x40], eax
jne 0x14007d52f
mov rcx, rsi
mov rdx, rbp
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x140084ba3
test edi, edi
je 0x14007d646
mov r14, qword [rsi + 0x88]
cmp dword [r14 + 0x14], 0
js 0x14007d58d
mov qword [rsp + 0x80], r12
mov rcx, qword [r12 + 0x60]
movzx ebx, byte [r14 + 0xa]
cmp byte [r14 + 2], 0
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x58], rcx
je 0x14007d5f8
movsxd rdi, dword [rbp + 0x24]
movsxd r13, dword [rbp + 0x28]
add r13, rdi
mov r12, qword [rbp + 0x10]
add rcx, rbx
cmp r13d, 0x7f
ja 0x14007d612
mov byte [rcx], r13b
mov eax, 1
jmp 0x14007d61d
mov rcx, r14
call fcn.140080bdd
mov ebx, eax
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x14007db34
jmp 0x14007d53d
movzx ecx, word [rbp + 0x20]
test cx, cx
je 0x14007da2b
lea rdx, [rsp + 0x88]
mov qword [rdx], rax
mov rax, qword [rbp + 0x18]
mov qword [rdx + 8], rax
mov word [rdx + 0x10], cx
xor r9d, r9d
test r15d, r15d
setne r9b
mov dword [rdx + 0x12], 0
mov byte [rdx + 0x16], 0
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov rcx, rsi
xor r8d, r8d
call fcn.140071132
jmp 0x14007da4f
mov r12, qword [rbp]
mov rdi, qword [rbp + 8]
cmp edi, 0x7f
ja 0x14007d677
mov eax, ebx
mov byte [rcx + rax], dil
mov ecx, 1
jmp 0x14007d685
mov rdx, r13
call fcn.14007cdca
movzx eax, al
mov r14d, eax
add r14, rbx
mov rdx, qword [rbp + 8]
mov rcx, r14
mov rbx, qword [rsp + 0x58]
add rcx, rbx
call fcn.14007cdca
mov r11, rbx
mov ecx, eax
add ecx, r14d
mov r14, qword [rsp + 0x60]
jmp 0x14007d68f
xor r9d, r9d
test r15d, r15d
setne r9b
mov r8, qword [rbp + 8]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov rcx, rsi
xor edx, edx
call fcn.140071132
mov ebx, eax
test eax, eax
jne 0x14007db34
jmp 0x14007d52f
movsxd rdx, edi
add rcx, rbx
call fcn.14007cdca
movzx ecx, al
add ecx, ebx
mov r13d, edi
mov r11, qword [rsp + 0x58]
mov dword [rsp + 0x6c], r15d
movsxd rbx, ecx
add rbx, r11
movzx r8d, word [r14 + 0xe]
cmp r13d, r8d
jle 0x14007d8ad
mov qword [rsp + 0x70], rbp
movzx r9d, word [r14 + 0x10]
mov eax, r13d
sub eax, r9d
mov rbp, qword [r14 + 0x48]
mov r10d, dword [rbp + 0x34]
add r10d, 0xfffffffc
xor edx, edx
div r10d
mov r15d, edx
add r15d, r9d
cmp r15d, r8d
cmovg r15d, r9d
lea eax, [r15 + rcx]
add ecx, r15d
add ecx, 4
mov dword [rsp + 0x3c], ecx
cdqe
add rax, r11
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x44]
mov dword [rax], 0
mov dword [rsp + 0x48], 0
xor eax, eax
mov qword [rsp + 0x50], rax
cmp r13d, r15d
mov r14d, r15d
cmovl r14d, r13d
cmp edi, r14d
jge 0x14007d72e
test edi, edi
jle 0x14007d73e
mov r8d, edi
mov rcx, rbx
mov rdx, r12
call fcn.140201ae0
mov r14d, edi
jmp 0x14007d74b
movsxd r8, r14d
mov rcx, rbx
mov rdx, r12
call fcn.140201ae0
jmp 0x14007d74b
movsxd r8, r14d
mov rcx, rbx
xor edx, edx
call fcn.140202180
sub r13d, r14d
jle 0x14007d8e8
movsxd rax, r14d
add rbx, rax
add r12, rax
sub edi, r14d
sub r15d, r14d
jne 0x14007d708
mov qword [rsp + 0x88], 0
cmp byte [rbp + 0x21], 0
mov r14d, dword [rsp + 0x48]
mov r9d, r14d
je 0x14007d7e9
mov r9d, r14d
mov r11d, 0xcccccccd
mov r8d, r9d
lea r9d, [r8 + 1]
xor eax, eax
cmp r9d, 2
jb 0x14007d7d0
mov r10d, dword [rbp + 0x34]
imul r10, r11
shr r10, 0x22
inc r10d
lea ecx, [r8 - 1]
mov eax, ecx
xor edx, edx
div r10d
sub ecx, edx
mov eax, 0x40000000
xor edx, edx
div dword [rbp + 0x30]
lea edx, [rcx + 1]
xor r10d, r10d
cmp edx, eax
sete r10b
lea eax, [rcx + r10]
add eax, 2
cmp r9d, eax
je 0x14007d788
mov eax, 0x40000000
xor edx, edx
div dword [rbp + 0x30]
cmp r8d, eax
je 0x14007d788
mov dword [rsp + 0x44], r9d
mov byte [rsp + 0x20], 0
mov rcx, rbp
lea rdx, [rsp + 0x88]
lea r8, [rsp + 0x44]
call fcn.14002da0e
mov ebx, eax
mov dword [rsp + 0x4c], eax
cmp byte [rbp + 0x21], 0
je 0x14007d848
test ebx, ebx
jne 0x14007d848
cmp r14d, 1
mov r8b, 4
sbb r8b, 0
mov r15d, dword [rsp + 0x44]
lea rax, [rsp + 0x4c]
mov qword [rsp + 0x20], rax
mov rcx, rbp
mov edx, r15d
mov r9d, r14d
call fcn.14002e7e1
mov ebx, dword [rsp + 0x4c]
test ebx, ebx
je 0x14007d855
jmp 0x14007db8a
test ebx, ebx
jne 0x14007dba0
mov r15d, dword [rsp + 0x44]
mov eax, r15d
bswap eax
mov rcx, qword [rsp + 0x78]
mov dword [rcx], eax
mov rax, qword [rsp + 0x50]
test rax, rax
je 0x14007d874
mov rcx, qword [rax + 0x70]
call fcn.140023b0c
mov dword [rsp + 0x48], r15d
mov rcx, qword [rsp + 0x88]
mov rax, qword [rcx + 0x50]
mov qword [rsp + 0x78], rax
mov dword [rax], 0
mov rax, rcx
mov qword [rsp + 0x50], rcx
mov rbx, qword [rcx + 0x50]
add rbx, 4
mov r15d, dword [rbp + 0x34]
add r15d, 0xfffffffc
jmp 0x14007d708
add ecx, r13d
cmp ecx, 5
mov eax, 4
cmovge eax, ecx
mov dword [rsp + 0x3c], eax
movsxd r15, edi
mov rcx, rbx
mov rdx, r12
mov r8, r15
mov rdi, r11
call fcn.140201ae0
add rbx, r15
sub r13d, r15d
movsxd r8, r13d
mov rcx, rbx
xor edx, edx
call fcn.140202180
jmp 0x14007d90a
mov rax, qword [rsp + 0x50]
test rax, rax
je 0x14007d8fb
mov rcx, qword [rax + 0x70]
call fcn.140023b0c
mov rbp, qword [rsp + 0x70]
mov r14, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
mov dword [rsp + 0x38], 0
movzx r15d, word [rsi + 0x56]
cmp dword [rsp + 0x40], 0
je 0x14007d945
jns 0x14007da84
cmp word [r14 + 0x18], 0
je 0x14007da84
inc r15d
mov word [rsi + 0x56], r15w
movzx r15d, r15w
and byte [rsi + 1], 0xfd
jmp 0x14007da84
mov rcx, qword [r14 + 0x70]
call fcn.140023acb
mov ebx, eax
test eax, eax
jne 0x14007db34
movzx eax, word [r14 + 0x1a]
mov rcx, qword [r14 + 0x60]
movzx edx, byte [rcx + r15*2]
shl edx, 8
movzx ebx, byte [rcx + r15*2 + 1]
or ebx, edx
and ebx, eax
add rbx, qword [r14 + 0x50]
cmp byte [r14 + 8], 0
jne 0x14007d982
mov eax, dword [rbx]
mov dword [rdi], eax
lea r12, [rsp + 0x88]
mov rcx, r14
mov rdx, rbx
mov r8, r12
call fcn.140081961
mov dword [rsp + 0x38], eax
and byte [rsi + 1], 0xfb
movzx r8d, word [r12 + 0x16]
cmp dword [rsp + 0x3c], r8d
jne 0x14007da67
movzx eax, word [rsp + 0x9c]
cmp dword [rsp + 0x98], eax
jne 0x14007da67
mov rax, qword [rsp + 0x80]
cmp byte [rax + 0x21], 0
je 0x14007d9e3
movzx eax, word [r14 + 0x10]
cmp dword [rsp + 0x3c], eax
jge 0x14007da67
mov rax, qword [r14 + 0x50]
movzx ecx, byte [r14 + 9]
add rax, rcx
add rax, 0xa
cmp rbx, rax
jae 0x14007db4a
lea rax, [0x1402a8134]
mov qword [rsp + 0x20], rax
lea rdx, [0x1402a9020]
lea r8, [0x1402a9240]
mov ebx, 0xb
mov ecx, 0xb
mov r9d, 0x119cc
jmp 0x14007db83
xor r9d, r9d
test r15d, r15d
setne r9b
mov rdx, qword [rbp]
mov r8, qword [rbp + 8]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov rcx, rsi
call fcn.140071045
mov ebx, eax
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x14007db34
mov r9d, dword [rsp + 0x40]
jmp 0x14007d48a
lea rbx, [rsp + 0x38]
mov rcx, r14
mov edx, r15d
mov r9, rbx
call fcn.140081b20
mov ebx, dword [rbx]
test ebx, ebx
jne 0x14007db34
lea rax, [rsp + 0x38]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov rcx, r14
mov edx, r15d
mov r8, rdi
mov r9d, dword [rsp + 0x3c]
call fcn.140081c44
mov word [rsi + 0x46], 0
cmp byte [r14 + 0xc], 0
je 0x14007db1e
and byte [rsi + 1], 0xfd
mov rcx, rsi
call fcn.140081f20
mov ebx, eax
mov rax, qword [rsi + 0x88]
mov byte [rax + 0xc], 0
mov byte [rsi], 1
test byte [rsp + 0x6c], 2
je 0x14007db34
test ebx, ebx
jne 0x14007db34
mov rcx, rsi
call fcn.1400269e8
xor ebx, ebx
cmp qword [rsi + 0x80], 0
je 0x14007db29
mov rcx, qword [rbp + 8]
call fcn.140020939
mov qword [rsi + 0x18], rax
test rax, rax
je 0x14007db24
mov rdx, qword [rbp]
mov r8, qword [rbp + 8]
mov rcx, rax
call fcn.140201ae0
jmp 0x14007db29
mov ebx, dword [rsp + 0x38]
jmp 0x14007db34
mov ebx, 7
mov byte [rsi], 3
mov rax, qword [rbp + 8]
mov qword [rsi + 0x48], rax
mov eax, ebx
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r8d, dword [rsp + 0x3c]
lea rax, [rbx + r8]
cmp rax, qword [r14 + 0x58]
jbe 0x14007dbb8
lea rax, [0x1402a8134]
mov qword [rsp + 0x20], rax
lea rdx, [0x1402a9020]
lea r8, [0x1402a9240]
mov ebx, 0xb
mov ecx, 0xb
mov r9d, 0x119cf
call fcn.14001f1b1
jmp 0x14007db34
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x14007dba0
mov rcx, qword [rax + 0x70]
call fcn.140023b0c
mov rax, qword [rsp + 0x50]
test rax, rax
je 0x14007db34
mov rcx, qword [rax + 0x70]
call fcn.140023b0c
jmp 0x14007db34
mov rcx, rbx
mov rdx, rdi
call fcn.140201ae0
xor ebx, ebx
jmp 0x14007db34
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov rsi, rdx
mov r13d, dword [rdx + 0x28]
add r13d, dword [rdx + 0x24]
mov r14, qword [rcx + 0x88]
mov qword [rsp + 0x30], r14
mov rdx, qword [rcx + 0x38]
movzx eax, word [rcx + 0x44]
lea r8, [rdx + rax]
cmp r8, qword [r14 + 0x58]
ja 0x140084bea
movzx r8d, word [r14 + 0x12]
add r8, qword [r14 + 0x50]
cmp rdx, r8
jae 0x140084c2c
lea rax, [0x1402a8134]
mov qword [rsp + 0x20], rax
lea rdx, [0x1402a9020]
lea r8, [0x1402a9240]
mov ebp, 0xb
mov ecx, 0xb
mov r9d, 0x118cc
call fcn.14001f1b1
mov eax, ebp
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rbx, rcx
mov dword [rsp + 0x20], eax
mov rcx, r14
mov r8, rsi
xor r9d, r9d
call fcn.140084d31
mov ebp, eax
test eax, eax
jne 0x140084c19
movzx edi, word [rbx + 0x44]
mov ebp, 0
cmp r13d, edi
je 0x140084c19
mov rax, qword [rbx + 0x38]
mov ecx, edi
mov ebx, dword [rax + rcx]
bswap ebx
mov r14, qword [r14 + 0x48]
mov r15d, dword [r14 + 0x34]
add r15d, 0xfffffffc
mov rcx, r14
mov edx, ebx
lea r8, [rsp + 0x30]
xor r9d, r9d
call fcn.1400268cd
test eax, eax
jne 0x140084d2a
mov r12, qword [rsp + 0x30]
mov rax, qword [r12 + 0x70]
cmp word [rax + 0x36], 1
jne 0x140084cab
lea eax, [r15 + rdi]
cmp eax, r13d
jae 0x140084cdc
mov rdx, qword [r12 + 0x50]
mov ebx, dword [rdx]
bswap ebx
jmp 0x140084ce7
lea rax, [0x1402a8134]
mov qword [rsp + 0x20], rax
mov ebp, 0xb
mov ecx, 0xb
lea rdx, [0x1402a9020]
lea r8, [0x1402a9240]
mov r9d, 0x118df
call fcn.14001f1b1
jmp 0x140084d00
mov r15d, r13d
sub r15d, edi
mov rdx, qword [r12 + 0x50]
add rdx, 4
mov dword [rsp + 0x20], r15d
mov rcx, r12
mov r8, rsi
mov r9d, edi
call fcn.140084d31
mov ebp, eax
mov rcx, qword [r12 + 0x70]
test rcx, rcx
je 0x140084d0f
call fcn.140023b0c
test ebp, ebp
jne 0x140084c19
add edi, r15d
xor ebp, ebp
cmp edi, r13d
jl 0x140084c6c
jmp 0x140084c19
mov ebp, eax
jmp 0x140084c19