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

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xf0
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x148], rbx
mov rax, qword [0x18008c590]
xor rax, rsp
mov qword [rsp + 0xe0], rax
mov r12, r8
mov rbp, rdx
mov r14, rcx
xor r13d, r13d
mov dword [rsp + 0x20], r13d
mov rax, qword [r8]
lea r9, [rsp + 0x20]
lea r8d, [r13 + 0xc]
lea rdx, [rsp + 0x68]
mov rcx, r12
call qword [rax + 0x18]
test eax, eax
jne 0x18004d376
cmp dword [rsp + 0x20], 0xc
jne 0x18004d371
mov r8d, 4
lea rdx, str.RIFF
lea rcx, [rsp + 0x68]
call fcn.1800595a0
test eax, eax
jne 0x18004d371
lea r8d, [rax + 4]
lea rdx, str.WAVE
lea rcx, [rsp + 0x70]
call fcn.1800595a0
test eax, eax
jne 0x18004d371
lea r9d, [rax + 0xc]
lea r8, [rsp + 0x68]
mov rdx, rbp
mov rcx, r14
call fcn.18004caf0
test eax, eax
jne 0x18004d376
xor edx, edx
lea r8d, [rdx + 0x58]
lea rcx, [rsp + 0x80]
call fcn.18005c9d0
mov r11d, dword [r14 + 0xc]
mov dword [rsp + 0x94], r11d
mov eax, dword [r14 + 0x10]
test eax, eax
je 0x18004ce24
bts r11d, 0x19
mov dword [rsp + 0x94], r11d
mov dword [rsp + 0x98], eax
xor edx, edx
lea r8d, [rdx + 0x28]
lea rcx, [rsp + 0x40]
call fcn.18005c9d0
mov dword [rsp + 0x20], r13d
mov rax, qword [r12]
lea r9, [rsp + 0x20]
mov r8d, 8
lea rdx, [rsp + 0x38]
mov rcx, r12
call qword [rax + 0x18]
test eax, eax
jne 0x18004d376
lea esi, [rax + 1]
mov r15d, pe_nt_image_headers64
cmp dword [rsp + 0x20], 8
jne 0x18004d36a
test rbp, rbp
je 0x18004ceb8
mov rax, qword [rbp + 0x1c8]
test rax, rax
je 0x18004ce88
mov eax, dword [rax + 0xb8]
jmp 0x18004cea3
mov rax, qword [rbp + 0x1c0]
test rax, rax
je 0x18004ceb8
cmp qword [rax], 0
je 0x18004ceb8
mov rax, qword [rax]
mov eax, dword [rax + 0xc0]
test eax, eax
je 0x18004ceb8
cmp eax, 0xffffffff
je 0x18004ceb8
add dword [rbp + 0xf4], 8
mov r9b, 0x22
jmp 0x18004cec1
mov dword [rbp + 0xf8], esi
mov r9b, 0x21
mov r8d, 8
lea rdx, [rsp + 0x38]
mov rcx, rbp
call fcn.180038d50
test eax, eax
je 0x18004d363
add qword [r14 + 0x18], 8
lea rdi, [0x18007e624]
lea rbx, [rsp + 0x38]
nop dword [rax]
movzx ecx, byte [rdi]
mov al, cl
cmp cl, 0x4c
je 0x18004cf2c
cmp al, 0x53
je 0x18004cf17
movsx ecx, cl
call fcn.18005943c
test eax, eax
je 0x18004cf50
movsx eax, byte [rdi]
sub eax, 0x30
cdqe
add rbx, rax
jmp 0x18004cf50
movzx ecx, byte [rbx + 1]
shl ecx, 8
movzx eax, byte [rbx]
add ecx, eax
mov word [rbx], cx
add rbx, 2
jmp 0x18004cf50
movzx ecx, byte [rbx + 3]
shl ecx, 8
movzx eax, byte [rbx + 2]
add ecx, eax
shl ecx, 8
movzx eax, byte [rbx + 1]
add ecx, eax
shl ecx, 8
movzx eax, byte [rbx]
add ecx, eax
mov dword [rbx], ecx
add rbx, 4
inc rdi
cmp byte [rdi], 0
jne 0x18004cef0
mov r8d, 4
lea rdx, str.fmt
lea rcx, [rsp + 0x38]
call fcn.1800595a0
test eax, eax
jne 0x18004d1b8
mov r8d, dword [rsp + 0x3c]
cmp r8d, 0x10
jb 0x18004d2a5
cmp r8d, 0x28
ja 0x18004d2a5
mov dword [rsp + 0x28], r13d
mov rax, qword [r12]
lea r9, [rsp + 0x28]
lea rdx, [rsp + 0x40]
mov rcx, r12
call qword [rax + 0x18]
test eax, eax
jne 0x18004d376
mov r9d, dword [rsp + 0x3c]
cmp dword [rsp + 0x28], r9d
jne 0x18004d29b
lea r8, [rsp + 0x40]
mov rdx, rbp
mov rcx, r14
call fcn.18004caf0
test eax, eax
jne 0x18004d376
lea rdi, str.SSLLSSSSLS
lea rbx, [rsp + 0x40]
movzx ecx, byte [rdi]
mov al, cl
cmp cl, 0x4c
je 0x18004d024
cmp al, 0x53
je 0x18004d00c
movsx ecx, cl
call fcn.18005943c
test eax, eax
je 0x18004d048
movsx eax, byte [rdi]
sub eax, 0x30
cdqe
add rbx, rax
jmp 0x18004d048
movzx ecx, byte [rbx + 1]
imul cx, r15w
movzx eax, byte [rbx]
add cx, ax
mov word [rbx], cx
add rbx, 2
jmp 0x18004d048
movzx ecx, byte [rbx + 3]
shl ecx, 8
movzx eax, byte [rbx + 2]
add ecx, eax
shl ecx, 8
movzx eax, byte [rbx + 1]
add ecx, eax
shl ecx, 8
movzx eax, byte [rbx]
add ecx, eax
mov dword [rbx], ecx
add rbx, 4
inc rdi
cmp byte [rdi], 0
jne 0x18004cfe5
mov r10d, r13d
mov r9d, dword [rsp + 0x3c]
cmp r9d, 0x10
jbe 0x18004d068
cmp word [rsp + 0x50], 2
cmove r10d, esi
movzx eax, word [rsp + 0x40]
mov ecx, 0xfffe
cmp ax, cx
jne 0x18004d082
cmp r9d, 0x28
jne 0x18004d082
mov ax, word [rsp + 0x58]
movzx r11d, ax
cmp r11d, 1
je 0x18004d096
cmp r11d, 3
jne 0x18004d287
movzx eax, word [rsp + 0x4e]
cmp r9d, 0x28
cmove ax, word [rsp + 0x52]
movzx r8d, ax
mov dword [rsp + 0x88], r8d
cmp r8d, 1
jl 0x18004d291
cmp r8d, 0x20
jg 0x18004d291
movzx ecx, word [rsp + 0x42]
test cx, cx
je 0x18004d291
cmp cx, r15w
ja 0x18004d291
movzx eax, word [rsp + 0x4c]
movzx edi, cx
cdq
idiv edi
mov ebx, edx
mov esi, eax
lea eax, [r8 + 7]
cdq
and edx, 7
add eax, edx
sar eax, 3
cmp esi, eax
jl 0x18004d291
cmp esi, 4
jg 0x18004d291
test ebx, ebx
jne 0x18004d291
cmp r9d, 0x28
jb 0x18004d125
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0xb0], eax
jmp 0x18004d160
cmp cx, 2
ja 0x18004d13b
mov eax, 5
sub eax, edi
mov dword [rsp + 0xb0], eax
jmp 0x18004d160
cmp cx, 0x12
ja 0x18004d155
mov ecx, edi
mov eax, 1
shl eax, cl
dec eax
mov dword [rsp + 0xb0], eax
jmp 0x18004d160
mov dword [rsp + 0xb0], 0x3ffff
cmp r11d, 3
jne 0x18004d176
mov dword [rsp + 0xa0], 0x7f
jmp 0x18004d258
test r10d, r10d
je 0x18004d258
cmp esi, 4
jne 0x18004d258
cmp r8d, 0x18
jne 0x18004d19e
mov dword [rsp + 0xa0], 0x96
jmp 0x18004d258
cmp r8d, 0x20
jne 0x18004d258
mov dword [rsp + 0xa0], SysAllocStringByteLen
jmp 0x18004d258
mov r8d, 4
lea rdx, str.data
lea rcx, [rsp + 0x38]
call fcn.1800595a0
test eax, eax
je 0x18004d2f3
mov edi, dword [rsp + 0x3c]
inc edi
and edi, 0xfffffffe
test edi, 0xf0000000
ja 0x18004d2e9
mov ecx, edi
lea rdx, [0x18008ef80]
call fcn.180058578
mov rbx, rax
mov qword [rsp + 0x28], rax
test rax, rax
je 0x18004d2df
mov dword [rsp + 0x24], r13d
mov rax, qword [r12]
lea r9, [rsp + 0x24]
mov r8d, edi
mov rdx, rbx
mov rcx, r12
call qword [rax + 0x18]
mov esi, eax
test eax, eax
jne 0x18004d2d0
cmp dword [rsp + 0x24], edi
jne 0x18004d2be
mov r9d, edi
mov r8, rbx
mov rdx, rbp
mov rcx, r14
call fcn.18004caf0
mov edi, eax
test eax, eax
jne 0x18004d2af
mov rcx, rbx
call fcn.180058570
mov dword [rsp + 0x20], r13d
mov rax, qword [r12]
lea r9, [rsp + 0x20]
mov r8d, 8
lea rdx, [rsp + 0x38]
mov rcx, r12
call qword [rax + 0x18]
test eax, eax
jne 0x18004d376
lea esi, [rax + 1]
jmp 0x18004ce64
mov eax, 0xe00f0001
jmp 0x18004d376
mov eax, 0xe00f0001
jmp 0x18004d376
mov eax, 0xe00f0001
jmp 0x18004d376
mov eax, 0xe00f0001
jmp 0x18004d376
mov rcx, rbx
call fcn.180058570
mov eax, edi
jmp 0x18004d376
mov rcx, rbx
call fcn.180058570
mov eax, 0x80004005
jmp 0x18004d376
mov rcx, rbx
call fcn.180058570
mov eax, esi
jmp 0x18004d376
mov eax, 0x8007000e
jmp 0x18004d376
mov eax, 0xe00f0001
jmp 0x18004d376
movzx r10d, word [rsp + 0x4c]
xor edx, edx
mov eax, dword [rsp + 0x3c]
div r10d
mov r9d, eax
movzx eax, word [rsp + 0x42]
test ax, ax
je 0x18004d35c
test r9d, r9d
je 0x18004d35c
movzx r8d, ax
mov eax, r10d
cdq
idiv r8d
mov dword [rsp + 0x8c], eax
mov dword [rsp + 0x9c], r8d
mov edx, dword [rsp + 0x44]
mov dword [rsp + 0xac], edx
mov r8d, r9d
lea rdx, [rsp + 0x80]
mov rcx, rbp
call fcn.18004a210
mov ecx, 0xe00f0001
test eax, eax
cmove r13d, ecx
mov eax, r13d
jmp 0x18004d376
mov eax, 0xe00f0001
jmp 0x18004d376
mov eax, 0x80004005
jmp 0x18004d376
mov eax, 0xe00f0001
jmp 0x18004d376
mov eax, 0xe00f0001
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.180057da0
mov rbx, qword [rsp + 0x148]
add rsp, 0xf0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret