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

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov r13, r9
mov r12d, r8d
mov r15, rdx
mov rbx, rcx
xor r14d, r14d
mov edi, r14d
mov dword [rsp + 0x20], r14d
cmp r9, r14
je 0x4724ec
mov dword [r9], r14d
cmp r12d, r14d
je 0x47276b
cmp byte [rbx + 0x59], r14b
je 0x47269d
mov esi, r12d
cmp dword [rbx + 0x5c], r12d
cmovb esi, dword [rbx + 0x5c]
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x24], r14d
test esi, esi
je 0x472585
cmp byte [rsp + 0xa0], 0
jne 0x472525
mov byte [rbx + 0x58], 0
mov rcx, qword [rbx + 0x50]
test rcx, rcx
je 0x47255f
mov dword [rsp + 0x98], 0
mov rax, qword [rcx]
lea r9, [rsp + 0x98]
mov r8d, esi
mov rdx, r15
call qword [rax + 0x18]
mov r14d, eax
mov dword [rsp + 0x24], eax
mov esi, dword [rsp + 0x98]
mov dword [rsp + 0x28], esi
cmp byte [rbx + 0x30], 0
je 0x472585
cmp qword [rbx + 0x20], 0
je 0x472585
mov r8d, esi
mov eax, dword [rbx + 0x34]
mov rcx, qword [rbx + 0x68]
sub rcx, rax
add rcx, qword [rbx + 0x20]
mov rdx, r15
call sub.msvcrt.dll_memcpy
add edi, esi
mov dword [rsp + 0x20], edi
test r13, r13
je 0x472594
mov dword [r13], edi
mov ecx, esi
add r15, rcx
mov qword [rsp + 0x88], r15
sub r12d, esi
mov dword [rsp + 0x90], r12d
sub dword [rbx + 0x5c], esi
add qword [rbx + 0x68], rcx
test r14d, r14d
je 0x4725c0
mov eax, r14d
jmp 0x47277a
xor r14d, r14d
cmp dword [rbx + 0x5c], r14d
jne 0x47268f
mov al, byte [rbx + 0x58]
neg al
sbb edx, edx
not edx
and edx, 2
mov rcx, rbx
call fcn.00471688
cmp eax, r14d
jne 0x47277a
cmp dword [rbx + 0x2c], r14d
je 0x47268b
mov rcx, rbx
call fcn.004721a4
mov esi, eax
mov dword [rsp + 0x2c], eax
mov byte [rbx + 0x59], 1
inc dword [rbx + 0x3c]
cmp eax, r14d
jne 0x472635
mov rcx, qword [rbx + 0x50]
cmp rcx, r14
je 0x472635
mov rdx, qword [rbx + 0x20]
cmp rdx, r14
je 0x472635
mov eax, dword [rbx + 0x34]
mov r8, qword [rbx + 0x68]
sub r8, rax
call fcn.0041194c
mov esi, eax
mov dword [rsp + 0x2c], eax
cmp qword [rbx + 0x20], r14
jne 0x47265e
cmp byte [rbx + 0x30], r14b
je 0x47265e
cmp qword [rbx + 0x50], r14
je 0x47265e
mov edx, 1
mov rcx, rbx
call fcn.00471688
cmp eax, r14d
je 0x47267b
jmp 0x47277a
mov al, byte [rbx + 0x58]
neg al
sbb edx, edx
not edx
and edx, 2
mov rcx, rbx
call fcn.00471688
cmp eax, r14d
jne 0x47277a
cmp esi, r14d
je 0x4725ea
mov eax, esi
jmp 0x47277a
mov byte [rbx + 0x30], r14b
cmp edi, r14d
ja 0x47276b
jmp 0x4724ec
mov rax, qword [rbx + 0x18]
mov ecx, dword [rbx + 0x3c]
cmp ecx, dword [rax + 8]
jb 0x4726c7
add edi, r12d
mov dword [rsp + 0x20], edi
cmp r13, r14
je 0x4726b9
mov dword [r13], edi
mov eax, r12d
add qword [rbx + 0x68], rax
xor eax, eax
jmp 0x47277a
mov r9, qword [rbx + 0x10]
mov eax, dword [rbx + 0x38]
add eax, ecx
mov r8d, eax
mov rdx, qword [r9 + 0x10]
mov ecx, dword [rdx + rax*8]
mov rax, qword [r9]
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + r8*8 + 4]
mov rax, qword [rax + 0x10]
mov rdx, qword [rax + rcx*8]
mov eax, dword [rdx + 0x14]
mov dword [rbx + 0x5c], eax
mov eax, dword [rdx + 0x10]
mov rdx, rax
cmp rax, qword [rbx + 0x68]
jae 0x472707
mov eax, 0x80004005
jmp 0x47277a
cmp rax, qword [rbx + 0x68]
jbe 0x472744
sub eax, dword [rbx + 0x68]
mov ecx, r12d
cmp eax, r12d
cmovb ecx, eax
add edi, ecx
mov dword [rsp + 0x20], edi
cmp r13, r14
je 0x472728
mov dword [r13], edi
mov eax, ecx
add r15, rax
mov qword [rsp + 0x88], r15
sub r12d, ecx
mov dword [rsp + 0x90], r12d
add qword [rbx + 0x68], rax
cmp rdx, qword [rbx + 0x68]
jne 0x4724ec
mov rcx, rbx
call fcn.004721a4
cmp eax, r14d
jne 0x47277a
mov byte [rbx + 0x59], 1
inc dword [rbx + 0x3c]
mov byte [rbx + 0x58], 1
jmp 0x4724ec
mov rcx, rbx
call fcn.0047241c
jmp 0x47277a
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret