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

Disassembly:
lea r12, [rsp - 0x78]
cmp r12, qword [r14 + 0x10]
jbe 0x5269d6
push rbp
mov rbp, rsp
sub rsp, 0xf0
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x138], r10
mov qword [rsp + 0x130], r9
mov qword [rsp + 0x120], rsi
mov qword [rsp + 0x128], r8
mov qword [rsp + 0x118], rdi
mov dword [rsp + 0x108], ebx
nop
lea rax, [0x0056a860]
call fcn.0040d640
mov qword [rsp + 0x80], rax
xor ecx, ecx
jmp 0x5261f8
mov qword [rsp + 0x50], rcx
mov rbx, qword [rsp + 0x130]
mov rdx, qword [rbx + rcx*8]
mov rsi, qword [rdx]
call rsi
mov rcx, qword [rsp + 0x50]
inc rcx
mov rax, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x138]
cmp rbx, rcx
jg 0x5261d2
nop
mov ecx, dword [rsp + 0x108]
cmp ecx, 3
jbe 0x526229
lea edx, [rcx - 0x81]
nop dword [rax + rax]
cmp edx, 2
ja 0x526965
mov rdx, qword [rsp + 0x110]
mov rbx, qword [rdx + 0x10]
lea rsi, [rbx - 1]
mov rdi, qword [rsp + 0x118]
cmp rdi, rsi
jg 0x5268d7
lea rax, [0x005631e0]
call fcn.0040d640
mov qword [rsp + 0xa0], rax
xor ebx, ebx
call fcn.004ba1a0
mov rax, qword [rsp + 0xa0]
mov ebx, dword [rsp + 0x108]
call fcn.004ba1a0
nop dword [rax]
test rax, rax
jne 0x5268c1
mov rdx, qword [rsp + 0x110]
mov r9d, dword [rdx]
mov dword [rsp + 0x44], r9d
lea rax, [0x0068ef20]
mov rbx, qword [rsp + 0xa0]
lea rcx, [0x00690010]
lea rdi, [0x00818620]
lea rsi, [0x0054bf40]
lea r8, [rsp + 0x44]
call fcn.004b4b20
test rax, rax
jne 0x5268aa
mov rdx, qword [rsp + 0x110]
mov r9d, dword [rdx + 0x38]
mov dword [rsp + 0x40], r9d
lea rax, [0x0068ef20]
mov rbx, qword [rsp + 0xa0]
lea rcx, [0x00690010]
lea rdi, [0x00818620]
lea rsi, [0x0054c040]
lea r8, [rsp + 0x40]
call fcn.004b4b20
test rax, rax
jne 0x526894
mov edx, dword [rsp + 0x108]
mov esi, edx
and edx, 0x80
mov dword [rsp + 0x34], edx
test edx, edx
jne 0x5263de
mov rbx, qword [rsp + 0x100]
test byte [rbx], al
lea rdx, [rbx + 0x60]
mov rax, qword [rsp + 0xa0]
mov ecx, 0x20
mov rdi, rcx
mov rbx, rdx
call fcn.004b9de0
mov rbx, qword [rsp + 0x100]
lea rdx, [rbx + 0xe0]
mov rax, qword [rsp + 0xa0]
mov ecx, 0x20
mov rdi, rcx
mov rbx, rdx
nop dword [rax + rax]
call fcn.004b9de0
mov rbx, qword [rsp + 0x100]
lea rdx, [rbx + 0xc0]
mov rax, qword [rsp + 0xa0]
mov ecx, 0x20
mov rdi, rcx
mov rbx, rdx
call fcn.004b9de0
mov rbx, qword [rsp + 0x100]
lea rdx, [rbx + 0x80]
mov rax, qword [rsp + 0xa0]
mov ecx, 0x20
mov rdi, rcx
mov rbx, rdx
call fcn.004b9de0
mov edx, dword [rsp + 0x34]
mov esi, dword [rsp + 0x108]
mov r8d, esi
and esi, 3
cmp esi, 3
je 0x526420
cmp esi, 2
je 0x526420
mov rbx, qword [rsp + 0x100]
test byte [rbx], al
add rbx, 0xa0
mov rax, qword [rsp + 0xa0]
mov ecx, 0x20
mov rdi, rcx
call fcn.004b9de0
mov edx, dword [rsp + 0x34]
mov r8d, dword [rsp + 0x108]
mov rsi, qword [rsp + 0x110]
mov rcx, qword [rsi + 0x10]
mov rax, qword [rsp + 0x118]
cmp rax, rcx
jae 0x5269d0
mov rcx, qword [rsi + 8]
mov rdi, qword [rsp + 0x80]
movzx r9d, byte [rdi]
mov rcx, qword [rcx + rax*8]
mov qword [rsp + 0x88], rcx
mov r10d, r9d
shl r9d, 1
mov r11, qword [rdi + 8]
mov qword [rsp + 0x48], r11
test r11, r11
je 0x526475
lea r9d, [r10 + r10]
lea r9d, [r9 + 1]
mov rax, qword [rsp + 0xa0]
mov ebx, r9d
call fcn.004ba1a0
test rax, rax
jne 0x52687e
mov edx, dword [rsp + 0x34]
test edx, edx
je 0x5265d4
mov rsi, qword [rsp + 0x88]
test byte [rsi], al
lea rax, [0x0068ef20]
mov rbx, qword [rsp + 0xa0]
xor ecx, ecx
xor edi, edi
call fcn.00511640
nop dword [rax]
test rax, rax
jne 0x5265be
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rcx]
mov qword [rsp + 0x5c], rdx
movups xmm0, xmmword [rcx + 4]
movups xmmword [rsp + 0x60], xmm0
movups xmm0, xmmword [rcx + 0x14]
movups xmmword [rsp + 0x70], xmm0
mov rdx, qword [rsp + 0x5c]
mov rbx, qword [rsp + 0x120]
mov rbx, qword [rbx + 0x18]
mov qword [rsp], rdx
movups xmm0, xmmword [rsp + 0x60]
movups xmmword [rsp + 4], xmm0
movups xmm0, xmmword [rsp + 0x70]
movups xmmword [rsp + 0x14], xmm0
mov rax, qword [rsp + 0x128]
call rbx
mov rbx, qword [rsp + 0xa0]
xor ecx, ecx
xor edi, edi
mov rsi, rax
lea rax, [0x0068ef20]
call fcn.005117e0
test rax, rax
jne 0x5265a8
mov rdx, qword [rsp + 0x88]
mov edx, dword [rdx + 0x58]
mov dword [rsp + 0x3c], edx
lea rax, [0x0068ef20]
mov rbx, qword [rsp + 0xa0]
lea rcx, [0x00690010]
lea rdi, [0x00818620]
lea rsi, [0x0054c040]
lea r8, [rsp + 0x3c]
call fcn.004b4b20
nop dword [rax + rax]
test rax, rax
jne 0x526592
mov rdx, qword [rsp + 0x48]
test rdx, rdx
jmp 0x526623
xor ecx, ecx
mov rdi, rax
mov rsi, rbx
xor eax, eax
mov rbx, rcx
add rsp, 0xf0
pop rbp
ret
xor ecx, ecx
mov rdi, rax
mov rsi, rbx
xor eax, eax
mov rbx, rcx
add rsp, 0xf0
pop rbp
ret
xor ecx, ecx
mov rdi, rax
mov rsi, rbx
xor eax, eax
mov rbx, rcx
add rsp, 0xf0
pop rbp
ret
mov rdx, qword [rsp + 0x118]
mov dword [rsp + 0x38], edx
lea rax, [0x0068ef20]
mov rbx, qword [rsp + 0xa0]
lea rcx, [0x00690010]
lea rdi, [0x00818620]
lea rsi, [0x0054c040]
lea r8, [rsp + 0x38]
call fcn.004b4b20
test rax, rax
jne 0x526868
mov rdx, qword [rsp + 0x48]
nop dword [rax]
test rdx, rdx
je 0x526646
mov rdx, qword [rsp + 0x80]
mov rbx, qword [rdx + 8]
mov rcx, qword [rdx + 0x10]
mov rdi, qword [rdx + 0x18]
mov rax, qword [rsp + 0xa0]
call fcn.004b9de0
mov edx, dword [rsp + 0x108]
and edx, 0x1f
cmp edx, 3
jne 0x52677f
mov rdx, qword [rsp + 0x118]
mov r8, qword [rsp + 0x110]
cmp qword [r8 + 0x28], rdx
jle 0x526751
nop
lea rax, [0x0056ae80]
nop dword [rax + rax]
call fcn.0040d640
mov qword [rsp + 0x98], rax
call fcn.004f4740
mov rcx, qword [rsp + 0x110]
mov rdx, qword [rcx + 0x28]
mov rax, qword [rsp + 0x118]
cmp rax, rdx
jae 0x5269c8
mov rcx, qword [rcx + 0x20]
mov rcx, qword [rcx + rax*8]
mov qword [rsp + 0x90], rcx
lea rax, [0x00557300]
lea rbx, [0x0068f738]
call fcn.0040af60
mov rbx, qword [rsp + 0x98]
xor ecx, ecx
xor edi, edi
mov rsi, qword [rsp + 0x90]
call fcn.005117e0
test rax, rax
jne 0x52673b
mov rax, qword [rsp + 0x98]
xor ebx, ebx
xor ecx, ecx
mov rdi, rcx
nop
call fcn.004f4ae0
mov rdi, rcx
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0xa0]
call fcn.004b9de0
nop dword [rax + rax]
test rbx, rbx
je 0x52677f
xor eax, eax
mov rdi, rbx
mov rsi, rcx
xor ebx, ebx
mov rcx, rbx
add rsp, 0xf0
pop rbp
ret
xor ecx, ecx
mov rdi, rax
mov rsi, rbx
xor eax, eax
mov rbx, rcx
add rsp, 0xf0
pop rbp
ret
lea rax, [0x00580e88]
mov ebx, 0x1e
xor ecx, ecx
xor edi, edi
mov rsi, rdi
call fcn.004a8d00
xor ecx, ecx
mov rdi, rax
mov rsi, rbx
xor eax, eax
mov rbx, rcx
add rsp, 0xf0
pop rbp
ret
mov rax, qword [rsp + 0x80]
lea rbx, [0x0068ef20]
mov rcx, qword [rsp + 0xa0]
call fcn.00526020
nop dword [rax + rax]
test rax, rax
jne 0x526852
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [rdx + 8]
mov rax, qword [rdx + 0x18]
nop
nop word [rax + rax]
cmp rax, rcx
ja 0x5269c3
mov r9, qword [rdx]
mov rdx, qword [rdx + 0x10]
mov qword [rsp + 0xb8], 0
movups xmmword [rsp + 0xc0], xmm15
sub rdx, rax
sub rcx, rax
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0xc8], rdx
neg rdx
sar rdx, 0x3f
and rax, rdx
lea rdx, [r9 + rax]
mov qword [rsp + 0xb8], rdx
mov rax, qword [str.TapSighash]
mov rbx, qword [0x007b8478]
mov rcx, qword [0x007b8480]
lea rdi, [rsp + 0xb8]
mov esi, 1
mov r8, rsi
call fcn.00506f00
test byte [rax], al
mov ebx, 0x20
mov rcx, rbx
xor edi, edi
xor esi, esi
add rsp, 0xf0
pop rbp
ret
xor ecx, ecx
mov rdi, rax
mov rsi, rbx
xor eax, eax
mov rbx, rcx
add rsp, 0xf0
pop rbp
ret
xor ecx, ecx
mov rdi, rax
mov rsi, rbx
xor eax, eax
mov rbx, rcx
add rsp, 0xf0
pop rbp
ret
xor ecx, ecx
mov rdi, rax
mov rsi, rbx
xor eax, eax
mov rbx, rcx
add rsp, 0xf0
pop rbp
ret
xor ecx, ecx
mov rdi, rax
mov rsi, rbx
xor eax, eax
mov rbx, rcx
add rsp, 0xf0
pop rbp
ret
xor ecx, ecx
mov rdi, rax
mov rsi, rbx
xor eax, eax
mov rbx, rcx
add rsp, 0xf0
pop rbp
nop
ret
xor ecx, ecx
mov rdi, rax
mov rsi, rbx
xor eax, eax
mov rbx, rcx
add rsp, 0xf0
pop rbp
ret
mov qword [rsp + 0x50], rbx
movups xmmword [rsp + 0xd0], xmm15
movups xmmword [rsp + 0xe0], xmm15
mov rax, rdi
call fcn.0040ad80
lea rcx, [0x0054bec0]
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0x50]
call fcn.0040ad80
lea rcx, [0x0054bec0]
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xe8], rax
lea rax, [0x0057cba5]
mov ebx, 0x13
lea rcx, [rsp + 0xd0]
mov edi, 2
mov rsi, rdi
call fcn.004a8d00
xor ecx, ecx
mov rdi, rax
mov rsi, rbx
xor eax, eax
mov rbx, rcx
add rsp, 0xf0
pop rbp
ret
movups xmmword [rsp + 0xa8], xmm15
mov eax, ecx
call fcn.0040ad20
lea rcx, [0x0054c580]
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xb0], rax
lea rax, [0x0058192c]
mov ebx, 0x20
lea rcx, [rsp + 0xa8]
mov edi, 1
mov rsi, rdi
call fcn.004a8d00
xor ecx, ecx
mov rdi, rax
mov rsi, rbx
xor eax, eax
mov rbx, rcx
add rsp, 0xf0
pop rbp
ret
call fcn.00463f00
mov rcx, rdx
call fcn.00463e40
call fcn.00463e40
nop
mov qword [rsp + 8], rax
mov dword [rsp + 0x10], ebx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x40], r10
mov qword [rsp + 0x48], r11
call fcn.00461bc0
mov rax, qword [rsp + 8]
mov ebx, dword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
mov r10, qword [rsp + 0x40]
mov r11, qword [rsp + 0x48]
jmp fcn.00526160