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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x78
xor r11d, r11d
mov rax, qword [rdx + 0x148]
mov ebp, dword [rdx + 0x34]
mov ebx, dword [rdx + 0x38]
mov rdi, qword [rcx]
add ebx, ebp
mov qword [rcx + 0xb0], rax
mov eax, dword [rdx + 0x130]
mov r15, rcx
mov rsi, rdx
mov qword [rdx + 0x148], r11
mov word [rsp + 0x3e], ax
mov eax, dword [rdx + 0x88]
mov dword [rsp + 0x54], eax
test ebp, ebp
jne 0x14047d7cc
test ebx, ebx
setg al
cmp al, 1
sbb ebx, 0xffffffff
imul edx, dword [r15 + 0x90], 0x18
mov rcx, r15
movsxd rax, edx
add rax, qword [r15 + 0x88]
mov qword [rsp + 0x58], rax
mov eax, dword [rsi + 0x3c]
sub eax, edx
lea rdx, [rsp + 0x54]
and eax, 0xfffffff8
cdqe
mov qword [rsp + 0x60], rax
call fcn.14042e350
xor eax, eax
cmp byte [rsi + 0x20], 0
je 0x14047d810
xor eax, eax
cmp byte [rsi + 0x21], 0
setne al
mov edx, eax
mov al, byte [r15 + 0xc8]
shl edx, 5
and eax, 0xffffffdf
or eax, edx
mov byte [r15 + 0xc8], al
mov dl, byte [rsi + 0x133]
test dl, dl
je 0x14047d8ba
mov ecx, 0xa
cmp ebx, ecx
cmovl ebx, ecx
mov ecx, edx
and eax, 0xfffffff3
and ecx, 3
shl ecx, 2
or eax, ecx
mov byte [r15 + 0xc8], al
cmp dl, 2
jne 0x14047d874
mov edx, 4
mov rcx, r15
mov r13d, 0xc
mov r12d, 8
call fcn.14047f2c0
jmp 0x14047d88a
mov edx, 8
mov rcx, r15
mov r13d, 8
xor r12d, r12d
call fcn.14047f2c0
movsxd rsi, r12d
lea r14, str.addr
cmp r13d, esi
jle 0x14047d8ba
xor r10d, r10d
mov r9, qword [r14 + rsi*8]
mov edx, esi
xor r8d, r8d
mov qword [rsp + 0x20], r10
sub edx, r12d
mov rcx, r15
inc rsi
call fcn.14047f280
jmp 0x14047d894
movsxd r14, ebx
and byte [r15 + 0xc8], 0xfc
lea rsi, [rsp + 0x58]
xor r9d, r9d
imul r14, r14, 0x38
mov rcx, rsi
mov qword [rsp + 0x68], r9
mov rdx, r14
call fcn.1403bbe10
movsx r13, word [rsp + 0x3e]
mov qword [r15 + 0x68], rax
imul r13, r13, 0x38
mov rdx, r13
call fcn.1403bbe10
movsxd r12, dword [rsp + 0x54]
mov qword [r15 + 0x80], rax
lea rax, [r12*8]
mov rdx, rax
mov qword [rsp + 0x48], rax
call fcn.1403bbe10
mov qword [r15 + 0x70], rax
movsxd rax, ebp
shl rax, 3
mov rdx, rax
mov qword [rsp + 0x40], rax
call fcn.1403bbe10
mov r12, qword [rsp + 0x68]
mov qword [r15 + 0x78], rax
test r12, r12
je 0x14047d9e3
mov rdx, r12
mov rcx, rdi
call fcn.14044b620
mov qword [rsp + 0x60], r12
mov qword [r15 + 0x100], rax
cmp byte [rdi + 0x67], 0
mov qword [rsp + 0x58], rax
je 0x14047d977
xor r8d, r8d
mov word [r15 + 0x20], 0
mov qword [r15 + 0x24], r8
jmp 0x14047da52
mov rax, qword [r15 + 0x68]
test rax, rax
jne 0x14047d98b
mov rdx, r14
mov rcx, rsi
call fcn.1403bbe10
mov qword [r15 + 0x68], rax
mov rax, qword [r15 + 0x80]
test rax, rax
jne 0x14047d9a6
mov rdx, r13
mov rcx, rsi
call fcn.1403bbe10
mov qword [r15 + 0x80], rax
mov rax, qword [r15 + 0x70]
test rax, rax
jne 0x14047d9c3
mov rdx, qword [rsp + 0x48]
mov rcx, rsi
call fcn.1403bbe10
mov qword [r15 + 0x70], rax
mov rax, qword [r15 + 0x78]
test rax, rax
jne 0x14047d9dd
mov rdx, qword [rsp + 0x40]
mov rcx, rsi
call fcn.1403bbe10
mov qword [r15 + 0x78], rax
jmp 0x14047d9ed
cmp byte [rdi + 0x67], 0
jne 0x14047d964
mov ax, word [rsp + 0x3e]
movsx edx, word [rsp + 0x3e]
mov dword [r15 + 0x28], ebp
mov word [r15 + 0x20], ax
test edx, edx
jle 0x14047da22
mov rax, qword [r15 + 0x80]
xor ecx, ecx
mov word [rax + 0x14], 1
add rax, 0x38
mov qword [rax - 0x20], rdi
mov dword [rax - 0x18], ecx
dec edx
jne 0x14047da0b
mov dword [r15 + 0x24], ebx
test ebx, ebx
jle 0x14047da45
mov rax, qword [r15 + 0x68]
xor edx, edx
mov word [rax + 0x14], 0
add rax, 0x38
mov qword [rax - 0x20], rdi
mov dword [rax - 0x18], edx
dec ebx
jne 0x14047da2e
mov rdi, qword [r15 + 0x78]
mov rcx, qword [rsp + 0x40]
xor eax, eax
rep stosb byte [rdi], al
movabs rax, 0xffffffff00000001
mov byte [r15 + 0xc5], 1
mov qword [r15 + 0x2c], rax
xor eax, eax
mov word [r15 + 0xc2], 0xff02
mov qword [r15 + 0x34], rax
mov qword [r15 + 0x3c], rax
mov qword [r15 + 0x50], rax
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret