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

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], r8
mov qword [r11 + 0x10], rdx
mov qword [r11 + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x118
or dword [rsp + 0x6c], 0xffffffff
xor ebx, ebx
xor eax, eax
and dword [rsp + 0x64], ebx
and dword [rsp + 0x70], ebx
and dword [rsp + 0x80], ebx
and dword [rsp + 0x78], ebx
and dword [rsp + 0xa0], eax
mov r15, r8
mov rsi, rcx
mov rbp, rdx
lea r8d, [rbx + 0x10]
lea rcx, [r11 - 0xa8]
xor edx, edx
mov qword [rsp + 0x58], rbx
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x94], eax
call fcn.180062a94
mov r14, qword [rsi]
mov qword [rsp + 0x88], r14
cmp dword [rsi + 0x4c], ebx
jne 0x18003aec5
cmp byte [r14 + 0x50], bl
jne 0x18003aec5
mov rdx, rbp
mov rcx, rsi
call fcn.18003a724
mov r12, rax
test rax, rax
je 0x18003aec5
and qword [rsp + 0x20], rbx
lea r8d, [rbx + 0x6d]
xor r9d, r9d
mov rdx, rax
mov rcx, rsi
call fcn.18005077c
xor r15d, r15d
cmp qword [r12 + 0x18], rbx
setne r15b
mov rdx, r12
mov rcx, rsi
mov rdi, rax
mov qword [rsp + 0xc0], rax
mov dword [rsp + 0x9c], r15d
call fcn.180037044
test eax, eax
jne 0x18003aebd
xor r8d, r8d
test rdi, rdi
mov rdx, r12
setne r8b
mov rcx, rsi
call fcn.18003a790
test eax, eax
jne 0x18003aebd
mov rdx, qword [r12 + 0x70]
mov rcx, r14
call fcn.180047984
mov r8, qword [r12]
lea edx, [rbx + 9]
movsxd rdi, eax
mov rax, qword [r14 + 0x20]
xor r9d, r9d
mov rcx, rdi
shl rcx, 5
mov rcx, qword [rcx + rax]
mov qword [rsp + 0x20], rcx
mov rcx, rsi
call fcn.180034634
lea r8d, [rbx + 1]
mov r13d, eax
cmp eax, r8d
je 0x18003aebd
mov ebx, dword [rsi + 0x50]
xor edx, edx
mov dword [rbp + 0x50], ebx
add dword [rsi + 0x50], r8d
mov rax, qword [r12 + 0x10]
mov ecx, dword [rsi + 0x50]
mov dword [rsp + 0x54], ebx
mov dword [rsp + 0x74], edx
test rax, rax
je 0x18003aa94
add ecx, r8d
add edx, r8d
mov dword [rsi + 0x50], ecx
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x18003aa7e
mov dword [rsp + 0x74], edx
test r15d, r15d
je 0x18003aabb
mov rcx, qword [r12]
mov rax, qword [rsi + 0x230]
mov qword [rsp + 0xb8], rsi
mov qword [rsp + 0xb0], rax
mov qword [rsi + 0x230], rcx
mov rcx, rsi
call fcn.18004a4ec
mov rbp, rax
test rax, rax
je 0x18003aeb0
cmp byte [rsi + 0x1e], 0
jne 0x18003aadc
or dword [rax + 0x8c], 0x10
mov r8d, edi
mov edx, 1
mov rcx, rsi
call fcn.18003978c
test r15d, r15d
mov r15, qword [rsp + 0x170]
je 0x18003ab1f
mov r9d, ebx
mov r8, r15
mov rdx, r12
mov rcx, rsi
call fcn.18003a7f4
mov dword [rsp + 0x60], ebx
mov dword [rsp + 0x7c], ebx
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x90], ebx
jmp 0x18003ab36
mov r8d, dword [rsp + 0x90]
mov r11d, dword [rsp + 0x7c]
mov dword [rsp + 0x50], r8d
mov dword [rsp + 0x60], r11d
xor edx, edx
lea rcx, [rsp + 0xd0]
lea r8d, [rdx + 0x38]
call fcn.180062a94
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0xd0], rsi
mov qword [rsp + 0xd8], rax
test r15, r15
je 0x18003ab7e
lea rcx, [rsp + 0xd0]
mov rdx, r15
call fcn.18002cb6c
test eax, eax
jne 0x18003b3df
test byte [r14 + 0x2c], 0x80
je 0x18003abab
and dword [rsp + 0x20], 0
mov eax, 1
xor r8d, r8d
add dword [rsi + 0x54], eax
mov eax, dword [rsi + 0x54]
lea edx, [r8 + 0x19]
mov r9d, eax
mov rcx, rbp
mov dword [rsp + 0x6c], eax
call fcn.18001eb5c
test r13d, r13d
jne 0x18003ac87
test r15, r15
jne 0x18003ac87
cmp qword [rsp + 0xc0], r15
jne 0x18003ac87
test byte [r12 + 0x48], 0x10
jne 0x18003ac87
mov rax, qword [rsi]
bt dword [rax + 0x2c], 0x13
jae 0x18003abfd
mov rcx, r12
call fcn.18003e704
test rax, rax
jne 0x18003ac87
cmp qword [r12 + 0x20], rax
jne 0x18003ac87
mov rax, qword [r12]
mov r8d, dword [r12 + 0x3c]
mov r13d, 1
mov r9b, r13b
mov edx, edi
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.1800346a8
test byte [r12 + 0x48], 0x20
jne 0x18003ac59
mov r8d, dword [rsp + 0x6c]
mov rbx, qword [r12]
lea edx, [r13 + 0x73]
mov dword [rsp + 0x20], r8d
mov r8d, dword [r12 + 0x3c]
mov r9d, edi
mov rcx, rbp
call fcn.18001eb5c
lea r9d, [r13 - 3]
mov r8, rbx
mov edx, eax
mov rcx, rbp
call fcn.18001f128
mov rbx, qword [r12 + 0x10]
jmp 0x18003ac7d
mov r8d, dword [rbx + 0x58]
and dword [rsp + 0x20], 0
mov r9d, edi
mov edx, 0x74
mov rcx, rbp
call fcn.18001eb5c
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x18003ac60
jmp 0x18003b371
test byte [r12 + 0x48], 0x20
jne 0x18003acca
xor r13d, r13d
xor r8d, r8d
mov rcx, rbp
and dword [rsp + 0x20], r13d
lea eax, [r13 + 1]
lea edx, [r13 + 0x1c]
add dword [rsi + 0x54], eax
movzx edi, ax
mov word [rsp + 0x178], ax
mov eax, dword [rsi + 0x54]
mov r9d, eax
mov dword [rsp + 0x80], eax
call fcn.18001eb5c
jmp 0x18003ad53
mov r13, qword [r12 + 0x10]
jmp 0x18003acdf
mov eax, dword [r13 + 0x64]
and al, 3
cmp al, 2
je 0x18003ace4
mov r13, qword [r13 + 0x28]
test r13, r13
jne 0x18003acd1
movsx edi, word [r13 + 0x5e]
mov eax, dword [rsi + 0x54]
and dword [rsp + 0x20], 0
lea ecx, [rax + 1]
add eax, edi
mov r9d, edi
mov dword [rsp + 0x64], ecx
mov ecx, dword [rsi + 0x50]
mov dword [rsi + 0x54], eax
lea eax, [rcx + 1]
mov dword [rsp + 0x70], ecx
mov r8d, ecx
mov edx, 0x38
mov rcx, rbp
mov word [rsp + 0x178], di
mov dword [rsi + 0x50], eax
call fcn.18001eb5c
mov rbx, qword [rsi + 0x10]
mov rdx, r13
mov rcx, rsi
mov dword [rsp + 0x94], eax
call fcn.180039d38
mov r9d, 0xfffffffa
or edx, 0xffffffff
mov r8, rax
mov rcx, rbx
call fcn.18001f128
mov ebx, dword [rsp + 0x54]
mov rdx, qword [rsp + 0x168]
lea eax, [rbx + 1]
mov ecx, 0xc
mov dword [rsp + 0x30], eax
mov word [rsp + 0x28], cx
and qword [rsp + 0x20], 0
mov rcx, rsi
xor r9d, r9d
mov r8, r15
call fcn.18005aaa0
mov r15, rax
mov qword [rsp + 0xc8], rax
test rax, rax
je 0x18003aeb0
lea rdx, [rax + 0x4c]
lea rcx, [rsp + 0xa8]
mov r8d, 8
call fcn.180062a8e
movzx eax, byte [r15 + 0x36]
test byte [r14 + 0x2c], 0x80
mov dword [rsp + 0x98], eax
mov r14d, 1
je 0x18003addd
mov r8d, dword [rsp + 0x6c]
and dword [rsp + 0x20], 0
lea edx, [r14 + 0x24]
mov r9d, r14d
mov rcx, rbp
call fcn.18001eb5c
test r13, r13
je 0x18003ae44
movsx r14d, di
xor ebx, ebx
test r14d, r14d
jle 0x18003ae39
mov r15d, dword [rsp + 0x54]
mov esi, dword [rsp + 0x64]
xor edi, edi
mov rax, qword [r13 + 8]
lea ecx, [rbx + rsi]
mov r8d, r15d
movsx r9d, word [rax + rdi]
mov dword [rsp + 0x20], ecx
mov rdx, r12
mov rcx, rbp
call fcn.18002f79c
inc ebx
add rdi, 2
cmp ebx, r14d
jl 0x18003adf8
mov rsi, qword [rsp + 0x160]
mov r15, qword [rsp + 0xc8]
mov di, word [rsp + 0x178]
mov r14d, dword [rsp + 0x64]
mov ebx, dword [rsp + 0x54]
jmp 0x18003ae70
mov eax, dword [rsi + 0x54]
mov r9d, ebx
or r8d, 0xffffffff
add eax, r14d
mov rdx, r12
mov rcx, rsi
mov byte [rsp + 0x28], 0
mov dword [rsp + 0x20], eax
call fcn.18002f874
cmp eax, dword [rsi + 0x54]
mov r14d, eax
jle 0x18003ae70
mov dword [rsi + 0x54], eax
xor eax, eax
cmp dword [rsp + 0x98], eax
je 0x18003afa7
mov edx, dword [rsp + 0x74]
mov rcx, qword [rsp + 0x88]
add edx, 2
call fcn.180005d10
mov rcx, rax
mov qword [rsp + 0x58], rax
test rax, rax
jne 0x18003af1f
mov rcx, r15
call fcn.18005b458
mov r14, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x168]
mov r15, qword [rsp + 0x170]
mov rdx, qword [rsp + 0xb8]
test rdx, rdx
je 0x18003aeea
mov rax, qword [rsp + 0xb0]
mov qword [rdx + 0x230], rax
and qword [rsp + 0xb8], 0
mov rdx, rbp
mov rcx, r14
call fcn.1800392d0
mov rdx, r15
mov rcx, r14
call fcn.18002d8c0
mov rdx, rbx
mov rcx, r14
call fcn.180005a84
add rsp, 0x118
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov eax, dword [rsp + 0x74]
mov edx, 1
inc eax
movsxd r8, eax
call fcn.180062a94
movsxd r11, dword [rsp + 0x74]
mov rdx, qword [rsp + 0x58]
mov byte [r11 + rdx + 1], 0
mov rax, qword [rsp + 0xa8]
test eax, eax
js 0x18003af5b
movsxd rcx, eax
movsxd rax, ebx
sub rcx, rax
mov byte [rcx + rdx], 0
movsxd rax, dword [rsp + 0xac]
test eax, eax
js 0x18003af74
mov rcx, rax
movsxd rax, ebx
sub rcx, rax
mov byte [rcx + rdx], 0
mov eax, dword [rsp + 0x94]
test eax, eax
je 0x18003af89
mov edx, eax
mov rcx, rbp
call fcn.18001f0c4
and dword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x10]
mov rcx, rbp
call fcn.18001eb5c
mov ebx, eax
jmp 0x18003b048
cmp r13, rax
je 0x18003b022
mov ecx, 1
mov rdx, r13
mov dword [rsp + 0x160], eax
add dword [rsi + 0x54], ecx
mov r14d, dword [rsi + 0x54]
mov rcx, rbp
call fcn.18003fb18
movsx ebx, word [rsp + 0x178]
mov r8d, dword [rsp + 0x64]
mov r9d, ebx
mov edx, 0x30
mov rcx, rbp
mov rdi, rax
mov dword [rsp + 0x20], r14d
call fcn.18001eb5c
mov r9d, ebx
mov r8, rdi
mov rcx, rbp
mov edx, eax
call fcn.18001f128
mov r8d, dword [rsp + 0x70]
and dword [rsp + 0x20], 0
mov r9d, r14d
mov edx, 0x6c
mov rcx, rbp
call fcn.18001eb5c
mov edi, dword [rsp + 0x160]
jmp 0x18003b041
mov r8d, dword [rsp + 0x80]
mov edi, 1
mov r9d, r14d
lea edx, [rdi + 0x7d]
mov rcx, rbp
mov dword [rsp + 0x20], eax
call fcn.18001eb5c
mov ebx, dword [rsp + 0xa0]
mov rcx, r15
call fcn.18005b458
mov r15d, dword [rsp + 0x98]
test r15d, r15d
je 0x18003b0ad
mov rcx, rbp
call fcn.18001ec9c
and dword [rsp + 0x20], 0
xor r8d, r8d
lea edx, [r8 + 0x10]
mov r9d, eax
mov rcx, rbp
mov dword [rsp + 0x78], eax
call fcn.18001eb5c
mov r8d, dword [rbp + 0x3c]
cmp r8d, ebx
jbe 0x18003b098
mov ecx, ebx
lea rdx, [rcx + rcx*2]
mov rcx, qword [rbp + 8]
mov dword [rcx + rdx*8 + 8], r8d
mov ecx, dword [rbp + 0x3c]
mov rax, qword [rbp + 0x30]
mov r8d, 1
sub ecx, r8d
mov dword [rax + 0x64], ecx
jmp 0x18003b0b3
mov r8d, 1
cmp dword [rsp + 0x9c], 0
mov ebx, dword [rsp + 0x54]
jne 0x18003b122
test byte [r12 + 0x48], 0x10
je 0x18003b0d6
xor edx, edx
mov dword [rsp + 0x60], r8d
mov dword [rsp + 0x50], edx
jmp 0x18003b126
lea rax, [rsp + 0x7c]
mov r9d, ebx
mov r8d, 0x36
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x90]
mov rdx, r12
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x58]
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.18004231c
mov edx, dword [rsp + 0x90]
mov r11d, dword [rsp + 0x7c]
mov dword [rsp + 0x50], edx
mov dword [rsp + 0x60], r11d
jmp 0x18003b126
mov edx, dword [rsp + 0x50]
test r15d, r15d
je 0x18003b166
movsxd rax, ebx
movsxd rcx, edx
sub rcx, rax
mov rax, qword [rsp + 0x58]
cmp byte [rcx + rax], 0
je 0x18003b1c3
mov r9d, dword [rsp + 0x78]
movsx eax, di
mov r8d, edx
mov dword [rsp + 0x28], eax
mov edx, 0x42
mov rcx, rbp
mov dword [rsp + 0x20], r14d
call fcn.18001ec5c
jmp 0x18003b1bf
xor r9d, r9d
mov rcx, rbp
test r13, r13
je 0x18003b1a4
mov ebx, dword [rsp + 0x70]
and dword [rsp + 0x20], r9d
lea edx, [r9 + 0x6a]
mov r8d, ebx
call fcn.18001eb5c
and dword [rsp + 0x20], 0
mov r9d, r14d
mov r8d, ebx
mov edx, 0x63
mov rcx, rbp
mov dword [rsp + 0x68], eax
call fcn.18001eb5c
jmp 0x18003b1bf
mov r8d, dword [rsp + 0x80]
mov edx, 0x7f
mov dword [rsp + 0x20], r14d
call fcn.18001eb5c
mov dword [rsp + 0x68], eax
mov edx, dword [rsp + 0x50]
test byte [r12 + 0x48], 0x10
je 0x18003b25a
mov rbx, qword [r12 + 0x60]
test rbx, rbx
je 0x18003b1ef
mov rax, qword [rsp + 0x88]
cmp qword [rbx], rax
je 0x18003b1ef
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x18003b1e1
mov rdx, r12
mov rcx, rsi
call fcn.180053ca8
mov dword [rsp + 0x20], r14d
mov r14d, 1
lea edx, [r14 + 0xe]
mov r9d, r14d
xor r8d, r8d
mov rcx, rbp
call fcn.18001eb5c
lea r9d, [r14 - 0xb]
mov r8, rbx
mov edx, eax
mov rcx, rbp
call fcn.18001f128
mov r11, qword [rbp + 8]
test r11, r11
je 0x18003b23f
movsxd rax, dword [rbp + 0x3c]
lea rcx, [rax + rax*2]
mov byte [r11 + rcx*8 - 0x15], 2
mov rax, qword [rsi + 0x1c0]
mov edi, dword [rsp + 0x60]
mov rcx, rsi
test rax, rax
cmovne rcx, rax
mov byte [rcx + 0x21], r14b
jmp 0x18003b29d
cmp byte [rsi + 0x1e], 0
mov r8, qword [rsp + 0xc0]
mov byte [rsp + 0x48], r15b
mov byte [rsp + 0x40], 0xa
sete al
mov r9d, edx
mov byte [rsp + 0x38], al
mov word [rsp + 0x30], di
mov edi, dword [rsp + 0x60]
mov rdx, r12
mov rcx, rsi
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], edi
call fcn.18003b3f4
mov r14d, 1
mov rcx, rbp
test r15d, r15d
je 0x18003b2b0
mov edx, dword [rsp + 0x78]
call fcn.18001ecf8
jmp 0x18003b2fd
and dword [rsp + 0x20], 0
mov ebx, dword [rsp + 0x68]
test r13, r13
je 0x18003b2ce
mov r8d, dword [rsp + 0x70]
lea r9d, [rbx + 1]
mov edx, 9
jmp 0x18003b2d8
xor r8d, r8d
mov r9d, ebx
lea edx, [r8 + 0x10]
call fcn.18001eb5c
mov edx, dword [rbp + 0x3c]
cmp edx, ebx
jbe 0x18003b2f0
mov rax, qword [rbp + 8]
lea rcx, [rbx + rbx*2]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [rbp + 0x3c]
mov rax, qword [rbp + 0x30]
sub ecx, r14d
mov dword [rax + 0x64], ecx
cmp dword [rsp + 0x9c], 0
jne 0x18003b35b
test byte [r12 + 0x48], 0x10
jne 0x18003b35b
mov r15d, 0x3b
test r13, r13
jne 0x18003b332
mov r8d, dword [rsp + 0x50]
and dword [rsp + 0x20], r13d
xor r9d, r9d
mov edx, r15d
mov rcx, rbp
call fcn.18001eb5c
mov rbx, qword [r12 + 0x10]
test rbx, rbx
je 0x18003b35b
and dword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, edi
mov edx, r15d
mov rcx, rbp
call fcn.18001eb5c
mov rbx, qword [rbx + 0x28]
add edi, r14d
jmp 0x18003b337
mov r15, qword [rsp + 0x170]
mov r14, qword [rsp + 0x88]
mov r13d, 1
cmp byte [rsi + 0x1e], 0
jne 0x18003b389
cmp qword [rsi + 0x1c8], 0
jne 0x18003b389
mov rcx, rsi
call fcn.18003ffe8
test byte [r14 + 0x2c], 0x80
je 0x18003b3df
cmp byte [rsi + 0x1e], 0
jne 0x18003b3df
cmp qword [rsi + 0x1c8], 0
jne 0x18003b3df
mov r8d, dword [rsp + 0x6c]
and dword [rsp + 0x20], 0
mov r9d, r13d
mov edx, 0x23
mov rcx, rbp
call fcn.18001eb5c
mov edx, r13d
mov rcx, rbp
call fcn.1800200d0
and qword [rsp + 0x20], 0
lea r9, str.rows_deleted
xor r8d, r8d
xor edx, edx
mov rcx, rbp
call fcn.180020164
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x168]
jmp 0x18003aec5