Function at 0x14033f380
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
mov rax, qword [rdx + 0x148]
mov r15d, dword [rdx + 0x34]
mov ebp, dword [rdx + 0x38]
mov rdi, qword [rcx]
mov qword [rcx + 0xb0], rax
mov rbx, rcx
mov r12, rdx
movzx eax, word [rdx + 0x130]
mov qword [rdx + 0x148], 0
add ebp, r15d
test r15d, r15d
mov word [rsp + 0x2e], ax
mov eax, dword [rdx + 0x88]
mov dword [rsp + 0x6c], eax
jne 0x14033f3e1
test ebp, ebp
setg al
cmp al, 1
sbb ebp, 0xffffffff
mov eax, dword [rbx + 0x90]
lea rdx, [rsp + 0x6c]
mov rcx, rbx
mov esi, dword [r12 + 0x3c]
lea eax, [rax + rax*2]
shl eax, 3
sub esi, eax
movsxd r14, eax
add r14, qword [rbx + 0x88]
call fcn.1402c0e20
and esi, 0xfffffff8
xor eax, eax
cmp byte [r12 + 0x20], 0
movsxd rsi, esi
je 0x14033f424
cmp byte [r12 + 0x21], 0
setne al
shl eax, 5
mov edx, eax
movzx eax, byte [rbx + 0xc8]
and eax, 0xffffffdf
or eax, edx
mov byte [rbx + 0xc8], al
movzx edx, byte [r12 + 0x133]
test dl, dl
je 0x14033f603
mov ecx, 0xa
mov r12, qword [rbx]
cmp ebp, ecx
cmovl ebp, ecx
mov ecx, edx
and eax, 0xfffffff3
and ecx, 3
shl ecx, 2
or eax, ecx
cmp dl, 2
mov byte [rbx + 0xc8], al
movzx eax, word [rbx + 0xc0]
je 0x14033f8a0
test ax, ax
je 0x14033f4a9
mov rcx, qword [rbx + 0x98]
test rcx, rcx
je 0x14033f4a9
lea edx, [rax + rax*4]
call fcn.1402b8520
mov rdx, qword [rbx + 0x98]
test rdx, rdx
je 0x14033f4a9
mov rcx, r12
call fcn.1402e3440
mov eax, 8
mov edx, 0x8c0
mov rcx, r12
mov word [rbx + 0xc0], ax
call fcn.1402e35d0
test rax, rax
mov qword [rbx + 0x98], rax
je 0x14033f4f7
lea rdx, [rax + 0x8c0]
nop dword [rax]
mov r13d, 1
mov qword [rax + 0x18], r12
add rax, 0x38
mov word [rax - 0x24], r13w
mov dword [rax - 0x18], 0
cmp rdx, rax
jne 0x14033f4d8
mov dword [rsp + 0x38], 8
xor r12d, r12d
add r12d, 1
xor r13d, r13d
mov qword [rsp + 0x48], rsi
mov rsi, rbx
movsxd r12, r12d
mov rbx, r13
mov qword [rsp + 0x40], r14
mov dword [rsp + 0x58], ebp
mov r13, r12
mov qword [rsp + 0x50], rdi
mov dword [rsp + 0x5c], r15d
lea rax, [0x140479f78]
mov rdi, qword [rax + r13*8]
mov rax, qword [rsi]
cmp byte [rax + 0x67], 0
jne 0x14033f5e8
mov r12, qword [rsi + 0x98]
add r12, rbx
movzx ebp, word [r12 + 0x14]
and bp, 0x9000
test rdi, rdi
je 0x14033f800
mov r14, qword [r12 + 0x18]
mov r15d, 0x3b9aca00
test r14, r14
je 0x14033f57a
movsxd r15, dword [r14 + 0x88]
mov rcx, rdi
call sub.msvcrt.dll_strlen
cmp rax, r15
jg 0x14033f820
test bp, bp
jne 0x14033f59a
mov r11d, dword [r12 + 0x20]
test r11d, r11d
je 0x14033f5ac
mov rcx, r12
mov qword [rsp + 0x30], rax
call fcn.140374650
mov rax, qword [rsp + 0x30]
mov r10d, 0x2202
mov qword [r12 + 8], rdi
mov qword [r12 + 0x30], 0
mov dword [r12 + 0x10], eax
mov word [r12 + 0x14], r10w
mov byte [r12 + 0x16], 1
cmp dword [rsp + 0x38], r13d
jle 0x14033f5e8
add r13, 1
add rbx, 0x38
jmp 0x14033f52d
mov rbx, rsi
mov r14, qword [rsp + 0x40]
mov ebp, dword [rsp + 0x58]
mov rdi, qword [rsp + 0x50]
mov r15d, dword [rsp + 0x5c]
mov rsi, qword [rsp + 0x48]
and byte [rbx + 0xc8], 0xfc
movsxd r9, ebp
imul r9, r9, 0x38
cmp rsi, r9
jl 0x14033f890
sub rsi, r9
xor edx, edx
lea rax, [r14 + rsi]
movsx r8, word [rsp + 0x2e]
mov qword [rbx + 0x68], rax
imul r8, r8, 0x38
cmp r8, rsi
jg 0x14033f880
sub rsi, r8
lea rcx, [r14 + rsi]
movsxd r13, dword [rsp + 0x6c]
mov qword [rbx + 0x80], rcx
shl r13, 3
cmp r13, rsi
jg 0x14033f870
sub rsi, r13
lea r10, [r14 + rsi]
movsxd r12, r15d
mov qword [rbx + 0x70], r10
shl r12, 3
cmp r12, rsi
jg 0x14033f860
sub rsi, r12
add rsi, r14
test rdx, rdx
mov qword [rbx + 0x78], rsi
jne 0x14033f6f0
cmp byte [rdi + 0x67], 0
je 0x14033f774
xor r9d, r9d
mov qword [rbx + 0x24], 0
mov word [rbx + 0x20], r9w
mov eax, 0xffffff02
mov byte [rbx + 0xc5], 1
mov word [rbx + 0xc2], ax
movabs rax, 0xffffffff00000001
mov qword [rbx + 0x2c], rax
mov qword [rbx + 0x34], 0
mov qword [rbx + 0x3c], 0
mov qword [rbx + 0x50], 0
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rdi
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x30], rdx
call fcn.1402e35d0
mov rdx, qword [rsp + 0x30]
mov qword [rbx + 0x100], rax
cmp byte [rdi + 0x67], 0
mov r10, rax
mov r9, qword [rsp + 0x38]
mov r8, qword [rsp + 0x40]
jne 0x14033f68e
mov rax, qword [rbx + 0x68]
test rax, rax
je 0x14033f9b8
mov rcx, qword [rbx + 0x80]
mov qword [rbx + 0x68], rax
test rcx, rcx
je 0x14033f9a0
mov r8, qword [rbx + 0x70]
mov qword [rbx + 0x80], rcx
test r8, r8
je 0x14033f988
mov rsi, qword [rbx + 0x78]
mov qword [rbx + 0x70], r8
test rsi, rsi
je 0x14033f970
mov qword [rbx + 0x78], rsi
movzx edx, word [rsp + 0x2e]
mov dword [rbx + 0x28], r15d
test dx, dx
mov word [rbx + 0x20], dx
jle 0x14033f7b7
movsx edx, word [rsp + 0x2e]
imul rdx, rdx, 0x38
add rdx, rcx
nop word [rax + rax]
mov r8d, 1
mov qword [rcx + 0x18], rdi
add rcx, 0x38
mov word [rcx - 0x24], r8w
mov dword [rcx - 0x18], 0
cmp rdx, rcx
jne 0x14033f798
test ebp, ebp
mov dword [rbx + 0x24], ebp
jle 0x14033f7ea
mov ebp, ebp
imul rbp, rbp, 0x38
add rbp, rax
nop word [rax + rax]
xor edx, edx
mov qword [rax + 0x18], rdi
add rax, 0x38
mov word [rax - 0x24], dx
mov dword [rax - 0x18], 0
cmp rbp, rax
jne 0x14033f7d0
mov r8, r12
xor edx, edx
mov rcx, rsi
call sub.msvcrt.dll_memset
jmp 0x14033f69e
test bp, bp
jne 0x14033f920
mov ebp, 1
mov word [r12 + 0x14], bp
jmp 0x14033f5d1
test bp, bp
jne 0x14033f930
mov edi, 1
mov word [r12 + 0x14], di
test r14, r14
je 0x14033f5d1
mov rax, qword [r14 + 0x160]
test rax, rax
je 0x14033f5d1
add dword [rax + 0x30], 1
mov dword [rax + 0x18], 0x12
jmp 0x14033f5d1
add rdx, r12
xor esi, esi
jmp 0x14033f67b
add rdx, r13
xor r10d, r10d
jmp 0x14033f661
add rdx, r8
xor ecx, ecx
jmp 0x14033f641
mov rdx, r9
xor eax, eax
jmp 0x14033f623
test ax, ax
je 0x14033f8b5
mov rcx, qword [rbx + 0x98]
test rcx, rcx
jne 0x14033f942
mov r8d, 4
mov edx, 0x460
mov rcx, r12
mov word [rbx + 0xc0], r8w
call fcn.1402e35d0
test rax, rax
mov qword [rbx + 0x98], rax
je 0x14033f905
lea rdx, [rax + 0x460]
nop dword [rax + rax]
mov ecx, 1
mov qword [rax + 0x18], r12
add rax, 0x38
mov word [rax - 0x24], cx
mov dword [rax - 0x18], 0
cmp rdx, rax
jne 0x14033f8e8
mov dword [rsp + 0x38], 0xc
mov r12d, 8
jmp 0x14033f502
mov rcx, r12
call fcn.140374720
jmp 0x14033f5d1
mov rcx, r12
call fcn.140374720
mov r14, qword [r12 + 0x18]
jmp 0x14033f834
lea edx, [rax + rax*4]
call fcn.1402b8520
mov rdx, qword [rbx + 0x98]
test rdx, rdx
je 0x14033f8b5
mov rcx, r12
call fcn.1402e3440
jmp 0x14033f8b5
mov r8, rdx
sub r8, r12
add r10, r8
cmp r12, rdx
cmovle rsi, r10
jmp 0x14033f770
cmp r13, rdx
jg 0x14033f75f
sub rdx, r13
lea r8, [r10 + rdx]
jmp 0x14033f75f
cmp r8, rdx
jg 0x14033f74b
sub rdx, r8
lea rcx, [r10 + rdx]
jmp 0x14033f74b
cmp r9, rdx
jg 0x14033f737
sub rdx, r9
lea rax, [r10 + rdx]
jmp 0x14033f737