Function at 0x18004d3f0
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 [0x18008b590]
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 0x18004da46
cmp dword [rsp + 0x20], 0xc
jne 0x18004da41
mov r8d, 4
lea rdx, str.RIFF
lea rcx, [rsp + 0x68]
call fcn.180059b20
test eax, eax
jne 0x18004da41
lea r8d, [rax + 4]
lea rdx, str.WAVE
lea rcx, [rsp + 0x70]
call fcn.180059b20
test eax, eax
jne 0x18004da41
lea r9d, [rax + 0xc]
lea r8, [rsp + 0x68]
mov rdx, rbp
mov rcx, r14
call fcn.18004d1c0
test eax, eax
jne 0x18004da46
xor edx, edx
lea r8d, [rdx + 0x58]
lea rcx, [rsp + 0x80]
call fcn.18005ce70
mov r11d, dword [r14 + 0xc]
mov dword [rsp + 0x94], r11d
mov eax, dword [r14 + 0x10]
test eax, eax
je 0x18004d4f4
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.18005ce70
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 0x18004da46
lea esi, [rax + 1]
mov r15d, 0x100
cmp dword [rsp + 0x20], 8
jne 0x18004da3a
test rbp, rbp
je 0x18004d588
mov rax, qword [rbp + 0x1c8]
test rax, rax
je 0x18004d558
mov eax, dword [rax + 0xb8]
jmp 0x18004d573
mov rax, qword [rbp + 0x1c0]
test rax, rax
je 0x18004d588
cmp qword [rax], 0
je 0x18004d588
mov rax, qword [rax]
mov eax, dword [rax + 0xc0]
test eax, eax
je 0x18004d588
cmp eax, 0xffffffff
je 0x18004d588
add dword [rbp + 0xf4], 8
mov r9b, 0x22
jmp 0x18004d591
mov dword [rbp + 0xf8], esi
mov r9b, 0x21
mov r8d, 8
lea rdx, [rsp + 0x38]
mov rcx, rbp
call fcn.180039410
test eax, eax
je 0x18004da33
add qword [r14 + 0x18], 8
lea rdi, [0x18007d0ac]
lea rbx, [rsp + 0x38]
nop dword [rax]
movzx ecx, byte [rdi]
mov al, cl
cmp cl, 0x4c
je 0x18004d5fc
cmp al, 0x53
je 0x18004d5e7
movsx ecx, cl
call fcn.1800599b0
test eax, eax
je 0x18004d620
movsx eax, byte [rdi]
sub eax, 0x30
cdqe
add rbx, rax
jmp 0x18004d620
movzx ecx, byte [rbx + 1]
shl ecx, 8
movzx eax, byte [rbx]
add ecx, eax
mov word [rbx], cx
add rbx, 2
jmp 0x18004d620
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 0x18004d5c0
mov r8d, 4
lea rdx, str.fmt
lea rcx, [rsp + 0x38]
call fcn.180059b20
test eax, eax
jne 0x18004d888
mov r8d, dword [rsp + 0x3c]
cmp r8d, 0x10
jb 0x18004d975
cmp r8d, 0x28
ja 0x18004d975
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 0x18004da46
mov r9d, dword [rsp + 0x3c]
cmp dword [rsp + 0x28], r9d
jne 0x18004d96b
lea r8, [rsp + 0x40]
mov rdx, rbp
mov rcx, r14
call fcn.18004d1c0
test eax, eax
jne 0x18004da46
lea rdi, str.SSLLSSSSLS
lea rbx, [rsp + 0x40]
movzx ecx, byte [rdi]
mov al, cl
cmp cl, 0x4c
je 0x18004d6f4
cmp al, 0x53
je 0x18004d6dc
movsx ecx, cl
call fcn.1800599b0
test eax, eax
je 0x18004d718
movsx eax, byte [rdi]
sub eax, 0x30
cdqe
add rbx, rax
jmp 0x18004d718
movzx ecx, byte [rbx + 1]
imul cx, r15w
movzx eax, byte [rbx]
add cx, ax
mov word [rbx], cx
add rbx, 2
jmp 0x18004d718
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 0x18004d6b5
mov r10d, r13d
mov r9d, dword [rsp + 0x3c]
cmp r9d, 0x10
jbe 0x18004d738
cmp word [rsp + 0x50], 2
cmove r10d, esi
movzx eax, word [rsp + 0x40]
mov ecx, 0xfffe
cmp ax, cx
jne 0x18004d752
cmp r9d, 0x28
jne 0x18004d752
mov ax, word [rsp + 0x58]
movzx r11d, ax
cmp r11d, 1
je 0x18004d766
cmp r11d, 3
jne 0x18004d957
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 0x18004d961
cmp r8d, 0x20
jg 0x18004d961
movzx ecx, word [rsp + 0x42]
test cx, cx
je 0x18004d961
cmp cx, r15w
ja 0x18004d961
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 0x18004d961
cmp esi, 4
jg 0x18004d961
test ebx, ebx
jne 0x18004d961
cmp r9d, 0x28
jb 0x18004d7f5
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0xb0], eax
jmp 0x18004d830
cmp cx, 2
ja 0x18004d80b
mov eax, 5
sub eax, edi
mov dword [rsp + 0xb0], eax
jmp 0x18004d830
cmp cx, 0x12
ja 0x18004d825
mov ecx, edi
mov eax, 1
shl eax, cl
dec eax
mov dword [rsp + 0xb0], eax
jmp 0x18004d830
mov dword [rsp + 0xb0], 0x3ffff
cmp r11d, 3
jne 0x18004d846
mov dword [rsp + 0xa0], 0x7f
jmp 0x18004d928
test r10d, r10d
je 0x18004d928
cmp esi, 4
jne 0x18004d928
cmp r8d, 0x18
jne 0x18004d86e
mov dword [rsp + 0xa0], 0x96
jmp 0x18004d928
cmp r8d, 0x20
jne 0x18004d928
mov dword [rsp + 0xa0], SysAllocStringByteLen
jmp 0x18004d928
mov r8d, 4
lea rdx, str.data
lea rcx, [rsp + 0x38]
call fcn.180059b20
test eax, eax
je 0x18004d9c3
mov edi, dword [rsp + 0x3c]
inc edi
and edi, 0xfffffffe
test edi, 0xf0000000
ja 0x18004d9b9
mov ecx, edi
lea rdx, [0x18008df40]
call fcn.180058a28
mov rbx, rax
mov qword [rsp + 0x28], rax
test rax, rax
je 0x18004d9af
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 0x18004d9a0
cmp dword [rsp + 0x24], edi
jne 0x18004d98e
mov r9d, edi
mov r8, rbx
mov rdx, rbp
mov rcx, r14
call fcn.18004d1c0
mov edi, eax
test eax, eax
jne 0x18004d97f
mov rcx, rbx
call fcn.180058a20
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 0x18004da46
lea esi, [rax + 1]
jmp 0x18004d534
mov eax, 0xe00f0001
jmp 0x18004da46
mov eax, 0xe00f0001
jmp 0x18004da46
mov eax, 0xe00f0001
jmp 0x18004da46
mov eax, 0xe00f0001
jmp 0x18004da46
mov rcx, rbx
call fcn.180058a20
mov eax, edi
jmp 0x18004da46
mov rcx, rbx
call fcn.180058a20
mov eax, 0x80004005
jmp 0x18004da46
mov rcx, rbx
call fcn.180058a20
mov eax, esi
jmp 0x18004da46
mov eax, 0x8007000e
jmp 0x18004da46
mov eax, 0xe00f0001
jmp 0x18004da46
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 0x18004da2c
test r9d, r9d
je 0x18004da2c
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.18004a8d0
mov ecx, 0xe00f0001
test eax, eax
cmove r13d, ecx
mov eax, r13d
jmp 0x18004da46
mov eax, 0xe00f0001
jmp 0x18004da46
mov eax, 0x80004005
jmp 0x18004da46
mov eax, 0xe00f0001
jmp 0x18004da46
mov eax, 0xe00f0001
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.180058250
mov rbx, qword [rsp + 0x148]
add rsp, 0xf0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret