Function at 0x14038d500
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, 0x48
mov ebp, dword [r8 + 0x38]
mov r12, qword [rcx + 0x10]
mov rdi, qword [r8 + 0x30]
mov dword [rsp + 0x98], edx
mov r15, rcx
mov qword [rsp + 0xa0], r8
mov dword [rsp + 0xa8], r9d
mov byte [r8], 1
mov dword [rsp + 0x3c], 0
mov dword [rsp + 0x34], 0
test ebp, ebp
jg 0x14038d680
jmp 0x14038d9e0
mov ebp, dword [rbx]
mov rcx, r15
mov edx, ebp
call fcn.14030d180
mov dword [rsp + 0x20], 1
xor r9d, r9d
mov rdx, rbx
mov r8d, eax
mov r13d, eax
call fcn.14038a660
mov r8d, dword [rdi + 0x14]
test r8d, r8d
js 0x14038d5bc
test esi, esi
jne 0x14038d59d
mov eax, dword [r15 + 0x44]
lea esi, [rax - 1]
mov dword [r15 + 0x44], esi
mov dword [rsp + 0x28], r13d
mov edx, dword [rsp + 0xa8]
mov r9d, esi
mov rcx, r15
mov qword [rsp + 0x20], rbx
call fcn.14033d9d0
mov dword [rdi + 0x14], eax
movzx eax, bpl
mov word [rsp + 0x3a], ax
mov rax, qword [rdi + 8]
test byte [rax + 4], 0x20
jne 0x14038d7f8
mov eax, dword [rdi + 0x10]
xor r8d, r8d
mov rcx, r12
mov r9d, r13d
mov edx, 0x9e
mov dword [rsp + 0x20], eax
call fcn.140322f70
mov rcx, qword [r12]
mov r8, qword [rdi + 8]
cmp byte [rcx + 0x63], 0
jne 0x14038d7b0
movsxd rax, dword [r12 + 0x90]
lea rcx, [rax + rax*2]
mov rdx, rax
mov rax, qword [r12 + 0x88]
lea rax, [rax + rcx*8 - 0x18]
mov byte [rax + 1], 0xf8
mov qword [rax + 0x10], r8
test edx, edx
jle 0x14038d643
mov r8, qword [r12 + 0x88]
movsxd rax, edx
movzx ebx, word [rsp + 0x3a]
lea rax, [rax + rax*2]
lea rax, [r8 + rax*8]
mov word [rax - 0x16], bx
cmp ebp, 1
je 0x14038d840
cmp dword [r15 + 0x28], ebp
jge 0x14038d65a
mov dword [r15 + 0x28], ebp
mov dword [r15 + 0x2c], r13d
test esi, esi
jne 0x14038d7d0
mov rsi, qword [rsp + 0xa0]
add dword [rsp + 0x34], 1
add rdi, 0x20
mov eax, dword [rsp + 0x34]
cmp dword [rsi + 0x38], eax
jle 0x14038d880
mov rax, qword [rdi]
xor esi, esi
mov rbx, qword [rax + 0x20]
test byte [rax + 7], 1
je 0x14038d6e7
mov rax, qword [rax + 0x40]
mov r13, qword [rax + 0x48]
mov rax, qword [rsp + 0xa0]
mov esi, dword [rax + 0x2c]
test esi, esi
je 0x14038d6c8
mov rax, qword [rdi + 8]
test byte [rax + 4], 0x20
je 0x14038d6c8
mov r11d, dword [rsp + 0x98]
test r11d, r11d
jne 0x14038d9a0
nop dword [rax]
mov eax, dword [r15 + 0x44]
mov r9d, 0x10
mov rdx, r13
mov rcx, r15
lea esi, [rax - 1]
mov dword [r15 + 0x44], esi
mov r8d, esi
call fcn.1403838c0
test rbx, rbx
jne 0x14038d560
mov rax, qword [rdi + 8]
mov r13d, 0
mov ebp, 0
test byte [rax + 4], 0x20
mov eax, 0
mov word [rsp + 0x3a], ax
je 0x14038d5d3
mov rax, qword [r15]
mov rbx, qword [rax + 0x10]
mov r9d, dword [rsp + 0x3c]
test r9d, r9d
jne 0x14038d746
mov rax, qword [rsp + 0xa0]
mov eax, dword [rax + 0x2c]
mov dword [rsp + 0x3c], eax
test eax, eax
je 0x14038d746
mov eax, dword [r15 + 0x38]
add eax, 1
mov dword [rsp + 0x3c], eax
mov dword [r15 + 0x38], eax
mov edx, dword [r12 + 0x90]
cmp edx, dword [r12 + 0x94]
jge 0x14038da30
lea eax, [rdx + 1]
mov dword [r12 + 0x90], eax
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
lea rax, [rax + rcx*8]
mov ecx, dword [rsp + 0x3c]
mov qword [rax + 8], 0
mov dword [rax + 4], ecx
mov qword [rax + 0x10], 0
mov dword [rax], 0x52
mov r9d, 0xfffffffe
mov r8, rbx
mov rcx, r12
call fcn.14031ddc0
jmp 0x14038d5d3
test byte [r8 + 4], 0x10
jne 0x14038d978
mov edx, dword [r12 + 0x90]
jmp 0x14038d623
mov rcx, qword [r12 + 0x18]
not esi
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x14038d988
mov rax, qword [rcx + 0x50]
movsxd rsi, esi
mov dword [rax + rsi*4], edx
jmp 0x14038d662
lea r8, [rbx + 8]
test ebp, ebp
jle 0x14038d713
xor r14d, r14d
mov rbx, r8
nop word [rax + rax]
mov rdx, qword [rbx]
mov rcx, r15
add r14d, 1
add rbx, 0x20
call fcn.14033ccf0
test rax, rax
jne 0x14038d870
cmp ebp, r14d
jg 0x14038d810
mov rbx, rax
test rax, rax
je 0x14038d713
jmp 0x14038d71a
test r13d, r13d
je 0x14038d65a
movzx eax, byte [r15 + 0x1f]
cmp al, 7
ja 0x14038d65a
lea ecx, [rax + 1]
mov byte [r15 + 0x1f], cl
mov dword [r15 + rax*4 + 0xd0], r13d
jmp 0x14038d65a
mov rbx, rax
jmp 0x14038d71a
mov ecx, dword [rsp + 0x3c]
test ecx, ecx
je 0x14038d9e0
mov esi, dword [r12 + 0x90]
cmp esi, dword [r12 + 0x94]
jge 0x14038daa5
lea eax, [rsi + 1]
mov edi, dword [rsp + 0x3c]
mov dword [r12 + 0x90], eax
movsxd rax, esi
lea rdx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 4], edi
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov dword [rax], 0x12
mov rax, qword [rsp + 0xa0]
mov edx, dword [rax + 0x2c]
mov rbx, qword [rax + 0x20]
test edx, edx
jle 0x14038d951
mov r13, qword [rsp + 0xa0]
xor edi, edi
nop word [rax + rax]
cmp qword [r15 + 0x10], 0
je 0x14038d944
mov ebp, dword [rbx + 0x14]
mov r14, qword [rbx + 8]
mov rcx, r15
mov r8d, ebp
mov rdx, r14
call fcn.140383cc0
mov r8d, eax
cmp ebp, eax
je 0x14038d944
xor edx, edx
test byte [r14 + 6], 0x20
mov rcx, qword [r15 + 0x10]
mov r9d, ebp
mov dword [rsp + 0x20], 0
sete dl
add edx, 0x4d
call fcn.140322f70
add edi, 1
add rbx, 0x20
cmp dword [r13 + 0x2c], edi
jg 0x14038d900
mov rax, qword [rsp + 0xa0]
mov byte [rax], 0
test esi, esi
jne 0x14038da58
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rdx, r8
call fcn.140314ee0
jmp 0x14038d7bb
mov r8d, esi
mov rdx, r12
call fcn.14031ccb0
jmp 0x14038d662
mov r10d, dword [rsp + 0x3c]
test r10d, r10d
jne 0x14038d9b9
mov eax, dword [r15 + 0x38]
add eax, 1
mov dword [rsp + 0x3c], eax
mov dword [r15 + 0x38], eax
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0x3c]
mov edx, 0x4d
mov rcx, r12
mov r8d, dword [rsp + 0x98]
call fcn.140322f70
jmp 0x14038d6c8
mov rax, qword [rsp + 0xa0]
mov edi, dword [rsp + 0x98]
mov eax, dword [rax + 0x2c]
test edi, edi
jne 0x14038da18
mov rdi, qword [rsp + 0xa0]
xor esi, esi
mov rbx, qword [rdi + 0x20]
test eax, eax
jg 0x14038d8f0
mov byte [rdi], 0
jmp 0x14038d964
test eax, eax
je 0x14038d9f6
mov eax, dword [rsp + 0x98]
mov dword [rsp + 0x3c], eax
jmp 0x14038d88c
mov r8d, dword [rsp + 0x3c]
mov edx, 0x52
xor r9d, r9d
mov rcx, r12
mov dword [rsp + 0x20], 0
call fcn.140322ee0
mov edx, eax
jmp 0x14038d797
mov eax, dword [r12 + 0x90]
lea edx, [rax - 1]
cmp esi, edx
jne 0x14038da74
mov dword [r12 + 0x90], esi
jmp 0x14038d964
mov rcx, qword [r12]
test esi, esi
cmovs esi, edx
lea rdx, [0x1407dad80]
cmp byte [rcx + 0x63], 0
jne 0x14038da9d
mov rdx, qword [r12 + 0x88]
movsxd rsi, esi
lea rcx, [rsi + rsi*2]
lea rdx, [rdx + rcx*8]
mov dword [rdx + 8], eax
jmp 0x14038d964
mov r8d, dword [rsp + 0x3c]
xor r9d, r9d
mov edx, 0x12
mov rcx, r12
mov dword [rsp + 0x20], 0
call fcn.140322ee0
mov esi, eax
jmp 0x14038d8dd