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

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x58
mov rdi, qword [rcx + 0x10]
mov rbp, rcx
mov rcx, qword [rdx + 0x40]
movzx r14d, word [rcx + 0x2e]
mov rdx, qword [rcx + 0x20]
mov eax, dword [rbp + 0x54]
mov qword [rsp + 0x40], rcx
movzx ecx, word [rcx + 0x18]
lea r13d, [rax + 1]
lea r15d, [rcx + r9]
mov dword [rsp + 0xb8], ecx
mov rcx, rdi
add eax, r15d
mov dword [rbp + 0x54], eax
call fcn.180031d70
mov rbx, rax
test rax, rax
jne 0x18004f74b
mov qword [rsp + 0x30], rax
jmp 0x18004f790
cmp byte [rbx], 0
je 0x18004f758
inc rax
cmp byte [rax], 0
jne 0x18004f750
mov rcx, qword [rbp]
sub eax, ebx
and eax, 0x3fffffff
inc eax
movsxd rsi, eax
mov rdx, rsi
call fcn.18002e4c0
mov r12, rax
mov qword [rsp + 0x30], rax
test rax, rax
je 0x18004f78b
mov r8, rsi
mov rdx, rbx
mov rcx, rax
call fcn.1800011c0
test r12, r12
jne 0x18004f798
mov rax, qword [rbp]
mov byte [rax + 0x51], 1
mov rsi, qword [rsp + 0xa8]
test r14w, r14w
je 0x18004f8af
mov r12d, dword [rsi + 8]
cmp dword [rsp + 0xb0], 0
mov edx, 0x6c
mov eax, 0x69
mov rcx, rdi
mov r8d, r12d
cmovne edx, eax
xor ebx, ebx
xor r9d, r9d
mov dword [rsp + 0x20], ebx
call fcn.180042780
lea edx, [rbx + 0x10]
xor r9d, r9d
xor r8d, r8d
mov rcx, rdi
mov dword [rsp + 0x20], ebx
call fcn.180042780
cmp dword [rsp + 0xb0], 0
mov ebx, eax
mov edx, 0x41
mov eax, 0x3e
cmovne edx, eax
movzx ebp, r14w
mov r8d, r12d
xor r9d, r9d
mov rcx, rdi
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x20], r13d
call fcn.18004d7b0
mov dword [rsi + 0x14], eax
mov edx, dword [rdi + 0x3c]
cmp edx, ebx
jbe 0x18004f834
mov rax, qword [rdi + 8]
lea rcx, [rbx + rbx*2]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [rdi + 0x3c]
mov rax, qword [rdi + 0x30]
xor ebx, ebx
dec ecx
mov dword [rax + 0x64], ecx
test ebp, ebp
jle 0x18004f8af
nop word [rax + rax]
mov rax, qword [rdi + 0x30]
movsxd rsi, dword [rdi + 0x3c]
cmp dword [rax + 0x60], esi
jg 0x18004f86e
mov edx, 1
mov rcx, rdi
call fcn.18003af10
test eax, eax
jne 0x18004f8a1
mov rcx, qword [rdi + 8]
inc dword [rdi + 0x3c]
lea rdx, [rsi + rsi*2]
lea eax, [rbx + r13]
mov byte [rcx + rdx*8], 0x2f
mov byte [rcx + rdx*8 + 3], 0
mov dword [rcx + rdx*8 + 4], r12d
mov dword [rcx + rdx*8 + 8], ebx
mov qword [rcx + rdx*8 + 0x10], 0
mov dword [rcx + rdx*8 + 0xc], eax
mov byte [rcx + rdx*8 + 1], 0
inc ebx
cmp ebx, ebp
jl 0x18004f850
mov rsi, qword [rsp + 0xa8]
movsxd rcx, r15d
movzx r15d, r14w
movzx eax, r14w
cmp r15d, dword [rsp + 0xb8]
mov qword [rsp + 0x48], rcx
mov rcx, qword [rsp + 0x30]
jge 0x18004fb8a
lea r14, [rax + rcx]
lea rcx, [rax*8]
mov qword [rsp + 0x38], rcx
nop word [rax + rax]
mov rax, qword [rsp + 0x40]
mov r8, rsi
mov rsi, qword [rsp + 0xa0]
mov rax, qword [rax + 0x38]
lea ebx, [r15 + r13]
mov r9d, r15d
mov rbp, qword [rcx + rax]
mov eax, dword [rsp + 0xb0]
mov rcx, rsi
mov rdx, rbp
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], eax
call fcn.1800488c0
mov r12d, eax
cmp eax, ebx
je 0x18004f9ce
cmp qword [rsp + 0x48], 1
jne 0x18004f97d
test r13d, r13d
je 0x18004f978
movzx edx, byte [rsi + 0x1f]
cmp dl, 8
jae 0x18004f978
xor ecx, ecx
lea rax, [rsi + 0x88]
cmp dword [rax + 0xc], r13d
je 0x18004f974
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x18004f953
movzx eax, dl
mov dword [rsi + rax*4 + 0x24], r13d
inc byte [rsi + 0x1f]
mov r13d, r12d
jmp 0x18004f9ce
mov byte [rax + 6], 1
mov r13d, r12d
jmp 0x18004f9ce
mov rax, qword [rdi + 0x30]
movsxd rsi, dword [rdi + 0x3c]
cmp dword [rax + 0x60], esi
jg 0x18004f99b
mov edx, 1
mov rcx, rdi
call fcn.18003af10
test eax, eax
jne 0x18004f9ce
mov rax, qword [rdi + 8]
inc dword [rdi + 0x3c]
lea rcx, [rsi + rsi*2]
mov byte [rax + rcx*8], 0x22
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], 0
mov qword [rax + rcx*8 + 0x10], 0
mov byte [rax + rcx*8 + 1], 0
test byte [rbp + 0x1a], 0x81
jne 0x18004fb4e
mov rax, qword [rbp]
mov rbx, qword [rax + 0x18]
mov rcx, rbx
movzx eax, byte [rcx]
cmp al, 0x9e
je 0x18004f9ee
cmp al, 0x9d
jne 0x18004f9f4
mov rcx, qword [rcx + 0x10]
jmp 0x18004f9e3
movzx eax, byte [rcx]
cmp al, 0x9f
jne 0x18004f9fe
mov al, byte [rcx + 0x36]
cmp al, 0x61
je 0x18004faa0
cmp al, 0x83
jbe 0x18004fa41
cmp al, 0x86
jbe 0x18004faa0
cmp al, 0x9a
jne 0x18004fa41
bt dword [rcx + 4], 0x14
jb 0x18004fa41
movzx eax, word [rcx + 0x30]
test ax, ax
js 0x18004faa0
movsx rax, ax
lea rdx, [rax + rax*2]
mov rax, qword [rcx + 0x40]
mov rcx, qword [rax + 8]
shl rdx, 4
cmp byte [rdx + rcx + 0x28], 0
jne 0x18004faa0
mov rax, qword [rdi + 0x30]
mov rdx, qword [rsp + 0xa8]
movsxd rsi, dword [rdi + 0x3c]
cmp dword [rax + 0x60], esi
mov ebp, dword [rdx + 0xc]
jg 0x18004fa6a
mov edx, 1
mov rcx, rdi
call fcn.18003af10
test eax, eax
jne 0x18004faa0
mov rcx, qword [rdi + 8]
inc dword [rdi + 0x3c]
lea rdx, [rsi + rsi*2]
lea eax, [r15 + r13]
mov byte [rcx + rdx*8], 0x4c
mov byte [rcx + rdx*8 + 3], 0
mov dword [rcx + rdx*8 + 8], ebp
mov dword [rcx + rdx*8 + 0xc], 0
mov qword [rcx + rdx*8 + 0x10], 0
mov dword [rcx + rdx*8 + 4], eax
mov byte [rcx + rdx*8 + 1], 0
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x18004fb53
movzx esi, byte [r14]
mov rcx, rbx
call fcn.18001b480
test al, al
je 0x18004facf
test sil, sil
je 0x18004fad4
cmp al, 0x43
jge 0x18004fadf
cmp sil, 0x43
jl 0x18004fadb
jmp 0x18004fadf
test sil, sil
je 0x18004fadb
add al, sil
cmp al, 0x41
jne 0x18004fadf
mov byte [r14], 0x41
movzx edx, byte [r14]
cmp dl, 0x41
je 0x18004fb4a
movzx eax, byte [rbx]
cmp al, 0x9e
je 0x18004faf3
cmp al, 0x9d
jne 0x18004faf9
mov rbx, qword [rbx + 0x10]
jmp 0x18004fae8
movzx eax, byte [rbx]
cmp al, 0x9f
jne 0x18004fb03
mov al, byte [rbx + 0x36]
movzx ecx, al
sub ecx, 0x61
je 0x18004fb3e
sub ecx, 0x23
je 0x18004fb26
sub ecx, 1
je 0x18004fb32
sub ecx, 1
je 0x18004fb4a
cmp ecx, 0x14
jne 0x18004fb4e
cmp word [rbx + 0x30], 0
jge 0x18004fb4e
cmp dl, 0x44
je 0x18004fb4a
cmp dl, 0x43
jne 0x18004fb4e
jmp 0x18004fb4a
cmp dl, 0x45
je 0x18004fb4a
cmp dl, 0x43
jne 0x18004fb4e
jmp 0x18004fb4a
xor eax, eax
cmp dl, 0x42
sete al
test eax, eax
je 0x18004fb4e
mov byte [r14], 0x41
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0xa8]
inc r15d
add rcx, 8
inc r14
cmp r15d, dword [rsp + 0xb8]
mov qword [rsp + 0x38], rcx
jl 0x18004f8f0
mov rcx, qword [rsp + 0xc0]
mov qword [rcx], rax
jmp 0x18004fb95
mov rax, qword [rsp + 0xc0]
mov qword [rax], rcx
mov eax, r13d
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret