Function at 0x6257d0
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, 0x48
mov eax, dword [rdx]
mov rsi, rcx
mov rbx, rdx
mov qword [rdx + 4], 0
cmp eax, 4
je 0x6257fe
cmp eax, 9
jne 0x625908
mov r14, qword [rbx + 0x20]
xor r12d, r12d
cmp dword [r14 + 0x10], r12d
jle 0x6258fc
mov r13, qword [r14 + r12*8 + 0x18]
cmp dword [r13 + 0x18], 0
je 0x625831
lea rax, [r13 + 0x20]
mov dword [rsp + 0x3c], 0
mov qword [rsp + 0x30], rax
jmp 0x6258dd
mov dword [rbx + 4], 1
jmp 0x62598c
mov rcx, qword [rbp + 0x10]
test rcx, rcx
je 0x625853
call fcn.00665e30
mov qword [rbp + 0x10], 0
mov rax, qword [rsp + 0x30]
xor r10d, r10d
mov r9d, dword [rsi + 0x18]
lea r8, [rbp + 0x10]
mov r11, qword [r14 + 8]
cmp byte [rax], 0
setne r10b
test r9d, r9d
je 0x625879
mov r9d, 2
mov rdx, qword [rbp + 8]
xor eax, eax
or rcx, 0xffffffffffffffff
or r9d, r10d
mov rdi, rdx
repne scasb al, byte [rdi]
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], r11
not rcx
lea r8d, [rcx - 1]
mov rcx, qword [rsi]
call fcn.006653a0
test eax, eax
jne 0x625a5c
mov rax, qword [rbp + 0x10]
mov rbp, qword [rbp + 0x18]
cmp byte [rax + 0x14], 0
mov eax, 1
cmove r15d, eax
test rbp, rbp
jne 0x62583d
add qword [rsp + 0x30], 0x20
test r15d, r15d
je 0x625831
inc dword [rsp + 0x3c]
mov eax, dword [rsp + 0x3c]
cmp eax, dword [r13 + 0x18]
jge 0x6258f4
mov rbp, qword [rsp + 0x30]
xor r15d, r15d
jmp 0x62583d
inc r12
jmp 0x625805
mov dword [rbx + 4], 0
jmp 0x62598c
cmp qword [rdx + 0x10], 0
je 0x625831
xor r12d, r12d
xor ebp, ebp
xor eax, eax
mov ecx, dword [rbx + 0x28]
cmp ecx, r12d
setg r8b
test eax, eax
sete dl
inc r12
test r8b, dl
je 0x625947
mov r13, qword [rbx + r12*8 + 0x28]
mov rcx, rsi
mov rdx, r13
call fcn.006257d0
add ebp, dword [r13 + 4]
jmp 0x62591a
mov rdx, qword [rbx + 0x30]
mov r8, qword [rdx + 0x18]
mov qword [rbx + 0x18], r8
mov r8d, dword [rbx]
cmp r8d, 1
je 0x625978
cmp r8d, 2
jne 0x62597e
test ebp, ebp
jle 0x625984
mov rcx, rbx
mov dword [rsp + 0x30], eax
call fcn.00626850
mov eax, dword [rsp + 0x30]
jmp 0x625984
cmp ecx, ebp
jne 0x625984
jmp 0x625966
mov edx, dword [rdx + 4]
mov dword [rbx + 4], edx
test eax, eax
jne 0x625a5c
mov eax, dword [rbx + 4]
test eax, eax
jne 0x625a5a
mov edx, dword [rbx]
cmp edx, 2
je 0x625a24
jg 0x6259c4
dec edx
jne 0x625a3f
mov rdx, rbx
mov rcx, rsi
mov dword [rsp + 0x30], eax
call fcn.00625ea0
mov eax, dword [rsp + 0x30]
jmp 0x625a5c
cmp edx, 4
je 0x6259e9
cmp edx, 9
jne 0x625a3f
mov rdx, rbx
mov rcx, rsi
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x625f10
mov rdx, qword [rbx + 0x20]
mov r9, qword [rsi + 8]
mov rcx, qword [rdx + 0x18]
cmp dword [r9 + 0x5c], 0
mov rdx, qword [rcx + 0x30]
mov r8d, dword [rdx + 0x10]
mov dword [rcx + 0x10], r8d
jne 0x625a10
mov r9, qword [rdx + 8]
mov qword [rcx + 8], r9
mov rdx, qword [rdx]
mov qword [rbx + 0x18], rdx
xor edx, edx
test r8d, r8d
sete dl
mov dword [rbx + 8], edx
jmp 0x625a5c
mov rdx, rbx
mov rcx, rsi
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x625d20
mov rdx, rbx
mov rcx, rsi
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.00625df0
xor eax, eax
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rdi, qword [rdx + 0x18]
xor r14d, r14d
mov r12, rcx
mov rbx, rdx
mov dword [rbx + 8], r14d
xor ebp, ebp
mov r13d, 1
cmp dword [rbx + 0x28], ebp
jle 0x625db5
mov rsi, qword [rbx + rbp*8 + 0x30]
mov ecx, dword [r12 + 0x18]
mov rdx, rdi
mov r8, qword [rsi + 0x18]
call fcn.0062d230
test eax, eax
jle 0x625d85
mov r9, rdi
mov r8d, 1
mov rdx, rsi
mov rcx, r12
call qword [rsi + 0x10]
test eax, eax
je 0x625d85
mov dword [rbx + 8], 0
jmp 0x625dd5
cmp dword [rsi + 4], 0
je 0x625d95
mov rcx, rbx
call fcn.00626850
jmp 0x625dba
mov rax, qword [rsi + 0x18]
cmp rax, rdi
cmovne r13d, r14d
cmp dword [rsi + 8], 0
je 0x625dad
mov dword [rbx + 8], 1
inc rbp
mov rdi, rax
jmp 0x625d47
test r13d, r13d
je 0x625d3b
cmp dword [rbx + 8], 0
je 0x625dcf
cmp qword [r12 + 0x10], rbx
je 0x625dcf
mov rcx, rbx
call fcn.00626680
mov qword [rbx + 0x18], rdi
xor eax, eax
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x178
mov r12, qword [rdx + 0x20]
mov r14, rcx
mov qword [rsp + 0x1c8], rdx
mov esi, dword [r14 + 0x18]
mov rcx, qword [r12 + 0x18]
cmp qword [rcx + 0x38], 0
je 0x625f55
add rcx, 0x20
xor r8d, r8d
mov edx, esi
call fcn.00626a70
mov r13, rax
jmp 0x625f5c
mov rax, qword [rcx + 0x30]
mov r13, qword [rax]
xor ebx, ebx
xor ebp, ebp
mov dword [rsp + 0x38], 1
cmp dword [r12 + 0x10], ebp
jle 0x6260e9
mov r15, qword [r12 + rbp*8 + 0x18]
lea rax, [rsp + 0xb0]
mov dword [rsp + 0x58], 0
mov qword [rsp + 0x40], rax
lea rdi, [r15 + 0x20]
mov eax, dword [rsp + 0x58]
cmp dword [r15 + 0x18], eax
jle 0x6260e1
cmp qword [rdi + 0x18], 0
je 0x626063
xor r8d, r8d
mov edx, esi
mov rcx, rdi
call fcn.00626a70
cmp rax, r13
je 0x6260d4
mov dword [rsp + 0xb0], 0
mov r8, rdi
xor eax, eax
test eax, eax
jne 0x626016
test r8, r8
je 0x626016
mov rcx, qword [r8 + 0x10]
xor eax, eax
cmp byte [rcx + 0x14], 0
jne 0x626010
test esi, esi
mov rax, qword [rcx]
jne 0x625ff1
cmp rax, r13
jl 0x625ffa
test esi, esi
je 0x62600e
cmp rax, r13
jle 0x62600e
mov rdx, r13
mov qword [rsp + 0x38], r8
call fcn.00665e90
mov r8, qword [rsp + 0x38]
jmp 0x626010
xor eax, eax
mov r8, qword [r8 + 0x18]
jmp 0x625fd0
test eax, eax
je 0x626029
mov dword [rsp + 0xb0], 1
mov ebx, eax
jmp 0x62603b
mov r8, qword [rsp + 0x40]
mov edx, esi
mov rcx, rdi
call fcn.00626a70
mov r13, rax
mov eax, dword [rsp + 0xb0]
test eax, eax
mov dword [rsp + 0x38], eax
je 0x6260d4
mov rax, qword [rsp + 0x1c8]
mov qword [rax + 4], 1
jmp 0x626663
mov r8, qword [rdi + 0x10]
mov rax, qword [r8]
cmp rax, r13
je 0x6260d4
cmp byte [r8 + 0x14], 0
jne 0x6260d4
test esi, esi
jne 0x62607f
cmp rax, r13
jl 0x626088
test esi, esi
je 0x6260c9
cmp rax, r13
jle 0x6260c9
mov rdx, r13
mov rcx, r8
mov qword [rsp + 0x48], r8
call fcn.00665e90
test eax, eax
mov dword [rsp + 0x38], eax
jne 0x6260ac
mov r8, qword [rsp + 0x48]
cmp byte [r8 + 0x14], 0
je 0x6260c4
mov rax, qword [rsp + 0x1c8]
mov ebx, dword [rsp + 0x38]
mov dword [rax + 4], 1
jmp 0x626663
mov r13, qword [r8]
jmp 0x6260d4
mov r13, rax
mov dword [rsp + 0x38], 0
inc dword [rsp + 0x58]
add rdi, 0x20
jmp 0x625f91
inc rbp
jmp 0x625f68
cmp dword [rsp + 0x38], 0
je 0x625f5e
mov rax, qword [rsp + 0x1c8]
mov rsi, qword [rsp + 0x1c8]
mov dword [rsp + 0x88], ebx
mov qword [rax + 0x18], r13
mov rax, qword [r14 + 8]
mov rbp, qword [rsi + 0x20]
mov r15d, dword [rax + 0x5c]
test r15d, r15d
je 0x626166
mov rax, qword [rbp + 0x18]
lea rdx, [rax + 0x20]
mov dword [rax + 0x10], 0
mov rcx, qword [rdx + 0x10]
cmp byte [rcx + 0x14], 0
jne 0x62614b
cmp qword [rcx], r13
jne 0x62614b
cmp dword [rcx + 0x10], 0
jle 0x62614b
mov dword [rax + 0x10], 1
mov rdx, qword [rdx + 0x18]
test rdx, rdx
jne 0x62612f
xor r15d, r15d
cmp dword [rax + 0x10], 0
jne 0x626657
jmp 0x62664e
mov qword [rsp + 0x40], 0
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
mov eax, dword [rbp + 0x10]
je 0x6261a5
mov eax, dword [rsp + 0x58]
cmp eax, dword [rbp + 0x10]
mov ebx, dword [rsp + 0x88]
jne 0x62664e
jmp 0x62647f
cmp dword [rsp + 0x40], eax
jge 0x62618c
mov rax, qword [rsp + 0x40]
mov rbx, qword [rbp + rax*8 + 0x18]
movsxd rcx, dword [rbx + 0x18]
mov al, byte [rbx + 0x21]
mov byte [rsp + 0x5f], al
cmp ecx, 1
jg 0x6261db
cmp qword [rbx + 0x38], 0
jne 0x6261db
cmp qword [rbp + 8], 0
jne 0x6261db
test al, al
je 0x626458
cmp ecx, 4
mov qword [rsp + 0x90], 0
mov dword [rbx + 0x10], 0
jle 0x626209
shl rcx, 5
call fcn.00698860
test rax, rax
mov rsi, rax
jne 0x626211
jmp 0x62643f
lea rsi, [rsp + 0xb0]
movsxd rcx, dword [rbx + 0x18]
xor eax, eax
mov rdi, rsi
mov qword [rsp + 0x50], rsi
mov r13, rsi
xor r12d, r12d
shl rcx, 5
rep stosb byte [rdi], al
lea rax, [rsp + 0x98]
lea rdi, [rbx + 0x20]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x8c]
mov qword [rsp + 0x70], rax
cmp r12d, dword [rbx + 0x18]
jge 0x626368
cmp qword [rdi + 0x18], 0
mov dword [rsp + 0x8c], 0
mov qword [rsp + 0x98], 0
je 0x6262f0
mov rax, qword [rsp + 0x1c8]
mov r9, qword [rsp + 0x60]
mov rcx, rdi
mov r8, qword [rsp + 0x68]
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0xa8], 0
mov rdx, qword [rax + 0x18]
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x20], rax
call fcn.00626880
test eax, eax
mov r14d, eax
je 0x6262d7
mov rcx, qword [rsp + 0x98]
call fcn.00697980
jmp 0x6263f6
xor r14d, r14d
mov rax, qword [rsp + 0x98]
cmp qword [rsp + 0xa0], rax
sete r14b
jmp 0x62630d
mov rax, qword [rdi + 0x10]
xor r14d, r14d
mov rdx, qword [rax + 8]
mov eax, dword [rax + 0x10]
mov qword [rsp + 0x98], rdx
mov dword [rsp + 0x8c], eax
mov edx, dword [rsp + 0x8c]
mov rcx, qword [rsp + 0x98]
mov r8, r13
mov qword [rsp + 0x78], r13
add rdi, 0x20
add r13, 0x20
call fcn.00666930
mov r9, qword [rsp + 0x78]
mov byte [r13 - 0x10], r14b
cmp byte [r9 + 0x11], 0
jne 0x6263f3
inc r12d
jmp 0x626256
mov rcx, r12
add r12, 0x20
call fcn.00666970
test eax, eax
jne 0x6263f3
inc edi
cmp edi, dword [rbx + 0x18]
jl 0x62634d
mov r8, qword [rsi + 0x18]
mov eax, dword [rsp + 0x38]
mov r12, rsi
xor edi, edi
cmp dword [rbx + 0x18], edi
jle 0x6263bd
lea r13, [rdi + r8]
cmp r13, qword [r12 + 0x18]
je 0x6263b4
mov rdx, qword [r12 + 0x18]
cmp r13, rdx
jle 0x6263a7
mov rcx, r12
mov qword [rsp + 0x60], r8
call fcn.00666970
test eax, eax
mov r8, qword [rsp + 0x60]
je 0x626385
jmp 0x6263f3
mov eax, 0
jge 0x6263b4
sub rdx, rdi
mov r8, rdx
inc rdi
add r12, 0x20
jmp 0x626375
test eax, eax
je 0x62636c
cmp byte [rsp + 0x5f], 0
je 0x6263d1
test r8d, 0x7fffffff
jne 0x6263e9
lea rdx, [rsp + 0x90]
lea rcx, [rbx + 8]
call fcn.00666a20
test eax, eax
mov r14d, eax
jne 0x6263f6
mov r12, rsi
xor edi, edi
jmp 0x626363
xor r14d, r14d
xor edi, edi
cmp dword [rbx + 0x10], 0
setg dil
mov eax, dword [rsp + 0x48]
cmp eax, dword [rbx + 0x18]
jge 0x626428
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x10], 0
je 0x62641c
mov rcx, qword [rax]
call fcn.00697980
inc dword [rsp + 0x48]
add qword [rsp + 0x50], 0x20
jmp 0x626400
lea rax, [rsp + 0xb0]
cmp rsi, rax
je 0x626447
mov rcx, rsi
call fcn.00697980
jmp 0x626447
xor edi, edi
mov r14d, 7
test edi, edi
mov dword [rsp + 0x88], r14d
jne 0x626475
jmp 0x62618c
mov rax, qword [rbx + 0x30]
lea rdx, [rbx + 8]
lea rcx, [rsp + 0x88]
mov r9, qword [rax + 8]
mov r8d, dword [rax + 0x10]
call fcn.00663850
inc qword [rsp + 0x40]
jmp 0x62616f
cmp dword [rsp + 0x58], 1
je 0x626657
cmp dword [rsp + 0x58], 4
lea r12, [rbp + 0x18]
mov dword [rsp + 0xa0], ebx
jle 0x6264b7
movsxd rdx, dword [rsp + 0x58]
lea rcx, [rsp + 0xa0]
imul rdx, rdx, 0x30
call fcn.00665f70
mov rsi, rax
jmp 0x6264cb
lea rsi, [rsp + 0xb0]
mov ecx, 0x30
xor eax, eax
mov rdi, rsi
rep stosd dword [rdi], eax
mov r15d, dword [rsp + 0xa0]
test r15d, r15d
jne 0x6264e0
mov rbx, rsi
xor r13d, r13d
jmp 0x6264e8
mov ebx, r15d
jmp 0x62664e
cmp dword [rbp + 0x10], r13d
jle 0x626589
mov r14, qword [r12 + r13*8]
lea rdx, [rbx + 0xc]
xor eax, eax
mov ecx, 5
inc r13
mov rdi, rdx
mov r8d, dword [r14 + 0x10]
mov r9, qword [r14 + 8]
add r14, 8
rep stosd dword [rdi], eax
mov rcx, rbx
mov qword [rbx], r9
mov dword [rbx + 8], r8d
call fcn.006af470
mov rcx, rbx
add rbx, 0x30
call fcn.006af470
mov dword [r14 + 8], 0
mov qword [rbx - 8], r14
jmp 0x6264e8
mov eax, dword [rsp + 0x38]
mov rdi, rsi
xor r13d, r13d
cmp dword [rbp + 0x10], r13d
jg 0x62658f
test eax, eax
je 0x62653e
lea rbx, [rsi + 0x20]
xor edi, edi
mov r9d, dword [rbp + 0x10]
cmp edi, r9d
jl 0x6265df
mov rdx, qword [rsi + 0x18]
xor ecx, ecx
xor eax, eax
cmp r9d, eax
mov r10d, eax
jg 0x626605
imul rcx, rcx, 0x30
add rcx, rsi
call fcn.006af470
test eax, eax
jne 0x626627
mov rbx, qword [rsi + 0x10]
jmp 0x62653e
mov rdx, qword [rbp + r13*8 + 0x18]
mov r12, rbx
movsxd rdx, dword [rdx + 0x18]
sub r12, rdx
movsxd rdx, dword [rbp]
sub r12, rdx
mov rdx, qword [rdi + 0x10]
cmp rbx, rdx
jl 0x6265c1
cmp r12, rdx
jle 0x6265d3
jmp 0x6265c1
mov rcx, rdi
call fcn.006af470
test eax, eax
jne 0x626627
mov rax, qword [rdi + 0x10]
cmp r12, rax
jg 0x6265b5
cmp rbx, rax
cmovl rbx, rax
xor eax, eax
inc r13
add rdi, 0x30
jmp 0x626548
mov rcx, qword [rbx + 8]
mov r8, qword [rbx - 0x10]
cmp dword [rcx + 8], 0
je 0x6265f2
cmp r8, qword [rbx]
je 0x6265fa
mov rdx, rbx
call fcn.00666a20
inc edi
add rbx, 0x30
jmp 0x626558
imul r8, rax, 0x30
mov r8, qword [rsi + r8 + 0x18]
cmp r8, rdx
jl 0x626619
mov r8, rdx
mov r10d, ecx
inc rax
mov rdx, r8
movsxd rcx, r10d
jmp 0x626569
mov rax, qword [rsi + 0x28]
mov ebx, dword [rsp + 0xa0]
mov edi, dword [rax + 8]
lea rax, [rsp + 0xb0]
cmp rsi, rax
je 0x62664a
mov rcx, rsi
call fcn.00697980
test edi, edi
jg 0x626657
xor r15d, r15d
test ebx, ebx
sete r15b
mov rax, qword [rsp + 0x1c8]
mov dword [rax + 8], r15d
mov eax, ebx
add rsp, 0x178
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret