Function at 0x14000d990
Capabilities:
Enumerate pe sections
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, 0x98
mov rdi, qword [rsp + 0x100]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x20], xmm0
movaps xmmword [rsp + 0x30], xmm0
test r8d, r8d
je 0x14000d9d1
mov r10d, r8d
mov eax, r10d
and eax, 3
cmp r8d, 4
jae 0x14000d9d6
xor r11d, r11d
jmp 0x14000da14
mov r10d, dword [rdi]
jmp 0x14000da48
and r10d, 0xfffffffc
xor r11d, r11d
nop dword [rax]
movzx esi, word [rdx + r11*2]
inc word [rsp + rsi*2 + 0x20]
movzx esi, word [rdx + r11*2 + 2]
inc word [rsp + rsi*2 + 0x20]
movzx esi, word [rdx + r11*2 + 4]
inc word [rsp + rsi*2 + 0x20]
movzx esi, word [rdx + r11*2 + 6]
inc word [rsp + rsi*2 + 0x20]
add r11, 4
cmp r10, r11
jne 0x14000d9e0
test rax, rax
je 0x14000da32
lea r10, [rdx + r11*2]
xor r11d, r11d
movzx esi, word [r10 + r11*2]
inc word [rsp + rsi*2 + 0x20]
inc r11
cmp rax, r11
jne 0x14000da20
movzx ebx, word [rsp + 0x3e]
mov r10d, dword [rdi]
mov esi, 0xf
test bx, bx
jne 0x14000db1b
cmp word [rsp + 0x3c], 0
je 0x14000da5a
mov esi, 0xe
jmp 0x14000db19
cmp word [rsp + 0x3a], 0
je 0x14000da6c
mov esi, 0xd
jmp 0x14000db19
cmp word [rsp + 0x38], 0
je 0x14000da7e
mov esi, 0xc
jmp 0x14000db19
cmp word [rsp + 0x36], 0
je 0x14000da90
mov esi, 0xb
jmp 0x14000db19
cmp word [rsp + 0x34], 0
je 0x14000da9f
mov esi, 0xa
jmp 0x14000db19
cmp word [rsp + 0x32], 0
je 0x14000daae
mov esi, 9
jmp 0x14000db19
cmp word [rsp + 0x30], 0
je 0x14000dabd
mov esi, 8
jmp 0x14000db19
cmp word [rsp + 0x2e], 0
je 0x14000dacc
mov esi, 7
jmp 0x14000db19
cmp word [rsp + 0x2c], 0
je 0x14000dadb
mov esi, 6
jmp 0x14000db19
cmp word [rsp + 0x2a], 0
je 0x14000daea
mov esi, 5
jmp 0x14000db19
cmp word [rsp + 0x28], 0
je 0x14000daf9
mov esi, 4
jmp 0x14000db19
cmp word [rsp + 0x26], 0
je 0x14000db08
mov esi, 3
jmp 0x14000db19
cmp word [rsp + 0x24], 0
je 0x14000e11d
mov esi, 2
xor ebx, ebx
mov eax, esi
cmp r10d, esi
cmovae r10d, esi
mov edi, 1
nop dword [rax]
cmp word [rsp + rdi*2 + 0x20], 0
jne 0x14000db47
inc rdi
cmp rax, rdi
jne 0x14000db30
mov bpl, 1
mov edi, eax
jmp 0x14000db4a
mov bpl, 1
cmp r10d, edi
cmovbe r10d, edi
movzx r14d, word [rsp + 0x22]
mov eax, 0xffffffff
cmp r14d, 2
ja 0x14000e0a1
movzx r15d, word [rsp + 0x24]
lea r11d, [r15 + r14*2]
cmp r11d, 4
ja 0x14000e0a1
movzx r12d, word [rsp + 0x26]
lea r11d, [r12 + r11*2]
cmp r11d, 8
ja 0x14000e0a1
movzx r13d, word [rsp + 0x28]
lea r11d, [r13 + r11*2]
cmp r11d, 0x10
jg 0x14000e0a1
mov qword [rsp + 0x88], r13
mov qword [rsp + 0x90], r9
movzx r9d, word [rsp + 0x2a]
lea r13d, [r9 + r11*2]
mov r11d, 0x20
sub r11d, r13d
js 0x14000e0a1
add r11d, r11d
movzx r13d, word [rsp + 0x2c]
sub r11d, r13d
js 0x14000e0a1
mov dword [rsp + 0x1c], r13d
add r11d, r11d
movzx r13d, word [rsp + 0x2e]
mov dword [rsp + 0x18], r13d
sub r11d, r13d
js 0x14000e0a1
add r11d, r11d
movzx r13d, word [rsp + 0x30]
sub r11d, r13d
js 0x14000e0a1
mov dword [rsp + 0x58], r13d
add r11d, r11d
movzx r13d, word [rsp + 0x32]
mov dword [rsp + 0x44], r13d
sub r11d, r13d
js 0x14000e0a1
add r11d, r11d
movzx r13d, word [rsp + 0x34]
sub r11d, r13d
js 0x14000e0a1
mov dword [rsp + 0x48], r13d
add r11d, r11d
movzx r13d, word [rsp + 0x36]
mov dword [rsp + 0x50], r13d
sub r11d, r13d
js 0x14000e0a1
add r11d, r11d
movzx r13d, word [rsp + 0x38]
sub r11d, r13d
js 0x14000e0a1
mov dword [rsp + 0x14], r13d
add r11d, r11d
movzx r13d, word [rsp + 0x3a]
mov dword [rsp + 0x10], r13d
sub r11d, r13d
js 0x14000e0a1
add r11d, r11d
movzx r13d, word [rsp + 0x3c]
sub r11d, r13d
js 0x14000e0a1
add r11d, r11d
movzx ebx, bx
cmp r11d, ebx
jb 0x14000e0a1
test ecx, ecx
sete byte [rsp + 0xf]
cmp r11d, ebx
je 0x14000dcbc
or byte [rsp + 0xf], bpl
jne 0x14000e0a1
add r15d, r14d
mov word [rsp + 0x62], 0
mov word [rsp + 0x64], r14w
add r12d, r15d
mov word [rsp + 0x66], r15w
mov rax, qword [rsp + 0x88]
add eax, r12d
mov word [rsp + 0x68], r12w
add r9d, eax
mov word [rsp + 0x6a], ax
mov r11d, dword [rsp + 0x1c]
add r11d, r9d
mov word [rsp + 0x6c], r9w
mov eax, dword [rsp + 0x18]
add eax, r11d
mov word [rsp + 0x6e], r11w
mov r9d, dword [rsp + 0x58]
add r9d, eax
mov word [rsp + 0x70], ax
mov eax, dword [rsp + 0x44]
add eax, r9d
mov word [rsp + 0x72], r9w
mov r9d, dword [rsp + 0x48]
add r9d, eax
mov word [rsp + 0x74], ax
mov eax, dword [rsp + 0x50]
add eax, r9d
mov word [rsp + 0x76], r9w
mov r9d, dword [rsp + 0x14]
add r9d, eax
mov word [rsp + 0x78], ax
mov eax, dword [rsp + 0x10]
add eax, r9d
mov word [rsp + 0x7a], r9w
add r13d, eax
mov word [rsp + 0x7c], ax
mov word [rsp + 0x7e], r13w
test r8d, r8d
je 0x14000dda6
mov r11d, r8d
cmp r8d, 1
jne 0x14000e0b5
xor eax, eax
test r11b, 1
je 0x14000dda6
movzx r8d, word [rdx + rax*2]
test r8, r8
je 0x14000dda6
movzx r9d, word [rsp + r8*2 + 0x60]
lea r11d, [r9 + 1]
mov word [rsp + r8*2 + 0x60], r11w
mov r8, qword [rsp + 0x108]
mov word [r8 + r9*2], ax
test ecx, ecx
je 0x14000ddf2
cmp ecx, 1
jne 0x14000e05a
mov eax, 1
cmp r10d, 9
ja 0x14000e0a1
mov al, 1
mov dword [rsp + 0x10], eax
mov dword [rsp + 0x18], 0x101
lea rax, [0x140035a30]
mov qword [rsp + 0x58], rax
lea rax, [0x1400359f0]
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x14], 0
jmp 0x14000de1c
mov dword [rsp + 0x18], 0x14
mov dword [rsp + 0x14], 0
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x10], 0
mov eax, 1
mov ecx, r10d
shl eax, cl
mov qword [rsp + 0x48], rax
dec eax
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0x90]
mov r13, qword [rax]
mov dword [rsp + 0x1c], 0xffffffff
xor r12d, r12d
mov ecx, r10d
xor r8d, r8d
xor ebp, ebp
mov eax, 1
shl eax, cl
mov dword [rsp + 0x88], eax
mov eax, edi
sub eax, r8d
mov ecx, r12d
mov r9, qword [rsp + 0x108]
movzx r11d, word [r9 + rcx*2]
movzx ecx, r11w
lea r9d, [rcx + 1]
mov ebx, dword [rsp + 0x18]
cmp r9d, ebx
jae 0x14000de87
xor ebx, ebx
jmp 0x14000deac
mov r9d, ebx
cmp ebx, ecx
jbe 0x14000de95
mov bl, 0x60
xor r11d, r11d
jmp 0x14000deac
sub ecx, r9d
mov r9, qword [rsp + 0x58]
movzx ebx, byte [r9 + rcx*2]
mov r9, qword [rsp + 0x50]
movzx r11d, word [r9 + rcx*2]
mov r15d, 0xffffffff
mov ecx, eax
shl r15d, cl
mov r14d, ebp
mov ecx, r8d
shr r14d, cl
add r14d, r15d
mov ecx, dword [rsp + 0x88]
nop word [rax + rax]
lea r9d, [r14 + rcx]
mov byte [r13 + r9*4], bl
mov byte [r13 + r9*4 + 1], al
mov word [r13 + r9*4 + 2], r11w
add ecx, r15d
jne 0x14000ded0
lea ecx, [rdi - 1]
mov r11d, 1
shl r11d, cl
nop word cs:[rax + rax]
mov ecx, r11d
shr r11d, 1
test ecx, ebp
jne 0x14000df00
lea r9d, [rcx - 1]
and r9d, ebp
add r9d, ecx
cmp ecx, 1
mov ebp, r9d
mov ecx, 0
cmovb ebp, ecx
inc r12d
mov ecx, edi
dec word [rsp + rcx*2 + 0x20]
jne 0x14000df49
cmp edi, esi
je 0x14000e01f
mov eax, r12d
mov rcx, qword [rsp + 0x108]
movzx eax, word [rcx + rax*2]
movzx edi, word [rdx + rax*2]
cmp edi, r10d
jbe 0x14000de5d
mov ebx, ebp
and ebx, dword [rsp + 0x44]
cmp ebx, dword [rsp + 0x1c]
je 0x14000de5d
test r8d, r8d
cmove r8d, r10d
mov ecx, edi
sub ecx, r8d
mov eax, 1
shl eax, cl
cmp edi, esi
jae 0x14000dfa5
mov ecx, esi
sub ecx, r8d
mov r11d, edi
movzx r9d, word [rsp + r11*2 + 0x20]
sub eax, r9d
jle 0x14000df98
add eax, eax
inc r11
cmp r11d, esi
jb 0x14000df81
jmp 0x14000df9e
sub r11d, r8d
mov ecx, r11d
mov eax, 1
shl eax, cl
mov r11, qword [rsp + 0x48]
add r11d, eax
cmp r11d, 0x355
setae r9b
mov qword [rsp + 0x48], r11
cmp r11d, 0x251
setae r11b
mov eax, 1
test byte [rsp + 0x10], r9b
jne 0x14000e0a1
and r11b, byte [rsp + 0x14]
jne 0x14000e0a1
mov eax, dword [rsp + 0x88]
lea r13, [r13 + rax*4]
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
mov r9d, ebx
mov byte [rax + r9*4], cl
mov byte [rax + r9*4 + 1], r10b
mov r11d, r13d
sub r11d, eax
shr r11d, 2
mov word [rax + r9*4 + 2], r11w
mov dword [rsp + 0x1c], ebx
jmp 0x14000de4f
test ebp, ebp
je 0x14000e038
mov ecx, ebp
mov byte [r13 + rcx*4], 0x40
mov byte [r13 + rcx*4 + 1], al
mov word [r13 + rcx*4 + 2], 0
mov eax, dword [rsp + 0x48]
shl rax, 2
mov rcx, qword [rsp + 0x90]
add qword [rcx], rax
mov rax, qword [rsp + 0x100]
mov dword [rax], r10d
xor eax, eax
jmp 0x14000e0a1
mov dword [rsp + 0x18], 0
lea rax, [0x140035ab0]
mov qword [rsp + 0x58], rax
lea rax, [0x140035a70]
mov qword [rsp + 0x50], rax
cmp ecx, 2
sete al
mov dword [rsp + 0x14], eax
jne 0x14000de14
mov eax, 1
mov dword [rsp + 0x10], 0
cmp r10d, 9
jbe 0x14000de1c
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r8d, r11d
and r8d, 0xfffffffe
xor eax, eax
jmp 0x14000e0cd
add rax, 2
cmp r8, rax
je 0x14000dd79
movzx ebx, word [rdx + rax*2]
test rbx, rbx
je 0x14000e0f2
movzx r9d, word [rsp + rbx*2 + 0x60]
lea ebp, [r9 + 1]
mov word [rsp + rbx*2 + 0x60], bp
mov rbx, qword [rsp + 0x108]
mov word [rbx + r9*2], ax
movzx ebx, word [rdx + rax*2 + 2]
test rbx, rbx
je 0x14000e0c0
movzx r9d, word [rsp + rbx*2 + 0x60]
lea ebp, [r9 + 1]
mov word [rsp + rbx*2 + 0x60], bp
lea ebx, [rax + 1]
mov r14, qword [rsp + 0x108]
mov word [r14 + r9*2], bx
jmp 0x14000e0c0
cmp word [rsp + 0x22], 0
je 0x14000e143
xor eax, eax
test r10d, r10d
setne al
mov esi, 1
xor ebp, ebp
mov r10d, eax
xor ebx, ebx
mov edi, 1
jmp 0x14000db4a
mov rax, qword [r9]
lea rcx, [rax + 4]
mov qword [r9], rcx
mov dword [rax], 0x140
mov rax, qword [r9]
lea rcx, [rax + 4]
mov qword [r9], rcx
mov dword [rax], 0x140
mov r10d, 1
jmp 0x14000e04b