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

Disassembly:
lea r12, [rsp - 0x80]
cmp r12, qword [r14 + 0x10]
jbe 0x5273a7
sub rsp, 0x100
mov qword [rsp + 0xf8], rbp
lea rbp, [rsp + 0xf8]
mov qword [rsp + 0x118], rcx
mov qword [rsp + 0x110], rbx
mov rdx, qword [rax + 0x20]
test rdx, rdx
je 0x526ec4
mov rdx, qword [rdx]
jmp 0x526ec6
xor edx, edx
mov qword [rsp + 0x108], rax
mov dword [rax + 0x10], edx
mov dword [rax + 8], 0
mov rbx, qword [rax + 0x20]
lea rdi, [rsp + 0x98]
lea rdi, [rdi - 0x20]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0045e6cb
mov rbp, qword [rbp]
lea rcx, [rsp + 0x98]
lea rax, [0x0053bbc0]
call fcn.0040ea00
jmp 0x526f3a
mov rcx, qword [rsp + 0xa0]
mov rcx, qword [rcx]
mov rdx, qword [rsp + 0x108]
mov ebx, dword [rdx + 8]
add ebx, dword [rcx + 8]
mov dword [rdx + 8], ebx
lea rax, [rsp + 0x98]
call fcn.0040ec80
cmp qword [rsp + 0x98], 0
jne 0x526f11
lea rax, [0x00536c00]
mov ebx, 0x18
mov rcx, rbx
call fcn.00445fe0
mov rdx, qword [rsp + 0x108]
mov esi, dword [rdx]
mov dword [rax], esi
mov esi, dword [rdx + 4]
mov dword [rax + 4], esi
mov esi, dword [rdx + 8]
mov dword [rax + 8], esi
mov esi, dword [rdx + 0xc]
mov dword [rax + 0xc], esi
mov esi, dword [rdx + 0x10]
mov dword [rax + 0x10], esi
mov esi, dword [rdx + 0x14]
mov dword [rax + 0x14], esi
mov rsi, qword [rsp + 0x110]
mov rdi, qword [rsi + 0x18]
mov rbx, rax
mov ecx, 0x18
mov rax, qword [rsp + 0x118]
mov r8, rdi
mov rdi, rcx
call r8
test rbx, rbx
jne 0x526fee
mov rdx, qword [rsp + 0x108]
mov rbx, qword [rdx + 0x20]
lea rdi, [rsp + 0x98]
lea rdi, [rdi - 0x20]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0045e6cb
mov rbp, qword [rbp]
lea rax, [0x0053bbc0]
lea rcx, [rsp + 0x98]
call fcn.0040ea00
jmp 0x527011
mov rax, rbx
mov rbx, rcx
mov rbp, qword [rsp + 0xf8]
add rsp, 0x100
ret
lea rax, [rsp + 0x98]
call fcn.0040ec80
mov rdx, qword [rsp + 0x98]
nop dword [rax]
test rdx, rdx
je 0x52718e
mov r10, qword [rsp + 0xa0]
mov r10, qword [r10]
mov qword [rsp + 0x78], r10
mov rax, qword [rdx]
mov rbx, qword [rdx + 8]
nop
lea rcx, [0x00556576]
mov edi, 1
lea rsi, [0x00556586]
mov r8, rdi
mov r9, 0xffffffffffffffff
nop
call fcn.004b06a0
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x58], rbx
call fcn.005275a0
mov qword [rsp + 0x40], rbx
mov rdx, qword [rsp + 0x108]
cmp qword [rdx + 0x30], 0
je 0x52709f
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x48], rcx
xor esi, esi
jmp 0x5272a7
xor esi, esi
jmp 0x52720c
mov word [rsp + 0x3e], 0
mov byte [rsp + 0x3e], 0xaa
lea rsi, [rbx + 2]
cmp rcx, rsi
jae 0x5270e7
mov qword [rsp + 0x70], rsi
mov rdi, rcx
mov rcx, rbx
mov rbx, rax
lea rax, [0x00536c00]
call fcn.004460c0
mov rdx, qword [rsp + 0x108]
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x70]
movzx r8d, word [rsp + 0x3e]
mov word [rax + rbx], r8w
mov rdx, qword [rsp + 0x110]
mov r8, qword [rdx + 0x18]
mov rbx, rax
mov rdi, rcx
mov rax, qword [rsp + 0x118]
mov rcx, rsi
call r8
test rbx, rbx
jne 0x527268
lea rax, [0x00536c00]
mov ebx, 0x24
mov rcx, rbx
call fcn.00445fe0
mov rdx, qword [rsp + 0x78]
mov esi, dword [rdx]
mov dword [rax], esi
mov esi, dword [rdx + 4]
mov dword [rax + 4], esi
mov esi, dword [rdx + 8]
mov dword [rax + 8], esi
mov rsi, qword [rdx + 0x10]
mov qword [rax + 0xc], rsi
mov rsi, qword [rdx + 0x18]
mov qword [rax + 0x14], rsi
mov rdx, qword [rdx + 0x20]
mov qword [rax + 0x1c], rdx
mov rdx, qword [rsp + 0x110]
mov rsi, qword [rdx + 0x18]
mov rbx, rax
mov ecx, 0x24
mov rdi, rcx
mov rax, qword [rsp + 0x118]
call rsi
nop dword [rax]
test rbx, rbx
je 0x527004
jmp 0x52722c
lea rax, [0x00536c00]
mov ebx, 0x20000
mov rcx, rbx
nop dword [rax]
call fcn.00445fe0
xor ecx, ecx
jmp 0x5271b0
mov byte [rax + rcx], 0xff
inc rcx
cmp rcx, 0x20000
jl 0x5271a9
mov rdx, qword [rsp + 0x110]
mov rdx, qword [rdx + 0x18]
mov rbx, rax
mov ecx, 0x20000
mov rdi, rcx
mov rax, qword [rsp + 0x118]
call rdx
test rbx, rbx
je 0x5271f5
mov rax, rbx
mov rbx, rcx
mov rbp, qword [rsp + 0xf8]
add rsp, 0x100
ret
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0xf8]
add rsp, 0x100
ret
inc rsi
cmp rbx, rsi
jle 0x5270a6
movzx r8d, byte [rax + rsi]
bt esi, 0
nop
jb 0x527209
xor r8d, 0xffffffaa
mov byte [rax + rsi], r8b
jmp 0x527209
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x60], rbx
mov rax, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x58]
call fcn.0040a600
mov rax, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x90]
mov rbp, qword [rsp + 0xf8]
add rsp, 0x100
ret
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x60], rbx
mov rax, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x58]
call fcn.0040a600
mov rax, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x90]
mov rbp, qword [rsp + 0xf8]
add rsp, 0x100
ret
inc rsi
cmp rbx, rsi
jle 0x527329
movzx edi, byte [rax + rsi]
bt esi, 0
jb 0x5272a4
mov qword [rsp + 0x50], rsi
mov byte [rsp + 0x3c], dil
mov byte [rsp + 0x3d], dil
mov rbx, qword [rdx + 0x38]
lea rax, [0x0053bf80]
lea rcx, [rsp + 0x3d]
call fcn.0040e0a0
movzx edx, byte [rax]
nop dword [rax]
test bl, bl
je 0x5272f6
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x80]
mov byte [rdi + rsi], dl
jmp 0x52730f
mov rdx, qword [rsp + 0x50]
movzx esi, byte [rsp + 0x3c]
mov rdi, qword [rsp + 0x80]
mov byte [rdi + rdx], sil
mov rsi, rdx
mov rax, rdi
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x108]
mov rbx, qword [rsp + 0x40]
jmp 0x5272a4
mov word [rsp + 0x3e], 0
mov rbx, qword [rdx + 0x38]
lea rax, [0x0053bf80]
lea rcx, [0x0060eca8]
call fcn.0040de60
movzx edx, byte [rax]
mov byte [rsp + 0x3e], dl
mov byte [rsp + 0x3f], 0
mov rcx, qword [rsp + 0x40]
lea rsi, [rcx + 2]
mov rdi, qword [rsp + 0x48]
cmp rdi, rsi
jb 0x527370
mov rax, qword [rsp + 0x80]
jmp 0x527396
mov qword [rsp + 0x68], rsi
lea rax, [0x00536c00]
mov rbx, qword [rsp + 0x80]
call fcn.004460c0
mov rsi, qword [rsp + 0x68]
mov rdi, rcx
mov rcx, qword [rsp + 0x40]
movzx edx, word [rsp + 0x3e]
mov word [rax + rcx], dx
mov rcx, rdi
jmp 0x5270f2
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
call fcn.0045bd20
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
jmp fcn.00526e80