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

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x47]
sub rsp, 0xd8
mov rax, qword [rcx + 0x10]
mov rdi, r9
mov r13, qword [rcx]
mov r15, r8
xor r8d, r8d
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x50], r13
xorps xmm0, xmm0
mov qword [rbp - 0x61], r8
mov r14, rcx
movdqu xmmword [rbp - 0x49], xmm0
lea r9d, [r8 + 0x40]
test rdi, rdi
je 0x140077d8f
cmp dword [rdi], r9d
cmovge rdi, r8
mov qword [rbp + 0x67], rdi
movzx r12d, word [rbp + 0x77]
mov ecx, 0xfeff
mov eax, dword [rdx]
and r12w, cx
test byte [r13 + 0x5c], 0x10
mov qword [rbp - 0x59], rdi
cmove r12w, word [rbp + 0x77]
mov word [rsp + 0x30], r12w
cmp eax, r9d
jle 0x140077dd0
mov r8d, r9d
lea rdx, str.at_most__d_tables_in_a_join
mov rcx, r14
call fcn.140019200
jmp 0x1400788bc
mov ecx, 1
test r12b, 0x20
cmovne eax, ecx
mov rcx, r13
mov dword [rsp + 0x34], eax
imul eax, eax, 0x58
add eax, 0x39f
movsxd rsi, eax
and rsi, 0xfffffffffffffff8
lea rdx, [rsi + 0x60]
call fcn.140016b1c
mov rbx, rax
xor eax, eax
cmp byte [r13 + 0x61], al
je 0x140077e1f
test rbx, rbx
je 0x1400788bc
mov rdx, rbx
mov rcx, r13
call fcn.1400168a8
jmp 0x1400788bc
movsxd rcx, dword [rsp + 0x34]
xorps xmm0, xmm0
mov rax, qword [rbp + 0x57]
xor edx, edx
mov qword [rbx + 8], rax
mov rax, qword [rbp + 0x6f]
mov qword [rbx + 0x18], rax
mov qword [rbx], r14
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x20], r15
or dword [rbx + 0x30], 0xffffffff
or dword [rbx + 0x2c], 0xffffffff
mov byte [rbx + 0x42], cl
mov eax, dword [r14 + 0x44]
dec eax
mov dword [r14 + 0x44], eax
mov dword [rbx + 0x34], eax
mov dword [rbx + 0x38], eax
mov eax, dword [rbp + 0x7f]
mov word [rbx + 0x28], ax
mov word [rbx + 0x40], r12w
mov eax, dword [r14 + 0xac]
mov dword [rbx + 0x3c], eax
xor eax, eax
movups xmmword [rbx + 0x43], xmm0
imul r8, rcx, 0x58
movups xmmword [rbx + 0x53], xmm0
mov dword [rbx + 0x63], eax
lea rcx, [rbx + 0x398]
add r8, 0x60
mov byte [rbx + 0x67], al
call sub.msvcrt.dll_memset
mov rdx, qword [rbp + 0x5f]
lea r15, [rbx + 0x68]
lea rcx, [rsi + rbx]
mov qword [rbp - 0x69], rbx
mov word [rcx + 0x30], 3
lea rax, [rcx + 0x48]
mov qword [rcx + 0x38], rax
lea rsi, [rbx + 0x290]
xor eax, eax
mov qword [rbp - 0x51], rcx
mov word [rcx + 0x2c], ax
mov dword [rcx + 0x28], eax
mov rcx, r15
mov dword [rsi + 4], eax
mov byte [r15 + 0x11], al
mov qword [r15 + 8], rax
mov dword [r15 + 0x14], eax
lea rax, [r15 + 0x28]
mov qword [r15 + 0x20], rax
mov qword [rbp - 0x61], r15
mov qword [r15], rbx
mov dword [r15 + 0x18], 8
call fcn.14007319c
xor r8d, r8d
mov r10d, 2
cmp dword [rsp + 0x34], r8d
jne 0x140077f39
test rdi, rdi
je 0x140077f13
mov al, byte [rdi]
mov byte [rbx + 0x43], al
bt r12w, 8
jae 0x140077f1f
mov byte [rbx + 0x47], 1
lea r8, str.SCAN_CONSTANT_ROW
xor edx, edx
mov rcx, r14
call fcn.140031fb4
mov rax, qword [rbp + 0x57]
jmp 0x1400780c5
mov r15, qword [rbp + 0x57]
mov edi, r8d
add r15, 0x28
mov r13d, 1
movsxd rcx, dword [rsi + 4]
mov eax, dword [r15 + 0x24]
mov dword [rsi + rcx*4 + 8], eax
add dword [rsi + 4], r13d
test byte [r15 + 0x20], 4
je 0x1400780a5
mov rax, qword [r15 + 0x40]
mov rcx, qword [r15]
mov qword [rsp + 0x48], rcx
mov qword [rbp - 0x71], rax
test rax, rax
je 0x1400780a5
mov esi, r8d
mov r9d, r8d
mov dword [rsp + 0x40], r8d
cmp dword [rax], r8d
jle 0x14007809e
add rax, 8
mov qword [rbp - 0x79], rax
movsx edx, word [rcx + 0x46]
cmp esi, edx
jge 0x140077fbb
mov r8, qword [rcx + 8]
movsxd rax, esi
shl rax, 5
test byte [rax + r8 + 0x1b], r10b
jne 0x140077fd5
add esi, r13d
cmp esi, edx
jl 0x140077fa6
mov r8, qword [rcx]
lea rdx, str.too_many_arguments_on__s_____max__d
mov rcx, r14
call fcn.140019200
xor r8d, r8d
jmp 0x140078098
mov rcx, qword [r14]
xor r9d, r9d
xor r8d, r8d
mov edx, 0xa2
call fcn.1400428f8
xor r8d, r8d
mov r13, rax
test rax, rax
je 0x140078092
mov ecx, dword [r15 + 0x24]
mov rdx, qword [rbp - 0x79]
mov word [rax + 0x2c], si
inc esi
mov dword [rax + 0x28], ecx
mov rax, qword [rsp + 0x48]
mov qword [r13 + 0x40], rax
mov rdx, qword [rdx]
test rdx, rdx
je 0x140078026
mov rcx, qword [r14]
xor r9d, r9d
call fcn.140043078
jmp 0x140078029
mov rax, r8
xor r9d, r9d
mov r8, rax
mov edx, 0xa9
mov rcx, r14
call fcn.140042aa8
mov r9, rax
mov r8, r13
mov edx, Ordinal_54
mov rcx, r14
call fcn.140042aa8
mov r13d, 1
lea rcx, [rbx + 0x68]
mov r8d, r13d
mov rdx, rax
call fcn.1400723f0
mov r9d, dword [rsp + 0x40]
lea r10d, [r13 + 1]
mov rax, qword [rbp - 0x71]
add r9d, r13d
add qword [rbp - 0x79], 0x28
mov dword [rsp + 0x40], r9d
cmp r9d, dword [rax]
jge 0x14007808d
mov rcx, qword [rsp + 0x48]
jmp 0x140077f9a
xor r8d, r8d
jmp 0x14007809e
mov r13d, 1
mov r10d, 2
lea rsi, [rbx + 0x290]
mov rax, qword [rbp + 0x57]
add edi, r13d
add r15, 0x70
cmp edi, dword [rax]
jl 0x140077f4a
mov rdi, qword [rbp + 0x67]
lea r15, [rbx + 0x68]
mov r13, qword [rsp + 0x50]
mov esi, dword [r15 + 0x14]
mov r8d, 1
sub esi, r8d
js 0x1400780f7
mov edi, r8d
mov r8d, esi
mov rdx, r15
mov rcx, rax
call fcn.140072930
sub esi, edi
mov rax, qword [rbp + 0x57]
jns 0x1400780d7
mov rdi, qword [rbp + 0x67]
mov r8d, 1
xor ecx, ecx
cmp byte [r13 + 0x61], cl
jne 0x1400788a7
mov r12d, ecx
cmp dword [r15 + 0x14], ecx
jle 0x1400781b6
mov r13d, dword [rsp + 0x34]
lea eax, [rcx + 2]
mov esi, ecx
mov r15, qword [r15 + 0x20]
test byte [rsi + r15 + 0x12], al
jne 0x14007819c
cmp qword [rsi + r15 + 0x38], rcx
jne 0x14007819c
test r13d, r13d
je 0x140078173
mov rdx, qword [rsi + r15]
lea rax, [0x140077d0c]
xorps xmm0, xmm0
movups xmmword [rbp - 0x39], xmm0
mov qword [rbp - 0x31], rax
lea rax, [0x140043d28]
movups xmmword [rbp - 0x29], xmm0
mov qword [rbp - 0x29], rax
movups xmmword [rbp - 0x19], xmm0
mov byte [rbp - 0x15], r8b
test rdx, rdx
je 0x140078173
lea rcx, [rbp - 0x39]
call fcn.14003fac4
xor ecx, ecx
cmp byte [rbp - 0x15], cl
je 0x140078192
mov r8d, dword [rbx + 0x38]
mov r9d, 0x10
mov rdx, qword [rsi + r15]
mov rcx, r14
call fcn.1400475a0
or word [rsi + r15 + 0x12], 4
xor ecx, ecx
mov r8d, 1
lea eax, [r8 + 1]
add r12d, r8d
lea r15, [rbx + 0x68]
add rsi, 0x40
cmp r12d, dword [r15 + 0x14]
jl 0x14007811a
mov r13, qword [rsp + 0x50]
movzx eax, word [rsp + 0x30]
mov r12d, 0x100
mov rsi, qword [rbp + 0x6f]
and ax, r12w
mov word [rbp + 0x67], ax
je 0x140078202
mov rdx, qword [rbp + 0x57]
mov r9, rsi
mov r8, r15
mov rcx, r14
call fcn.1400737c4
xor r15d, r15d
test eax, eax
je 0x1400781ee
mov byte [rbx + 0x47], 1
jmp 0x140078205
test rdi, rdi
jne 0x140078205
mov eax, 0x80
mov qword [rbx + 0x10], rsi
or word [rbx + 0x40], ax
jmp 0x140078205
xor r15d, r15d
mov edi, dword [rsp + 0x34]
mov eax, 1
cmp edi, eax
jne 0x14007821f
lea rcx, [rbp - 0x69]
call fcn.140077b48
test eax, eax
jne 0x140078263
lea rcx, [rbp - 0x69]
call fcn.140076a34
test eax, eax
jne 0x1400788a7
xor edx, edx
mov rcx, rbx
call fcn.1400773a8
cmp byte [r13 + 0x61], r15b
jne 0x1400788a7
cmp qword [rbx + 0x10], r15
je 0x140078269
movzx edx, word [rbx + 0x60]
mov rcx, rbx
inc dx
call fcn.1400773a8
cmp byte [r13 + 0x61], r15b
jne 0x1400788a7
cmp qword [rbx + 0x10], r15
jne 0x140078279
mov eax, dword [r13 + 0x30]
bt rax, 0xc
jae 0x140078279
or qword [rbx + 0x58], 0xffffffffffffffff
cmp dword [r14 + 0x30], r15d
jne 0x1400788a7
cmp byte [r13 + 0x61], r15b
jne 0x1400788a7
or qword [rsp + 0x40], 0xffffffffffffffff
mov r11d, 2
cmp byte [rbx + 0x42], r11b
jb 0x14007843e
test rsi, rsi
je 0x14007843e
test word [r13 + 0x5c], r12w
jne 0x14007843e
lea r15, [rbx + 0x290]
mov rdx, rsi
mov rcx, r15
call fcn.14007339c
mov rdx, qword [rbp - 0x59]
xor r9d, r9d
mov qword [rsp + 0x48], rax
mov rdi, rax
test rdx, rdx
je 0x1400782f0
mov rcx, r15
call fcn.14007339c
or rdi, rax
mov qword [rsp + 0x48], rdi
xor r9d, r9d
movzx r8d, byte [rbx + 0x42]
mov esi, 1
lea edi, [r8 - 1]
cmp edi, esi
jl 0x1400784d2
mov r13, qword [rsp + 0x48]
mov r14, qword [rbp - 0x61]
movsxd rdx, r8d
imul r15, r8, 0x58
imul r12, rdx, 0x58
add r15, 0x340
lea rax, [rdx - 1]
imul rsi, rax, 0x58
add r15, rbx
add r12, 0x398
add rsi, 0x3e0
add rsi, rbx
add r12, rbx
mov r8, qword [rsi]
mov r11, qword [rbx + 8]
movzx eax, byte [r8 + 0x10]
imul r10, rax, 0x70
test byte [r10 + r11 + 0x44], 8
je 0x14007840d
cmp word [rbp + 0x67], r9w
jne 0x140078371
test dword [r8 + 0x28], 0x1000
je 0x14007840d
mov r9, qword [r8 + 8]
test r13, r9
jne 0x14007840d
mov rdx, qword [r14 + 0x20]
movsxd rcx, dword [r14 + 0x14]
shl rcx, 6
add rcx, rdx
cmp rdx, rcx
jae 0x1400783ba
test qword [rdx + 0x38], r9
je 0x1400783ac
mov rax, qword [rdx]
test byte [rax + 4], 1
je 0x1400783b5
movsx eax, word [rax + 0x30]
cmp eax, dword [r10 + r11 + 0x4c]
jne 0x1400783b5
add rdx, 0x40
cmp rdx, rcx
jb 0x140078392
cmp rdx, rcx
jb 0x14007840d
mov rax, r9
mov rdx, r9
not rax
and qword [rsp + 0x40], rax
mov rax, qword [r14 + 0x20]
jmp 0x1400783e1
test qword [rax + 0x38], rdx
je 0x1400783dd
or word [rax + 0x12], 4
mov rdx, qword [r8 + 8]
add rax, 0x40
cmp rax, rcx
jb 0x1400783ce
movzx ecx, byte [rbx + 0x42]
lea eax, [rcx - 1]
cmp edi, eax
je 0x140078406
sub ecx, edi
mov rdx, r12
dec ecx
imul eax, ecx, 0x58
mov rcx, r15
movsxd r8, eax
call sub.msvcrt.dll_memmove
dec byte [rbx + 0x42]
dec dword [rsp + 0x34]
dec edi
sub r12, 0x58
sub r15, 0x58
sub rsi, 0x58
mov r9d, 0
cmp edi, 1
jge 0x140078340
mov r14, qword [rbp + 0x4f]
lea r11d, [r9 + 2]
mov r13, qword [rsp + 0x50]
xor r15d, r15d
mov edi, dword [rsp + 0x34]
mov esi, 1
mov rcx, qword [rbx]
movzx r12d, r15w
movsx eax, word [rbx + 0x60]
movzx r8d, word [rsp + 0x30]
mov r10, qword [rbp + 0x57]
add dword [rcx + 0xac], eax
test r8b, 4
je 0x1400784e2
mov rdx, qword [rbx + 0x3e0]
mov r9d, 8
mov ecx, dword [rdx + 0x28]
bt ecx, 0xc
jb 0x140078498
mov r12d, r15d
test r9b, r8b
je 0x1400784e2
mov rax, qword [r10 + 0x28]
cmp dword [rax + 0x54], r15d
jne 0x1400784e2
bt ecx, 0xd
jae 0x140078498
test r8b, 0x10
je 0x1400784e2
mov eax, ecx
movzx r12d, r15w
and eax, 0x1000
neg eax
sbb al, al
add al, r11b
mov r11d, Ordinal_69
mov byte [rbx + 0x45], al
mov rax, qword [r10 + 0x28]
test byte [rax + 0x40], 0x20
jne 0x1400784e8
test r11b, cl
je 0x1400784e8
and ecx, 0xffffffbf
movzx r12d, r8w
mov dword [rdx + 0x28], ecx
and r12w, r9w
jmp 0x1400784e8
mov edi, dword [rsp + 0x34]
xor r15d, r15d
lea r11d, [r15 + 2]
jmp 0x140078443
mov r11d, Ordinal_69
test edi, edi
jle 0x1400787db
lea r9, [rbx + 0x3e0]
mov eax, edi
mov qword [rbp + 0x67], r9
mov qword [rsp + 0x48], rax
movzx eax, byte [r9 - 0x1c]
mov r13d, 0xfff0bdc0
mov rdx, qword [rsp + 0x50]
imul r15, rax, 0x70
xor eax, eax
mov rdi, qword [r15 + r10 + 0x28]
mov rcx, qword [rdi + 0x70]
test rcx, rcx
je 0x140078541
mov r13d, eax
mov rax, qword [rdx + 0x20]
add rax, 0x18
cmp qword [rax], rcx
je 0x14007853f
add r13d, esi
lea rax, [rax + 0x20]
jmp 0x140078531
xor eax, eax
mov rsi, qword [r9]
mov ecx, 2
mov qword [rbp + 0x4f], rsi
test byte [rdi + 0x40], cl
jne 0x1400785bb
cmp qword [rdi + 0x18], rax
jne 0x1400785bb
test dword [rsi + 0x28], 0x400
je 0x14007860a
mov rsi, qword [rdi + 0x60]
jmp 0x140078574
cmp qword [rsi], rdx
je 0x140078579
mov rsi, qword [rsi + 0x28]
test rsi, rsi
jne 0x14007856b
mov r8d, dword [r15 + r10 + 0x4c]
xor r9d, r9d
mov rcx, qword [rsp + 0x38]
mov edx, Ordinal_167
mov dword [rsp + 0x20], eax
call fcn.140031d98
mov rcx, qword [rsp + 0x38]
mov r9d, 0xfffffff4
mov r8, rsi
mov edx, eax
call fcn.1400326a0
mov r9, qword [rbp + 0x67]
movzx r8d, word [rsp + 0x30]
mov r10, qword [rbp + 0x57]
mov rsi, qword [rbp + 0x4f]
mov r11, qword [rsp + 0x38]
test dword [rsi + 0x28], 0x200
je 0x140078793
test byte [rdi + 0x40], 0x20
mov edx, reloc.WLDAP32.dll_Ordinal_97
mov rsi, qword [rsi + 0x20]
lea edi, [rdx - 0x5f]
je 0x1400786c9
mov eax, dword [rsi + 0x64]
and al, 3
cmp al, dil
jne 0x1400786c9
test r8b, 0x20
je 0x1400786c9
mov r8d, dword [r9 - 0x44]
xor r15d, r15d
mov edx, r15d
jmp 0x140078729
cmp dword [rdi + 0x54], eax
jne 0x1400785bb
test byte [rsi + 0x28], r11b
jne 0x1400785bb
test r8b, 0x20
jne 0x1400785bb
mov ecx, reloc.WLDAP32.dll_Ordinal_97
cmp byte [rbx + 0x45], al
je 0x140078632
mov eax, dword [r15 + r10 + 0x4c]
mov ecx, 0x62
mov dword [rbx + 0x2c], eax
mov edx, dword [r15 + r10 + 0x4c]
mov r9, rdi
mov dword [rsp + 0x20], ecx
mov r8d, r13d
mov rcx, r14
call fcn.14005955c
xor edx, edx
cmp byte [rbx + 0x45], dl
jne 0x140078691
lea eax, [rdx + 0x40]
cmp word [rdi + 0x46], ax
jge 0x140078691
test byte [rdi + 0x40], 0x20
jne 0x140078691
mov rax, qword [rbp + 0x57]
mov ecx, edx
mov rax, qword [r15 + rax + 0x60]
test rax, rax
je 0x14007867b
lea r8d, [rdx + 1]
add ecx, r8d
shr rax, 1
jne 0x140078673
movsxd r8, ecx
mov r9d, 0xfffffffd
mov rcx, qword [rsp + 0x38]
or edx, 0xffffffff
call fcn.1400326a0
mov r11, qword [rsp + 0x38]
mov r9, qword [rbp + 0x67]
movzx r8d, word [rsp + 0x30]
mov r10, qword [rbp + 0x57]
movsxd rax, dword [r11 + 0x90]
test eax, eax
jle 0x1400785c0
lea rcx, [rax + rax*2]
mov rax, qword [r11 + 0x88]
mov word [rax + rcx*8 - 0x16], r12w
jmp 0x1400785c0
cmp byte [rbx + 0x45], 0
je 0x140078704
mov rax, qword [r15 + r10 + 0x28]
xor r15d, r15d
mov r8d, dword [rbp + 0x7f]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1400786f9
lea eax, [r15 + 1]
cmp rcx, rsi
je 0x1400786f9
mov rcx, qword [rcx + 0x28]
add r8d, eax
test rcx, rcx
jne 0x1400786e8
mov edx, 0x62
mov dword [rbx + 0x30], r8d
jmp 0x140078729
mov eax, dword [rbp + 0x7f]
xor r15d, r15d
test eax, eax
je 0x14007871d
test r8b, 0x20
je 0x14007871d
mov r8d, eax
lea edx, [r15 + 0x60]
jmp 0x140078729
mov r8d, dword [r14 + 0x34]
lea eax, [r8 + 1]
mov dword [r14 + 0x34], eax
mov dword [r9 - 0x40], r8d
test edx, edx
je 0x140078796
mov r9d, dword [rsi + 0x58]
mov rcx, r11
mov dword [rsp + 0x20], r13d
call fcn.140031d98
mov rdx, rsi
mov rcx, r14
call fcn.140032760
mov rax, qword [rbp + 0x4f]
mov esi, 1
test byte [rax + 0x28], 0xf
je 0x14007879b
test dword [rax + 0x28], 0x88002
jne 0x14007879b
test byte [rbx + 0x40], sil
jne 0x14007879b
cmp byte [rbx + 0x47], dil
je 0x14007879b
mov rdx, qword [rsp + 0x38]
movsxd rax, dword [rdx + 0x90]
test eax, eax
jle 0x14007879b
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x88]
mov word [rax + rcx*8 - 0x16], di
jmp 0x14007879b
xor r15d, r15d
mov esi, 1
test r13d, r13d
js 0x1400787ab
mov edx, r13d
mov rcx, r14
call fcn.1400529c0
mov r9, qword [rbp + 0x67]
mov r11d, Ordinal_69
movzx r8d, word [rsp + 0x30]
add r9, 0x58
sub qword [rsp + 0x48], rsi
mov r10, qword [rbp + 0x57]
mov qword [rbp + 0x67], r9
jne 0x140078502
mov r13, qword [rsp + 0x50]
mov edi, dword [rsp + 0x34]
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0x90]
mov dword [rbx + 0x4c], eax
cmp byte [r13 + 0x61], r15b
jne 0x1400788a7
test edi, edi
jle 0x1400788a2
lea rdi, [rbx + 0x3c4]
mov rax, qword [rdi + 0x1c]
lea rsi, [rdi - 0x2c]
test dword [rax + 0x28], 0x4000
je 0x140078842
movzx eax, byte [rdi]
lea rdx, [rbx + 0x68]
mov r8, qword [rbp + 0x57]
mov r9, qword [rsp + 0x40]
add r8, 8
imul rcx, rax, 0x70
mov qword [rsp + 0x20], rsi
add r8, rcx
mov rcx, r14
call fcn.140073ac0
cmp byte [r13 + 0x61], 0
jne 0x1400788a7
movzx r9d, word [rsp + 0x30]
mov r8, rsi
mov rdx, qword [rbp + 0x57]
mov rcx, r14
call fcn.1400700dc
mov rcx, qword [rsp + 0x38]
mov r9d, r15d
mov rdx, rcx
mov r8, rbx
mov eax, dword [rcx + 0x90]
mov rcx, r14
mov dword [rdi - 0xc], eax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
call fcn.140071140
mov ecx, dword [rdi - 0x14]
inc r15d
add rdi, 0x58
mov qword [rsp + 0x40], rax
mov dword [rbx + 0x34], ecx
cmp r15d, dword [rsp + 0x34]
jl 0x140078802
mov rax, rbx
jmp 0x1400788be
mov eax, dword [rbx + 0x3c]
mov rdx, rbx
mov rcx, r13
mov dword [r14 + 0xac], eax
call fcn.140074704
xor eax, eax
add rsp, 0xd8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret