Function at 0x14003dcd9
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, 0x68
mov ebp, r9d
mov rdi, r8
mov r15, rdx
mov r14, rcx
mov rsi, qword [rsp + 0xd0]
test rdx, rdx
je 0x14003dd57
mov rax, qword [r15]
lea rcx, [0x140040c0f]
mov qword [rsp + 0x30], rcx
cmp word [rax + 8], 0xd
ja 0x14003dd87
mov rcx, qword [r15 + 8]
movzx ecx, word [rcx + 8]
mov rdx, qword [rax + 0x18]
cmp byte [rdx], 0
sete dl
setne bl
add bl, bl
dec bl
add dl, dl
dec dl
mov byte [r15 + 0x14], bl
mov byte [r15 + 0x15], dl
test cl, 4
jne 0x14003dd7b
test cl, 0x19
jne 0x14003dd87
cmp qword [rax + 0x20], 0
jne 0x14003dd87
lea rax, [0x140040b1c]
jmp 0x14003dd82
cmp byte [r14], 0
jne 0x14003ddd7
movzx ecx, byte [r14 + 1]
test cl, 2
je 0x14003ddd7
mov rax, qword [r14 + 0x30]
cmp rax, rdi
jne 0x14003dd8e
mov dword [rsi], 0
jmp 0x14003e08d
lea rax, [0x140040a00]
mov qword [rsp + 0x30], rax
mov byte [r15 + 0x13], 0
jmp 0x14003ddde
cmp rax, rdi
jge 0x14003ddd7
test cl, 8
jne 0x14003e087
inc rax
cmp rax, rdi
jne 0x14003ddd7
mov dword [rsi], 0
mov rcx, r14
xor edx, edx
call fcn.14003e193
cmp eax, 0x65
je 0x14003ddd7
mov ebx, eax
test eax, eax
jne 0x14003e165
mov rcx, r14
call fcn.140035042
xor ebx, ebx
cmp qword [r14 + 0x30], rdi
je 0x14003e165
xor eax, eax
mov qword [rsp + 0x30], rax
mov rcx, r14
call fcn.1400407db
cmp eax, 0x10
je 0x14003e087
mov ebx, eax
test eax, eax
jne 0x14003e165
mov ecx, 1
sub ecx, ebp
lea rax, [r14 + 0x30]
mov qword [rsp + 0x50], rax
mov rsi, qword [rsp + 0x30]
mov qword [rsp + 0x48], rdi
mov dword [rsp + 0x3c], ecx
mov rbp, qword [r14 + 0x88]
movzx edi, word [rbp + 0x16]
dec edi
mov r13d, edi
sar r13d, cl
mov word [r14 + 0x56], r13w
test rsi, rsi
je 0x14003df81
mov qword [rsp + 0x40], rdi
xor r12d, r12d
mov rax, qword [rbp + 0x60]
mov rdx, qword [rbp + 0x68]
movzx ecx, word [rbp + 0x18]
movsxd rbx, r13d
movzx edi, byte [rax + rbx*2]
shl edi, 8
movzx ebx, byte [rax + rbx*2 + 1]
or ebx, edi
and ebx, ecx
lea rax, [rdx + rbx]
inc rax
movzx ecx, byte [rax - 1]
cmp cl, byte [rbp + 0xb]
jbe 0x14003df3e
add rdx, rbx
movzx eax, byte [rax]
test al, al
js 0x14003de91
and ecx, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [rbp + 0xe]
cmp ecx, eax
jbe 0x14003df43
mov rsi, r15
movzx eax, byte [rbp + 0xa]
sub rdx, rax
mov rcx, rbp
mov rdi, qword [rsp + 0x50]
mov r8, rdi
call qword [rbp + Ordinal_133]
mov r15, qword [rdi]
cmp r15d, 2
jl 0x14003e0c8
mov rcx, qword [r14 + 0x20]
mov eax, r15d
xor edx, edx
div dword [rcx + 0x34]
cmp eax, dword [rcx + 0x3c]
ja 0x14003e0c8
mov qword [rsp + 0x58], r12
mov r12, r14
mov eax, r15d
add eax, 0x12
movsxd rcx, eax
call fcn.140026322
test rax, rax
je 0x14003e13f
mov r14, rax
mov rdi, r12
mov word [r12 + 0x56], r13w
mov rcx, r12
xor edx, edx
mov r8d, r15d
mov r9, rax
call fcn.140035088
and byte [r12 + 1], 0xfb
test eax, eax
jne 0x14003e146
mov ecx, r15d
mov rdx, r14
mov r15, rsi
mov r8, rsi
mov rsi, qword [rsp + 0x30]
call rsi
mov ebx, eax
mov rcx, r14
call fcn.14002644e
mov r14, r12
mov r12, qword [rsp + 0x58]
jmp 0x14003df4e
mov rdx, rax
jmp 0x14003df47
add rdx, 2
mov r8, r15
call rsi
mov ebx, eax
test ebx, ebx
mov rax, qword [rsp + 0x40]
js 0x14003df63
je 0x14003e0f4
lea eax, [r13 - 1]
jmp 0x14003df67
lea r12d, [r13 + 1]
cmp r12d, eax
jg 0x14003e01e
mov qword [rsp + 0x40], rax
lea r13d, [rax + r12]
sar r13d, 1
jmp 0x14003de40
xor r12d, r12d
movzx eax, word [rbp + 0x18]
mov rcx, qword [rbp + 0x60]
movsxd rdx, r13d
movzx ebx, byte [rcx + rdx*2]
shl ebx, 8
movzx ecx, byte [rcx + rdx*2 + 1]
or ecx, ebx
and ecx, eax
add rcx, qword [rbp + 0x68]
cmp byte [rbp + 3], 0
je 0x14003dfbf
cmp byte [rcx], 0
jns 0x14003dfbc
inc rcx
cmp rcx, qword [rbp + 0x58]
jb 0x14003dfa9
jmp 0x14003e094
inc rcx
lea rdx, [rsp + 0x60]
call fcn.1400339ca
mov rax, qword [rsp + 0x60]
cmp rax, qword [rsp + 0x48]
jge 0x14003dfe0
lea r12d, [r13 + 1]
cmp r13d, edi
jl 0x14003dfed
jmp 0x14003dff6
jle 0x14003dffd
cmp r12d, r13d
jge 0x14003e019
dec r13d
mov edi, r13d
lea r13d, [rdi + r12]
sar r13d, 1
jmp 0x14003df84
mov ebx, 0xffffffff
jmp 0x14003e01e
mov word [r14 + 0x56], r13w
cmp byte [rbp + 8], 0
mov rcx, qword [rsp + 0xd0]
jne 0x14003e178
mov r12d, r13d
jmp 0x14003e030
mov ebx, 1
mov rax, qword [rsp + 0xd0]
cmp byte [rbp + 8], 0
jne 0x14003e155
movzx eax, word [rbp + 0x16]
cmp r12d, eax
jge 0x14003e056
movzx ecx, word [rbp + 0x18]
mov rax, qword [rbp + 0x60]
movsxd rdx, r12d
movzx ebx, byte [rax + rdx*2]
shl ebx, 8
movzx eax, byte [rax + rdx*2 + 1]
or eax, ebx
and eax, ecx
jmp 0x14003e05e
movzx eax, byte [rbp + 9]
add rax, 8
mov rcx, qword [rbp + 0x50]
mov edx, dword [rcx + rax]
bswap edx
mov word [r14 + 0x56], r12w
mov rcx, r14
call fcn.140040966
test eax, eax
mov ecx, dword [rsp + 0x3c]
je 0x14003de17
mov ebx, eax
jmp 0x14003e15e
mov dword [rsi], 0xffffffff
xor ebx, ebx
jmp 0x14003e165
lea rax, [0x140149dd4]
mov qword [rsp + 0x20], rax
lea rdx, str.7a2sf2w27v2t2I7__aO
lea r8, [0x14014a700]
mov ebx, reloc.Cabinet.dll_FCIAddFile
mov ecx, reloc.Cabinet.dll_FCIAddFile
mov r9d, 0x10b83
call fcn.14002815a
jmp 0x14003e165
lea rax, [0x140149dd4]
mov qword [rsp + 0x20], rax
lea rdx, str.7a2sf2w27v2t2I7__aO
lea r8, [0x14014a700]
mov ebx, reloc.Cabinet.dll_FCIAddFile
mov ecx, reloc.Cabinet.dll_FCIAddFile
mov r9d, 0x10bcd
jmp 0x14003e138
mov rax, qword [rsp + 0xd0]
mov dword [rax], 0
mov word [r14 + 0x56], r13w
cmp byte [r15 + 0x13], 0
je 0x14003e15c
lea rax, [0x140149dd4]
mov qword [rsp + 0x20], rax
lea rdx, str.7a2sf2w27v2t2I7__aO
lea r8, [0x14014a700]
mov ebx, reloc.Cabinet.dll_FCIAddFile
mov ecx, reloc.Cabinet.dll_FCIAddFile
mov r9d, 0x10bec
call fcn.14002815a
jmp 0x14003e15e
mov ebx, 7
jmp 0x14003e150
mov ebx, eax
mov rcx, r14
call fcn.14002644e
mov r14, r12
jmp 0x14003e15e
mov word [r14 + 0x56], r13w
mov dword [rax], ebx
xor ebx, ebx
mov word [r14 + 0x46], 0
mov eax, ebx
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
or byte [r14 + 1], 2
mov qword [r14 + 0x30], rax
mov word [r14 + 0x46], 0
mov dword [rcx], 0
jmp 0x14003e08d