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

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], r9
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x47]
sub rsp, 0xc0
mov rax, qword [rcx + 0x10]
xor ebx, ebx
mov r12, qword [rcx]
mov rsi, r9
mov qword [rbp - 0x71], rax
xorps xmm0, xmm0
mov qword [rbp - 0x61], r12
mov r15, r8
lea r9d, [rbx + 0x40]
mov r8, rdx
mov r13, rcx
movdqu xmmword [rbp - 0x31], xmm0
test rsi, rsi
je 0x1800500ea
cmp dword [rsi], r9d
cmovge rsi, rbx
mov qword [rbp + 0x67], rsi
movzx ecx, word [rbp + 0x77]
mov edx, 0xfeff
mov al, byte [r12 + 0x5c]
and cx, dx
mov edx, dword [r8]
and al, 0x10
mov qword [rbp - 0x41], rsi
cmove cx, word [rbp + 0x77]
mov word [rsp + 0x30], cx
cmp edx, r9d
jle 0x18005012a
mov r8d, r9d
lea rdx, str.at_most__d_tables_in_a_join
mov rcx, r13
call fcn.180013f24
jmp 0x180050b5f
test cl, 0x20
mov eax, 1
cmovne edx, eax
mov al, byte [r12 + 0x61]
imul r14d, edx, 0x58
mov dword [rbp - 0x7d], edx
add r14d, 0x39f
and r14d, 0xfffffff8
test al, al
je 0x180050155
mov rdi, rbx
jmp 0x180050178
movsxd rdx, r14d
mov rcx, r12
add rdx, 0x60
call fcn.180012200
movzx ecx, word [rsp + 0x30]
mov rdi, rax
mov al, byte [r12 + 0x61]
mov edx, dword [rbp - 0x7d]
mov r8, qword [rbp + 0x57]
test al, al
je 0x18005018c
mov rdx, rdi
mov rcx, r12
call fcn.180011fe8
jmp 0x180050b5f
mov rax, qword [rbp + 0x6f]
mov qword [rdi + 0x18], rax
mov qword [rdi + 8], r8
mov qword [rdi], r13
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x20], r15
or dword [rdi + 0x30], 0xffffffff
or dword [rdi + 0x2c], 0xffffffff
mov byte [rdi + 0x42], dl
xor edx, edx
mov eax, dword [r13 + 0x44]
dec eax
mov dword [r13 + 0x44], eax
mov dword [rdi + 0x34], eax
lea r8d, [rdx + 0x25]
mov dword [rdi + 0x38], eax
mov eax, dword [rbp + 0x7f]
mov word [rdi + 0x40], cx
lea rcx, [rdi + 0x43]
mov word [rdi + 0x28], ax
mov eax, dword [r13 + 0xa4]
mov dword [rdi + 0x3c], eax
call fcn.18008bbf0
movsxd rax, dword [rbp - 0x7d]
lea rcx, [rdi + 0x398]
imul r8, rax, 0x58
xor edx, edx
add r8, 0x60
call fcn.18008bbf0
lea r8, [rdi + 0x68]
movsxd rcx, r14d
add rcx, rdi
mov qword [rbp - 0x51], rdi
mov qword [rbp - 0x39], rcx
lea r14, [rdi + 0x290]
mov rdx, r15
mov qword [rbp - 0x49], r8
mov word [rcx + 0x2c], bx
lea rax, [rcx + 0x48]
mov qword [rcx + 0x38], rax
mov eax, 3
mov word [rcx + 0x30], ax
mov eax, 8
mov dword [rcx + 0x28], ebx
mov rcx, r8
mov dword [r14 + 4], ebx
mov dword [r8 + 0x18], eax
lea rax, [r8 + 0x28]
mov qword [r8 + 0x20], rax
mov qword [r8], rdi
mov byte [r8 + 0x11], bl
mov qword [r8 + 8], rbx
mov dword [r8 + 0x14], ebx
call fcn.18004ca34
mov ecx, 0x100
mov r8d, 2
cmp dword [rbp - 0x7d], ebx
jne 0x1800503c6
test rsi, rsi
je 0x18005027e
mov al, byte [rsi]
mov byte [rdi + 0x43], al
test word [rsp + 0x30], cx
mov ecx, 1
je 0x18005028f
mov eax, ecx
mov byte [rdi + 0x47], al
mov rax, qword [rbp + 0x57]
lea r15, [rdi + 0x68]
mov r14d, dword [r15 + 0x14]
sub r14d, ecx
js 0x1800502c1
mov r13d, 1
mov r8d, r14d
mov rdx, r15
mov rcx, rax
call fcn.18004c358
sub r14d, r13d
mov rax, qword [rbp + 0x57]
jns 0x1800502a6
mov r13, qword [rbp + 0x4f]
mov r14, qword [rbp - 0x61]
cmp byte [r14 + 0x61], bl
jne 0x180050b4a
mov r12d, ebx
cmp dword [r15 + 0x14], ebx
jle 0x180050382
mov esi, dword [rbp - 0x7d]
mov r14, rbx
mov eax, 1
mov r15, qword [r15 + 0x20]
test byte [r14 + r15 + 0x12], 2
jne 0x180050365
cmp qword [r14 + r15 + 0x38], rbx
jne 0x180050365
test esi, esi
je 0x180050343
xor edx, edx
lea rcx, [rbp - 0x21]
lea r8d, [rdx + 0x30]
call fcn.18008bbf0
mov eax, 1
mov byte [rbp + 3], al
lea rax, [0x18005006c]
mov qword [rbp - 0x19], rax
lea rax, [0x180032f68]
mov qword [rbp - 0x11], rax
cmp qword [r14 + r15], rbx
je 0x180050343
mov rdx, qword [r14 + r15]
lea rcx, [rbp - 0x21]
call fcn.18002ee8c
cmp byte [rbp + 3], bl
je 0x180050360
mov r8d, dword [rdi + 0x38]
mov r9d, 0x10
mov rdx, qword [r14 + r15]
mov rcx, r13
call fcn.180034b50
or word [r14 + r15 + 0x12], 4
mov eax, 1
add r12d, eax
lea r15, [rdi + 0x68]
add r14, 0x40
cmp r12d, dword [r15 + 0x14]
jl 0x1800502e7
mov rsi, qword [rbp + 0x67]
mov r14, qword [rbp - 0x61]
movzx eax, word [rsp + 0x30]
mov ecx, 0x100
mov r12, qword [rbp + 0x6f]
and ax, cx
mov word [rbp + 0x67], ax
je 0x18005056c
mov rdx, qword [rbp + 0x57]
mov r9, r12
mov r8, r15
mov rcx, r13
call fcn.18004d16c
test eax, eax
je 0x18005055a
mov r15d, 1
mov byte [rdi + 0x47], r15b
jmp 0x18005056c
mov r15, qword [rbp + 0x57]
mov esi, ebx
add r15, 0x28
movsxd rcx, dword [r14 + 4]
mov eax, dword [r15 + 0x24]
mov dword [r14 + rcx*4 + 8], eax
mov ecx, 1
add dword [r14 + 4], ecx
test byte [r15 + 0x20], 4
je 0x18005053f
mov rax, qword [r15 + 0x40]
mov r12, qword [r15]
mov qword [rbp - 0x59], rax
test rax, rax
je 0x18005053f
mov r14d, ebx
mov edx, ebx
mov dword [rbp - 0x69], ebx
cmp dword [rax], ebx
jle 0x180050538
add rax, 8
mov qword [rbp - 0x79], rax
movsx ecx, word [r12 + 0x46]
cmp r14d, ecx
jge 0x180050511
mov rdx, qword [r12 + 8]
mov r13d, 1
movsxd rax, r14d
shl rax, 5
test byte [rax + rdx + 0x1b], r8b
jne 0x18005044d
add r14d, r13d
cmp r14d, ecx
jl 0x180050437
mov r13, qword [rbp + 0x4f]
mov edx, dword [rbp - 0x69]
cmp r14d, ecx
jge 0x180050511
mov rcx, qword [r13]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x9e
call fcn.1800319d8
mov r13, rax
test rax, rax
je 0x180050529
mov ecx, dword [r15 + 0x24]
mov word [rax + 0x30], r14w
inc r14d
mov dword [rax + 0x2c], ecx
mov qword [rax + 0x40], r12
mov rax, qword [rbp - 0x79]
cmp qword [rax], rbx
je 0x1800504b0
mov rcx, qword [rbp + 0x4f]
xor r9d, r9d
mov rdx, qword [rax]
xor r8d, r8d
mov rcx, qword [rcx]
call fcn.1800321d8
jmp 0x1800504b3
mov rax, rbx
mov rcx, qword [rbp + 0x4f]
xor r9d, r9d
mov r8, rax
mov edx, 0xa2
call fcn.180031ba0
mov r8, r13
mov r9, rax
mov r13, qword [rbp + 0x4f]
mov edx, Ordinal_54
mov rcx, r13
call fcn.180031ba0
mov r8d, 1
lea rcx, [rdi + 0x68]
mov rdx, rax
call fcn.18004c014
mov edx, dword [rbp - 0x69]
mov r8d, 2
mov rax, qword [rbp - 0x59]
inc edx
add qword [rbp - 0x79], 0x28
mov dword [rbp - 0x69], edx
cmp edx, dword [rax]
jl 0x18005041d
jmp 0x180050533
mov r8, qword [r12]
mov r9d, edx
lea rdx, str.too_many_arguments_on__s_____max__d
mov rcx, r13
call fcn.180013f24
jmp 0x18005052d
mov r13, qword [rbp + 0x4f]
mov r8d, 2
mov ecx, 1
lea r14, [rdi + 0x290]
mov rax, qword [rbp + 0x57]
add esi, ecx
add r15, 0x70
cmp esi, dword [rax]
jl 0x1800503d0
mov rsi, qword [rbp + 0x67]
jmp 0x180050293
test rsi, rsi
jne 0x18005056c
mov eax, 0x80
mov qword [rdi + 0x10], r12
or word [rdi + 0x40], ax
mov r15d, dword [rbp - 0x7d]
mov eax, 1
cmp r15d, eax
jne 0x180050590
test byte [rdi + 0x40], 0x20
jne 0x180050590
mov rdx, rdi
lea rcx, [rbp - 0x51]
call fcn.18004feb8
test eax, eax
jne 0x1800505d4
lea rcx, [rbp - 0x51]
call fcn.18004edb8
test eax, eax
jne 0x180050b4a
xor edx, edx
mov rcx, rdi
call fcn.18004f65c
cmp byte [r14 + 0x61], bl
jne 0x180050b4a
cmp qword [rdi + 0x10], rbx
je 0x1800505da
movzx edx, word [rdi + 0x60]
mov rcx, rdi
inc dx
call fcn.18004f65c
cmp byte [r14 + 0x61], bl
jne 0x180050b4a
cmp qword [rdi + 0x10], rbx
jne 0x1800505ea
mov eax, dword [r14 + 0x30]
bt rax, 0xc
jae 0x1800505ea
or qword [rdi + 0x58], 0xffffffffffffffff
cmp dword [r13 + 0x30], ebx
jne 0x180050b4a
cmp byte [r14 + 0x61], bl
jne 0x180050b4a
or qword [rbp - 0x69], 0xffffffffffffffff
cmp byte [rdi + 0x42], 2
jb 0x1800507a5
test r12, r12
je 0x1800507a5
mov eax, 0x100
test word [r14 + 0x5c], ax
jne 0x1800507a5
lea rsi, [rdi + 0x290]
mov rdx, r12
mov rcx, rsi
call fcn.18004cbec
mov rdx, qword [rbp - 0x41]
mov r8, rax
mov qword [rbp - 0x79], rax
test rdx, rdx
je 0x18005065b
mov rcx, rsi
call fcn.18004cbec
mov r8, qword [rbp - 0x79]
or r8, rax
mov qword [rbp - 0x79], r8
movzx ecx, byte [rdi + 0x42]
mov edx, 1
lea esi, [rcx - 1]
cmp esi, edx
jl 0x1800507aa
imul r12, rcx, 0x58
movsxd rax, ecx
lea r15, [rdi + 0x3e0]
sub rax, rdx
lea r13, [rdi + 0x398]
imul rax, rax, 0x58
add r12, 0x340
add r15, rax
add r12, rdi
lea eax, [rsi + 1]
movsxd rcx, eax
imul rax, rcx, 0x58
add r13, rax
mov r10, qword [r15]
mov r14, qword [rdi + 8]
movzx eax, byte [r10 + 0x10]
imul r11, rax, 0x70
test byte [r11 + r14 + 0x44], 8
je 0x18005077d
cmp word [rbp + 0x67], bx
jne 0x1800506d5
test dword [r10 + 0x28], 0x1000
je 0x18005077d
mov r9, qword [r10 + 8]
test r8, r9
jne 0x18005077d
mov rax, qword [rbp - 0x49]
mov rcx, qword [rax + 0x20]
movsxd rdx, dword [rax + 0x14]
mov r8, rcx
shl rdx, 6
add rdx, rcx
cmp rcx, rdx
jae 0x180050725
test qword [r8 + 0x38], r9
je 0x180050717
mov rax, qword [r8]
test byte [rax + 4], 1
je 0x180050720
movsx eax, word [rax + 0x34]
cmp eax, dword [r11 + r14 + 0x4c]
jne 0x180050720
add r8, 0x40
cmp r8, rdx
jb 0x1800506fd
cmp r8, rdx
jb 0x180050778
not r9
and qword [rbp - 0x69], r9
jmp 0x180050741
mov rax, qword [rcx + 0x38]
test qword [r10 + 8], rax
je 0x18005073d
or word [rcx + 0x12], 4
add rcx, 0x40
cmp rcx, rdx
jb 0x18005072e
movzx ecx, byte [rdi + 0x42]
lea eax, [rcx - 1]
cmp esi, eax
je 0x180050769
sub ecx, esi
mov rdx, r13
dec ecx
imul eax, ecx, 0x58
mov rcx, r12
movsxd r8, eax
call fcn.18008c4c0
mov cl, byte [rdi + 0x42]
mov edx, 1
sub cl, dl
sub dword [rbp - 0x7d], edx
mov byte [rdi + 0x42], cl
jmp 0x18005077d
mov edx, 1
mov r8, qword [rbp - 0x79]
sub esi, edx
sub r13, 0x58
sub r12, 0x58
sub r15, 0x58
cmp esi, edx
jge 0x1800506a5
mov r13, qword [rbp + 0x4f]
mov r14, qword [rbp - 0x61]
mov r15d, dword [rbp - 0x7d]
jmp 0x1800507aa
mov edx, 1
mov rcx, qword [rdi]
movsx eax, word [rdi + 0x60]
movzx r8d, word [rsp + 0x30]
mov word [rbp + 0x67], bx
add dword [rcx + 0xa4], eax
test r8b, 4
je 0x180050841
mov rax, qword [rdi + 0x3e0]
mov r11d, 8
mov ecx, dword [rax + 0x28]
bt ecx, 0xc
jb 0x1800507f5
mov dword [rbp + 0x67], ebx
test r11b, r8b
je 0x180050841
bt ecx, 0xd
jae 0x1800507f5
mov word [rbp + 0x67], bx
test r8b, 0x10
je 0x180050841
mov r10, qword [rbp + 0x57]
mov eax, ecx
and eax, 0x1000
mov word [rbp + 0x67], bx
neg eax
mov r9d, Ordinal_69
sbb al, al
add al, 2
mov byte [rdi + 0x45], al
mov rax, qword [r10 + 0x28]
test byte [rax + 0x40], 0x20
jne 0x18005084b
mov word [rbp + 0x67], bx
test r9b, cl
je 0x18005084b
mov rax, qword [rdi + 0x3e0]
and ecx, 0xffffffbf
mov dword [rax + 0x28], ecx
movzx eax, r8w
and ax, r11w
mov word [rbp + 0x67], ax
jmp 0x18005084b
mov r10, qword [rbp + 0x57]
mov r9d, Ordinal_69
test r15d, r15d
jle 0x180050ae5
mov eax, r15d
lea r13, [rdi + 0x3e0]
mov qword [rbp - 0x79], rax
movzx eax, byte [r13 - 0x1c]
mov r14d, 0xfff0bdc0
imul r12, rax, 0x70
mov rsi, qword [r12 + r10 + 0x28]
mov rcx, qword [rsi + 0x60]
test rcx, rcx
je 0x18005089c
mov rax, qword [rbp - 0x61]
mov r14d, ebx
mov rax, qword [rax + 0x20]
add rax, 0x18
jmp 0x180050897
add r14d, edx
lea rax, [rax + 0x20]
cmp qword [rax], rcx
jne 0x180050890
mov r15, qword [r13]
mov ecx, 2
mov qword [rbp - 0x59], r15
test byte [rsi + 0x40], cl
jne 0x180050979
cmp qword [rsi + 0x18], rbx
jne 0x180050979
test byte [r15 + 0x28], r9b
jne 0x180050979
test r8b, 0x20
jne 0x180050979
mov ecx, 0x6c
cmp byte [rdi + 0x45], bl
je 0x1800508e7
mov eax, dword [r12 + r10 + 0x4c]
mov ecx, Ordinal_113
mov dword [rdi + 0x2c], eax
mov edx, dword [r12 + r10 + 0x4c]
mov r9, rsi
mov dword [rsp + 0x20], ecx
mov r8d, r14d
mov rcx, qword [rbp + 0x4f]
call fcn.180040518
cmp byte [rdi + 0x45], bl
jne 0x180050946
mov eax, 0x40
cmp word [rsi + 0x46], ax
jge 0x180050946
test byte [rsi + 0x40], 0x20
jne 0x180050946
mov rax, qword [rbp + 0x57]
mov ecx, ebx
mov rax, qword [r12 + rax + 0x60]
test rax, rax
je 0x180050931
mov edx, 1
add ecx, edx
shr rax, 1
jne 0x18005092a
movsxd r8, ecx
mov r9d, 0xfffffffd
mov rcx, qword [rbp - 0x71]
or edx, 0xffffffff
call fcn.180024eb4
mov r11, qword [rbp - 0x71]
movzx r8d, word [rsp + 0x30]
mov r10, qword [rbp + 0x57]
movsxd rax, dword [r11 + 0x90]
test eax, eax
jle 0x180050972
mov edx, dword [rbp + 0x67]
lea rcx, [rax + rax*2]
mov rax, qword [r11 + 0x88]
mov word [rax + rcx*8 - 0x16], dx
mov ecx, 2
jmp 0x18005097d
mov r11, qword [rbp - 0x71]
test dword [r15 + 0x28], 0x200
je 0x180050a9d
test byte [rsi + 0x40], 0x20
mov edx, 0x6c
mov r15, qword [r15 + 0x20]
je 0x1800509b2
mov eax, dword [r15 + 0x64]
and al, 3
cmp al, cl
jne 0x1800509b2
test r8b, 0x20
je 0x1800509b2
mov r8d, dword [r13 - 0x44]
mov edx, ebx
jmp 0x1800509ff
cmp byte [rdi + 0x45], bl
je 0x1800509ea
mov rax, qword [r12 + r10 + 0x28]
mov r8d, dword [rbp + 0x7f]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1800509df
mov eax, 1
cmp rcx, r15
je 0x1800509df
mov rcx, qword [rcx + 0x28]
add r8d, eax
test rcx, rcx
jne 0x1800509ce
mov edx, Ordinal_113
mov dword [rdi + 0x30], r8d
jmp 0x1800509ff
mov eax, dword [rbp + 0x7f]
test eax, eax
je 0x180050a05
test r8b, 0x20
je 0x180050a05
mov r8d, eax
mov edx, 0x6b
mov r12, qword [rbp + 0x4f]
jmp 0x180050a17
mov r12, qword [rbp + 0x4f]
mov r8d, dword [r12 + 0x34]
lea eax, [r8 + 1]
mov dword [r12 + 0x34], eax
mov dword [r13 - 0x40], r8d
test edx, edx
je 0x180050a9d
mov r9d, dword [r15 + 0x58]
mov rcx, r11
mov dword [rsp + 0x20], r14d
call fcn.18002495c
mov rsi, qword [r12 + 0x10]
mov rdx, r15
mov rcx, r12
call fcn.18003c90c
test rax, rax
je 0x180050a56
mov r8d, 0xfffffff7
mov rdx, rax
mov rcx, rsi
call fcn.180024f34
mov rax, qword [rbp - 0x59]
mov edx, 1
test byte [rax + 0x28], 0xf
je 0x180050aa2
test dword [rax + 0x28], 0x8002
jne 0x180050aa2
test byte [rdi + 0x40], dl
jne 0x180050aa2
lea r8d, [rdx + 1]
cmp byte [rdi + 0x47], r8b
je 0x180050aa2
mov rdx, qword [rbp - 0x71]
movsxd rax, dword [rdx + 0x90]
test eax, eax
jle 0x180050a9d
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x88]
mov word [rax + rcx*8 - 0x16], r8w
mov edx, 1
test r14d, r14d
js 0x180050abb
mov rcx, qword [rbp + 0x4f]
mov eax, dword [rcx + 0x74]
bt eax, r14d
jb 0x180050abb
bts eax, r14d
mov dword [rcx + 0x74], eax
movzx r8d, word [rsp + 0x30]
add r13, 0x58
sub qword [rbp - 0x79], rdx
mov r9d, Ordinal_69
mov r10, qword [rbp + 0x57]
jne 0x180050862
mov r13, qword [rbp + 0x4f]
mov r14, qword [rbp - 0x61]
mov r15d, dword [rbp - 0x7d]
mov rdx, qword [rbp - 0x71]
mov eax, dword [rdx + 0x90]
mov dword [rdi + 0x4c], eax
cmp byte [r14 + 0x61], bl
jne 0x180050b4a
test r15d, r15d
jle 0x180050b45
lea rsi, [rdi + 0x3b0]
mov eax, dword [rdx + 0x90]
mov r9d, ebx
mov rcx, qword [rbp - 0x69]
mov r8, rdi
mov qword [rsp + 0x28], rcx
mov rcx, r13
mov dword [rsi + 8], eax
lea rax, [rsi - 0x18]
mov qword [rsp + 0x20], rax
call fcn.18004b06c
mov ecx, dword [rsi]
inc ebx
mov rdx, qword [rbp - 0x71]
lea rsi, [rsi + 0x58]
mov qword [rbp - 0x69], rax
mov dword [rdi + 0x34], ecx
cmp ebx, r15d
jl 0x180050b04
mov rax, rdi
jmp 0x180050b61
mov eax, dword [rdi + 0x3c]
mov rdx, rdi
mov rcx, r14
mov dword [r13 + 0xa4], eax
call fcn.18004d50c
xor eax, eax
mov rbx, qword [rsp + 0x110]
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret