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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xc8
movzx eax, byte [rdx + 0x20]
mov rbx, qword [rsp + 0x140]
mov r13, rcx
mov ecx, 0x68
mov r12, rdx
mov dword [rsp + 0x4c], eax
lea r14, [rsp + 0x70]
mov rsi, r8
mov rbp, r9
call fcn.007da0a0
mov rcx, r14
mov qword [rax + 0x10], 0
mov rdi, rax
mov qword [rax + 0x18], 0
call fcn.00504c60
cmp word [rsp + 0x70], 2
mov edx, 2
mov eax, 0x17
mov byte [rdi + 0x3c], 0
lea rcx, [rdi + 0x40]
cmove eax, edx
mov dword [rdi + 0x38], eax
call fcn.00504c60
mov rax, qword [r13 + 0x420]
lea r15, [rsp + 0x60]
pxor xmm0, xmm0
movaps xmmword [rsp + 0x60], xmm0
lea rdx, [0x007f4570]
mov rcx, r15
mov qword [rsp + 0x40], rax
call fcn.004fd2d0
mov rcx, qword [rsp + 0x40]
lea r8, [0x006c95a0]
mov rdx, r15
call fcn.004fd340
mov qword [rdi + 0x60], rax
lea rcx, [rax + 0x28]
mov rdx, rdi
call fcn.00502970
mov ecx, 0x18
call fcn.007da0a0
mov rcx, qword [r12 + 0x30]
mov qword [rax + 0x10], rdi
mov r8, rdi
mov r15, rdi
lea rdx, [0x00845fd0]
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
mov qword [rax], rdx
test rcx, rcx
mov qword [r12 + 0x28], rdi
mov qword [r12 + 0x30], rax
je 0x52cac4
mov eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
je 0x52cd80
mov r15, qword [r12 + 0x28]
mov r8, r15
cmp word [rsi], 2
mov eax, 2
mov edi, 0x17
lea rcx, [rsp + 0x50]
cmove edi, eax
mov rax, qword [r15 + 0x60]
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 6
mov dword [rsp + 0x20], 1
mov r9d, edi
lea rdx, [rax + 0x28]
call fcn.00502b50
mov eax, dword [rsp + 0x50]
test eax, eax
jne 0x52cb41
mov dword [r15 + 0x38], edi
mov rcx, r14
mov byte [r15 + 0x3c], 0
call fcn.00504c60
mov rax, qword [rsp + 0x70]
mov qword [r15 + 0x40], rax
mov rax, qword [rsp + 0x78]
mov qword [r15 + 0x48], rax
mov rax, qword [rsp + 0x80]
mov qword [r15 + 0x50], rax
mov eax, dword [rsp + 0x88]
mov dword [r15 + 0x58], eax
mov eax, dword [rbx]
test eax, eax
jne 0x52cc50
mov rax, qword [r12 + 0x28]
mov edx, 0x10
mov r8d, 0x1c
mov r9, rbx
cmp word [rsi], 2
mov rcx, qword [rax]
cmove r8, rdx
mov rdx, rsi
call fcn.004fdeb0
mov r9d, dword [rbx]
test r9d, r9d
je 0x52cbe1
mov eax, dword [rbp]
mov r15d, 0x1c
mov edi, 0x10
test eax, eax
jle 0x52cd70
nop
mov dword [rbx], 0
call fcn.004d6fb0
mov rcx, rsi
mov qword [rbx + 8], rax
sub dword [rbp], 1
call fcn.00504e10
mov rcx, rsi
lea edx, [rax + 1]
movzx edx, dx
call fcn.00504e20
mov rax, qword [r12 + 0x28]
mov r8, rdi
mov r9, rbx
cmp word [rsi], 2
mov rdx, rsi
mov rcx, qword [rax]
cmovne r8, r15
call fcn.004fdeb0
mov ecx, dword [rbx]
test ecx, ecx
jne 0x52ccc1
mov rdx, qword [r12 + 0x28]
mov r8, rbx
mov rcx, r14
mov edi, 4
call fcn.00522540
mov rcx, r14
call fcn.00504e10
movzx eax, ax
mov dword [r12 + 0x1c], eax
mov eax, dword [rbx]
test eax, eax
je 0x52cd90
add r13, 0x430
mov rcx, r13
call fcn.00704bd0
test al, al
je 0x52cc63
mov eax, dword [rsp + 0x4c]
mov rdx, rsi
mov rcx, r14
mov r9, rbx
mov r8d, edi
mov dword [rsp + 0x20], eax
call fcn.005ef680
mov rdx, r14
mov rcx, r13
call fcn.005f3af0
jmp 0x52cca7
add r13, 0x430
mov rcx, r13
call fcn.00704bd0
test al, al
jne 0x52cc80
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [rsp + 0x4c]
mov rdx, rsi
mov rcx, r14
mov r9, rbx
mov r8d, 1
mov dword [rsp + 0x20], eax
call fcn.005ef680
mov rdx, r14
mov rcx, r13
call fcn.005f3af0
mov rax, qword [0x00828060]
mov rcx, r14
add rax, 0x10
mov qword [rsp + 0x70], rax
call fcn.005ee340
jmp 0x52cc63
mov r8d, dword [rbp]
test r8d, r8d
jg 0x52cb90
mov edi, 2
test byte [rsp + 0x138], 2
jne 0x52cd2b
xor edx, edx
mov rcx, rsi
call fcn.00504e20
call fcn.004d6fb0
mov dword [rbx], 0
cmp word [rsi], 2
mov edx, 0x10
mov qword [rbx + 8], rax
mov rax, qword [r12 + 0x28]
mov r8d, 0x1c
mov r9, rbx
cmove r8, rdx
mov rdx, rsi
mov rcx, qword [rax]
call fcn.004fdeb0
mov edx, dword [rbx]
test edx, edx
je 0x52cbe1
mov edi, 2
add r13, 0x430
mov rcx, r13
call fcn.00704bd0
test al, al
je 0x52cc63
mov eax, dword [rsp + 0x4c]
mov rdx, rsi
mov rcx, r14
mov r9, rbx
mov r8d, edi
mov dword [rsp + 0x20], eax
call fcn.005ef680
mov rdx, r14
mov rcx, r13
call fcn.005f3af0
jmp 0x52cca7
mov edi, 1
jmp 0x52ccd3
call fcn.005230f0
jmp 0x52cabc
mov rax, qword [r12 + 0x28]
mov r8, rbx
mov edx, dword [r13 + 0x2c4]
mov rcx, qword [rax]
call fcn.004fe3d0
mov r11d, dword [rbx]
test r11d, r11d
jne 0x52ce98
mov rcx, rsi
call fcn.00504e10
test ax, ax
jne 0x52ce4b
mov rdx, qword [r12 + 0x28]
mov r8, rbx
mov rcx, r14
call fcn.00522540
mov rcx, r14
call fcn.00504e10
mov rcx, rsi
movzx edx, ax
call fcn.00504e20
mov r10d, dword [rbx]
test r10d, r10d
je 0x52ce4b
add r13, 0x430
mov rcx, r13
call fcn.00704bd0
test al, al
jne 0x52ce54
mov rcx, r13
call fcn.007049d0
test al, al
je 0x52cc63
movzx r8d, byte [r12 + 0x20]
mov rdx, rsi
mov rcx, r14
call fcn.005ef700
mov rdx, r14
mov rcx, r13
call fcn.005f3af0
mov rax, qword [0x008281c0]
mov rcx, r14
add rax, 0x10
mov qword [rsp + 0x70], rax
call fcn.005ee340
jmp 0x52cc63
add r13, 0x430
jmp 0x52ce02
mov eax, dword [rsp + 0x4c]
mov rdx, rsi
mov rcx, r14
mov r9, rbx
mov r8d, 4
mov dword [rsp + 0x20], eax
call fcn.005ef680
mov rdx, r14
mov rcx, r13
call fcn.005f3af0
mov rax, qword [0x00828060]
mov rcx, r14
add rax, 0x10
mov qword [rsp + 0x70], rax
call fcn.005ee340
jmp 0x52ce02
mov edi, 3
jmp 0x52cc10