Function at 0x628320
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, 0x148
mov r12, qword [rdx]
movsxd rbx, r8d
mov r14, rcx
mov r13, rdx
lea rbp, [rbx + 1]
mov rsi, rbx
mov qword [rsp + 0x1a8], r9
mov qword [rsp + 0xa0], 0
mov dword [rsp + 0x7c], 0
shl rbp, 4
test r9, r9
lea rax, [rbp + 8]
mov qword [rsp + 0x50], rax
je 0x62837b
mov eax, dword [r9]
mov dword [rsp + 0x7c], eax
mov rax, qword [r14]
lea r15, [rsp + 0xc8]
mov ecx, 0x1e
shl rbx, 4
mov qword [rsp + 0xa8], 0
mov qword [rsp + 0xb0], 0
mov rdi, r15
lea rdx, [r12 + rbx]
mov eax, dword [rax + 0x5c]
mov dword [rsp + 0x84], eax
xor eax, eax
rep stosd dword [rdi], eax
mov eax, dword [rdx + 0x18]
mov dword [rsp + 0x50], eax
cmp dword [rsp + 0x50], 0
lea eax, [rsi + 1]
mov dword [rsp + 0x58], eax
je 0x62841d
lea rax, [r12 + rbp + 0x18]
mov rcx, r14
lea r13, [rbp + 8]
mov qword [rsp + 0x68], rax
movsxd rax, dword [rdx + 0x2c]
add r13, r12
mov rdx, qword [rdx + 0x30]
imul rax, rax, 0xc
lea rdi, [rdx + rax - 0xc]
mov rdx, r15
mov r8d, dword [rdi]
call fcn.006332d0
mov eax, dword [rdi + 8]
mov dword [rsp + 0x138], 0
inc eax
mov dword [rsp + 0xd0], eax
jmp 0x6284d8
cmp dword [r14 + 0x34], 0
lea rdi, [r14 + 0x34]
jne 0x628449
cmp dword [r12 + 0x10], 0x7cf
jle 0x62843d
mov dword [r14 + 0x34], 0xd
jmp 0x628449
mov rcx, r12
call fcn.006227e0
mov dword [rsp + 0x50], eax
mov eax, dword [r12 + 0x14]
dec eax
cmp eax, esi
jne 0x628463
mov rdx, r13
mov rcx, rdi
call fcn.0062f110
mov r12, qword [r13]
cmp dword [r14 + 0x34], 0
jne 0x62847c
lea r8d, [rsi + 1]
xor r9d, r9d
mov rdx, r12
mov rcx, rdi
call fcn.0062f270
cmp dword [r14 + 0x34], 0
jne 0x628b37
mov r8d, dword [rsp + 0x50]
lea rax, [r12 + rbp + 0x18]
add rbx, r12
mov rdx, r15
mov rcx, r14
lea r13, [rbp + 8]
mov qword [rsp + 0x68], rax
call fcn.006332d0
movsxd rdi, dword [rbx + 0x2c]
add r13, r12
mov rax, rdi
imul rdi, rdi, 0xc
inc eax
add rdi, qword [rbx + 0x30]
mov dword [rbx + 0x2c], eax
mov eax, dword [rsp + 0x50]
mov dword [rdi + 4], 1
mov dword [rdi], eax
inc dword [r12 + 0x10]
mov eax, dword [rbx + 0x1c]
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x68]
mov dword [rsp + 0x80], 0
cmp dword [rax + 4], 1
jne 0x628503
lea eax, [rsi + 2]
cmp dword [r12 + 0x14], eax
sete al
movzx eax, al
mov dword [rsp + 0x80], eax
lea rax, [rsp + 0xa0]
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, 0x20
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x50]
mov rdx, r12
mov rcx, r14
xor ebp, ebp
mov dword [rsp + 0x38], eax
call fcn.0062a8c0
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x88], rax
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x58], rax
add rax, 0x10
mov qword [rsp + 0x60], rax
cmp dword [r14 + 0x34], 0
jne 0x6287b7
mov rbx, qword [rsp + 0xa0]
cmp byte [rbx + 0x14], 0
jne 0x6287b7
mov rax, qword [rbx + 0x58]
mov ax, word [rax + 4]
movzx r15d, ax
mov word [rsp + 0x7a], ax
movsxd rax, r15d
imul rax, rax, 0x78
add rax, rbx
mov esi, dword [rax + 0xc0]
cmp dword [rsp + 0xb0], esi
mov rax, qword [rax + 0xb8]
mov qword [rsp + 0x70], rax
jne 0x6285d9
test esi, esi
jle 0x628610
mov rdx, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x70]
movsxd r8, esi
call sub.ntdll.dll_memcmp
test eax, eax
je 0x628610
cmp qword [rsp + 0x1a8], 0
je 0x6285f5
mov eax, dword [rsp + 0x7c]
cmp dword [rsp + 0x114], eax
jg 0x6287b7
mov r9, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x88]
lea rcx, [r14 + 0x34]
mov r8d, esi
xor ebp, ebp
call fcn.00663850
movsxd rax, r15d
imul rax, rax, 0x78
add rax, rbx
cmp dword [rax + 0xd0], 0
jne 0x62863e
cmp dword [rsp + 0x80], 0
jne 0x62879c
cmp byte [rax + 0xd4], 0
je 0x62879c
mov eax, ebp
or eax, dword [r14 + 0x34]
jne 0x628660
mov r9, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x58]
mov r8d, esi
mov rcx, r14
mov ebp, 1
call fcn.00632c50
cmp dword [r14 + 0x34], 0
jne 0x628711
mov rdx, qword [rsp + 0xa0]
mov rax, qword [rdx + 0x58]
movzx eax, word [rax + 4]
imul rax, rax, 0x78
mov rsi, qword [rdx + rax + 0xc8]
mov rdx, qword [r14]
mov eax, dword [rsp + 0xf0]
add eax, dword [rsp + 0xe0]
cmp eax, dword [rdx + 0x84]
jl 0x6286ad
mov rdx, qword [rsp + 0x58]
mov rcx, r14
call fcn.00633210
cmp byte [rsp + 0x111], 0
je 0x6286db
mov edx, dword [rsp + 0xe0]
mov rax, qword [rsp + 0xd8]
mov r8, rsi
mov rcx, r14
mov byte [rax], dh
mov byte [rax + 1], dl
mov rdx, qword [rsp + 0x58]
call fcn.00632df0
cmp word [rsp + 0x110], 0
lea rcx, [r14 + 0x34]
mov r8, rsi
jne 0x6286f5
sub r8, qword [rsp + 0x108]
mov rdx, qword [rsp + 0x60]
call fcn.006637e0
mov qword [rsp + 0x108], rsi
mov word [rsp + 0x110], 0
imul r15, r15, 0x78
add r15, rbx
cmp dword [rsp + 0x84], 1
movzx eax, byte [r15 + 0xd4]
jne 0x62875e
test al, al
je 0x62879c
lea rbx, [r14 + 0x34]
mov rdx, qword [rsp + 0x60]
xor r8d, r8d
mov rcx, rbx
call fcn.006637e0
cmp dword [r15 + 0xd0], 0
jle 0x62879c
mov rdx, qword [rsp + 0x60]
xor r8d, r8d
mov rcx, rbx
call fcn.006637e0
jmp 0x62879c
mov edx, dword [r15 + 0xd0]
lea rcx, [r14 + 0x34]
lea r8d, [rax + rdx*2]
mov rdx, qword [rsp + 0x60]
movsxd r8, r8d
call fcn.006637e0
movzx eax, word [rsp + 0x7a]
mov r8, qword [rsp + 0x58]
lea r9, [0x00629db0]
mov rcx, r14
imul rax, rax, 0x78
lea rdx, [rbx + rax + 0x60]
call fcn.00623fe0
mov rdx, qword [rsp + 0xa0]
xor r9d, r9d
xor r8d, r8d
mov rcx, r14
call fcn.0062b4d0
jmp 0x628569
lea rdx, [rsp + 0xc8]
lea r8, [rdi + 8]
mov rcx, r14
call fcn.00633050
mov eax, dword [r14 + 0x34]
test eax, eax
mov dword [rsp + 0x58], eax
jne 0x628820
mov r15, qword [rsp + 0xa0]
cmp byte [r15 + 0x14], 0
jne 0x628820
lea rax, [rsp + 0x9c]
mov qword [rsp + 0xb8], 0
mov qword [rsp + 0xc0], 0
lea rbx, [r15 + 0x60]
lea rdi, [r14 + 0x34]
lea rbp, [rsp + 0xb8]
mov qword [rsp + 0x70], rax
jmp 0x62893c
lea rbp, str.DELETE_FROM__q._q_idx_WHERE_segid_
lea r15, [r14 + 0x58]
xor ebx, ebx
cmp dword [rsp + 0x50], ebx
jle 0x6288b9
imul rax, rbx, 0xc
mov rcx, r14
add rax, qword [r13 + 8]
mov esi, dword [rax]
lea eax, [rsi + 1]
mov rdx, rsi
shl rdx, 0x25
shl rax, 0x25
lea r8, [rax - 1]
call fcn.00624c20
cmp qword [r14 + 0x58], 0
jne 0x628883
mov rax, qword [r14]
mov rcx, rbp
mov rdx, qword [rax + 8]
mov r8, qword [rax + 0x10]
call fcn.00698900
mov rdx, r15
mov r8, rax
mov rcx, r14
call fcn.00628c80
cmp dword [r14 + 0x34], 0
jne 0x6288b1
mov rcx, qword [r14 + 0x58]
mov r8d, esi
mov edx, 1
call fcn.006947e0
mov rcx, qword [r14 + 0x58]
call fcn.00699ec0
mov rcx, qword [r14 + 0x58]
call fcn.00699140
mov dword [r14 + 0x34], eax
inc rbx
jmp 0x62882d
mov r8d, dword [r13 + 4]
cmp r8d, dword [rsp + 0x50]
je 0x6288e5
movsxd rdx, dword [rsp + 0x50]
sub r8d, dword [rsp + 0x50]
mov rcx, qword [r13 + 8]
imul rdx, rdx, 0xc
imul r8d, r8d, 0xc
add rdx, rcx
movsxd r8, r8d
call sub.ntdll.dll_memmove
mov eax, dword [r12 + 0x10]
sub eax, dword [rsp + 0x50]
mov esi, dword [rsp + 0x50]
mov dword [r12 + 0x10], eax
sub dword [r13 + 4], esi
cmp dword [rdi + 8], 0
mov dword [r13], 0
jne 0x628b01
mov rdi, qword [rsp + 0x68]
dec eax
dec dword [rdi + 4]
mov dword [r12 + 0x10], eax
jmp 0x628b01
cmp dword [r14 + 0x34], 0
jne 0x628aec
mov rax, qword [rbx]
test rax, rax
jne 0x62894b
inc dword [rsp + 0x58]
add rbx, 0x78
mov eax, dword [rsp + 0x58]
cmp eax, dword [r15 + 0x40]
jl 0x628921
jmp 0x628aec
cmp qword [rbx + 0x10], 0
jne 0x62895c
mov qword [rax + 4], 0
jmp 0x628934
mov edx, dword [rax]
mov esi, dword [rbx + 0x34]
mov rcx, r14
mov dword [rsp + 0x9c], 0
mov rax, rdx
mov dword [rsp + 0x60], esi
shl rax, 0x25
mov qword [rsp + 0x68], rax
movsxd rax, dword [rbx + 0x30]
mov rsi, qword [rsp + 0x68]
lea r12, [rax + rsi]
mov rdx, r12
call fcn.00629d30
test rax, rax
mov rsi, rax
je 0x628934
mov eax, dword [rsp + 0x60]
cmp eax, dword [rsi + 0xc]
jle 0x6289b2
mov dword [r14 + 0x34], 0x10b
jmp 0x628adf
mov dword [rsp + 0xc0], 0
mov r8d, dword [rsi + 8]
cmp r8d, dword [rsp + 0xc4]
jbe 0x6289d6
mov rdx, rbp
mov rcx, rdi
call fcn.00663860
mov r9, qword [rsp + 0x70]
mov r8d, 4
mov rdx, rbp
mov rcx, rdi
call fcn.00663720
movsxd r8, dword [rbx + 0x60]
mov rdx, rbp
mov rcx, rdi
call fcn.006637e0
mov r9, qword [rbx + 0x58]
mov r8d, dword [rbx + 0x60]
mov rdx, rbp
mov rcx, rdi
call fcn.00663720
movsxd r9, dword [rsp + 0x60]
mov r8d, dword [rsi + 0xc]
mov rdx, rbp
add r9, qword [rsi]
sub r8d, dword [rsp + 0x60]
mov rcx, rdi
call fcn.00663720
cmp dword [r14 + 0x34], 0
jne 0x628a46
mov edx, dword [rsp + 0xc0]
mov rax, qword [rsp + 0xb8]
mov byte [rax + 2], dh
mov byte [rax + 3], dl
mov r8d, 4
mov rdx, rbp
mov rcx, rdi
call fcn.006637e0
mov eax, dword [rbx + 0x30]
cmp dword [rbx + 0xc], eax
jne 0x628aa8
mov eax, dword [rbx + 0x3c]
mov edx, dword [rsi + 0xc]
cmp eax, edx
jge 0x628aa8
mov ecx, dword [rsi + 8]
cmp dword [rbx + 0x38], ecx
jg 0x628aa8
sub eax, edx
add eax, dword [rsp + 0xc0]
mov rdx, rbp
mov rcx, rdi
lea r8d, [rax - 5]
movsxd r8, r8d
call fcn.006637e0
movsxd r9, dword [rbx + 0x38]
mov r8d, dword [rsi + 8]
mov rdx, rbp
mov rcx, rdi
mov rax, r9
add r9, qword [rsi]
sub r8d, eax
call fcn.00663720
mov edx, dword [rbx + 0x30]
mov rax, qword [rbx]
mov r8, r12
mov rcx, r14
mov dword [rax + 4], edx
mov rdx, qword [rsp + 0x68]
inc rdx
call fcn.00624c20
mov r9d, dword [rsp + 0xc0]
mov r8, qword [rsp + 0xb8]
mov rdx, r12
mov rcx, r14
call fcn.00624e00
mov rcx, rsi
call fcn.00697980
jmp 0x628934
lea rcx, [rsp + 0xb8]
call fcn.00663820
mov eax, dword [rsp + 0x50]
mov dword [r13], eax
mov rcx, qword [rsp + 0xa0]
call fcn.0062a800
lea rcx, [rsp + 0xa8]
call fcn.00663820
cmp qword [rsp + 0x1a8], 0
je 0x628b37
mov rdi, qword [rsp + 0x1a8]
mov eax, dword [rsp + 0x114]
sub dword [rdi], eax
add rsp, 0x148
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret