Function at 0x140050160
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 0x1400501c2
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 0x140050202
mov r8d, r9d
lea rdx, str.at_most__d_tables_in_a_join
mov rcx, r13
call fcn.140013ffc
jmp 0x140050c37
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 0x14005022d
mov rdi, rbx
jmp 0x140050250
movsxd rdx, r14d
mov rcx, r12
add rdx, 0x60
call fcn.1400122d8
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 0x140050264
mov rdx, rdi
mov rcx, r12
call fcn.1400120c0
jmp 0x140050c37
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.14008c540
movsxd rax, dword [rbp - 0x7d]
lea rcx, [rdi + 0x398]
imul r8, rax, 0x58
xor edx, edx
add r8, 0x60
call fcn.14008c540
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.14004cb0c
mov ecx, 0x100
mov r8d, 2
cmp dword [rbp - 0x7d], ebx
jne 0x14005049e
test rsi, rsi
je 0x140050356
mov al, byte [rsi]
mov byte [rdi + 0x43], al
test word [rsp + 0x30], cx
mov ecx, 1
je 0x140050367
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 0x140050399
mov r13d, 1
mov r8d, r14d
mov rdx, r15
mov rcx, rax
call fcn.14004c430
sub r14d, r13d
mov rax, qword [rbp + 0x57]
jns 0x14005037e
mov r13, qword [rbp + 0x4f]
mov r14, qword [rbp - 0x61]
cmp byte [r14 + 0x61], bl
jne 0x140050c22
mov r12d, ebx
cmp dword [r15 + 0x14], ebx
jle 0x14005045a
mov esi, dword [rbp - 0x7d]
mov r14, rbx
mov eax, 1
mov r15, qword [r15 + 0x20]
test byte [r14 + r15 + 0x12], 2
jne 0x14005043d
cmp qword [r14 + r15 + 0x38], rbx
jne 0x14005043d
test esi, esi
je 0x14005041b
xor edx, edx
lea rcx, [rbp - 0x21]
lea r8d, [rdx + 0x30]
call fcn.14008c540
mov eax, 1
mov byte [rbp + 3], al
lea rax, [0x140050144]
mov qword [rbp - 0x19], rax
lea rax, [0x140033040]
mov qword [rbp - 0x11], rax
cmp qword [r14 + r15], rbx
je 0x14005041b
mov rdx, qword [r14 + r15]
lea rcx, [rbp - 0x21]
call fcn.14002ef64
cmp byte [rbp + 3], bl
je 0x140050438
mov r8d, dword [rdi + 0x38]
mov r9d, 0x10
mov rdx, qword [r14 + r15]
mov rcx, r13
call fcn.140034c28
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 0x1400503bf
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 0x140050644
mov rdx, qword [rbp + 0x57]
mov r9, r12
mov r8, r15
mov rcx, r13
call fcn.14004d244
test eax, eax
je 0x140050632
mov r15d, 1
mov byte [rdi + 0x47], r15b
jmp 0x140050644
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 0x140050617
mov rax, qword [r15 + 0x40]
mov r12, qword [r15]
mov qword [rbp - 0x59], rax
test rax, rax
je 0x140050617
mov r14d, ebx
mov edx, ebx
mov dword [rbp - 0x69], ebx
cmp dword [rax], ebx
jle 0x140050610
add rax, 8
mov qword [rbp - 0x79], rax
movsx ecx, word [r12 + 0x46]
cmp r14d, ecx
jge 0x1400505e9
mov rdx, qword [r12 + 8]
mov r13d, 1
movsxd rax, r14d
shl rax, 5
test byte [rax + rdx + 0x1b], r8b
jne 0x140050525
add r14d, r13d
cmp r14d, ecx
jl 0x14005050f
mov r13, qword [rbp + 0x4f]
mov edx, dword [rbp - 0x69]
cmp r14d, ecx
jge 0x1400505e9
mov rcx, qword [r13]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x9e
call fcn.140031ab0
mov r13, rax
test rax, rax
je 0x140050601
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 0x140050588
mov rcx, qword [rbp + 0x4f]
xor r9d, r9d
mov rdx, qword [rax]
xor r8d, r8d
mov rcx, qword [rcx]
call fcn.1400322b0
jmp 0x14005058b
mov rax, rbx
mov rcx, qword [rbp + 0x4f]
xor r9d, r9d
mov r8, rax
mov edx, 0xa2
call fcn.140031c78
mov r8, r13
mov r9, rax
mov r13, qword [rbp + 0x4f]
mov edx, Ordinal_54
mov rcx, r13
call fcn.140031c78
mov r8d, 1
lea rcx, [rdi + 0x68]
mov rdx, rax
call fcn.14004c0ec
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 0x1400504f5
jmp 0x14005060b
mov r8, qword [r12]
mov r9d, edx
lea rdx, str.too_many_arguments_on__s_____max__d
mov rcx, r13
call fcn.140013ffc
jmp 0x140050605
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 0x1400504a8
mov rsi, qword [rbp + 0x67]
jmp 0x14005036b
test rsi, rsi
jne 0x140050644
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 0x140050668
test byte [rdi + 0x40], 0x20
jne 0x140050668
mov rdx, rdi
lea rcx, [rbp - 0x51]
call fcn.14004ff90
test eax, eax
jne 0x1400506ac
lea rcx, [rbp - 0x51]
call fcn.14004ee90
test eax, eax
jne 0x140050c22
xor edx, edx
mov rcx, rdi
call fcn.14004f734
cmp byte [r14 + 0x61], bl
jne 0x140050c22
cmp qword [rdi + 0x10], rbx
je 0x1400506b2
movzx edx, word [rdi + 0x60]
mov rcx, rdi
inc dx
call fcn.14004f734
cmp byte [r14 + 0x61], bl
jne 0x140050c22
cmp qword [rdi + 0x10], rbx
jne 0x1400506c2
mov eax, dword [r14 + 0x30]
bt rax, 0xc
jae 0x1400506c2
or qword [rdi + 0x58], 0xffffffffffffffff
cmp dword [r13 + 0x30], ebx
jne 0x140050c22
cmp byte [r14 + 0x61], bl
jne 0x140050c22
or qword [rbp - 0x69], 0xffffffffffffffff
cmp byte [rdi + 0x42], 2
jb 0x14005087d
test r12, r12
je 0x14005087d
mov eax, 0x100
test word [r14 + 0x5c], ax
jne 0x14005087d
lea rsi, [rdi + 0x290]
mov rdx, r12
mov rcx, rsi
call fcn.14004ccc4
mov rdx, qword [rbp - 0x41]
mov r8, rax
mov qword [rbp - 0x79], rax
test rdx, rdx
je 0x140050733
mov rcx, rsi
call fcn.14004ccc4
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 0x140050882
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 0x140050855
cmp word [rbp + 0x67], bx
jne 0x1400507ad
test dword [r10 + 0x28], 0x1000
je 0x140050855
mov r9, qword [r10 + 8]
test r8, r9
jne 0x140050855
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 0x1400507fd
test qword [r8 + 0x38], r9
je 0x1400507ef
mov rax, qword [r8]
test byte [rax + 4], 1
je 0x1400507f8
movsx eax, word [rax + 0x34]
cmp eax, dword [r11 + r14 + 0x4c]
jne 0x1400507f8
add r8, 0x40
cmp r8, rdx
jb 0x1400507d5
cmp r8, rdx
jb 0x140050850
not r9
and qword [rbp - 0x69], r9
jmp 0x140050819
mov rax, qword [rcx + 0x38]
test qword [r10 + 8], rax
je 0x140050815
or word [rcx + 0x12], 4
add rcx, 0x40
cmp rcx, rdx
jb 0x140050806
movzx ecx, byte [rdi + 0x42]
lea eax, [rcx - 1]
cmp esi, eax
je 0x140050841
sub ecx, esi
mov rdx, r13
dec ecx
imul eax, ecx, 0x58
mov rcx, r12
movsxd r8, eax
call fcn.14008ccb0
mov cl, byte [rdi + 0x42]
mov edx, 1
sub cl, dl
sub dword [rbp - 0x7d], edx
mov byte [rdi + 0x42], cl
jmp 0x140050855
mov edx, 1
mov r8, qword [rbp - 0x79]
sub esi, edx
sub r13, 0x58
sub r12, 0x58
sub r15, 0x58
cmp esi, edx
jge 0x14005077d
mov r13, qword [rbp + 0x4f]
mov r14, qword [rbp - 0x61]
mov r15d, dword [rbp - 0x7d]
jmp 0x140050882
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 0x140050919
mov rax, qword [rdi + 0x3e0]
mov r11d, 8
mov ecx, dword [rax + 0x28]
bt ecx, 0xc
jb 0x1400508cd
mov dword [rbp + 0x67], ebx
test r11b, r8b
je 0x140050919
bt ecx, 0xd
jae 0x1400508cd
mov word [rbp + 0x67], bx
test r8b, 0x10
je 0x140050919
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 0x140050923
mov word [rbp + 0x67], bx
test r9b, cl
je 0x140050923
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 0x140050923
mov r10, qword [rbp + 0x57]
mov r9d, Ordinal_69
test r15d, r15d
jle 0x140050bbd
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 0x140050974
mov rax, qword [rbp - 0x61]
mov r14d, ebx
mov rax, qword [rax + 0x20]
add rax, 0x18
jmp 0x14005096f
add r14d, edx
lea rax, [rax + 0x20]
cmp qword [rax], rcx
jne 0x140050968
mov r15, qword [r13]
mov ecx, 2
mov qword [rbp - 0x59], r15
test byte [rsi + 0x40], cl
jne 0x140050a51
cmp qword [rsi + 0x18], rbx
jne 0x140050a51
test byte [r15 + 0x28], r9b
jne 0x140050a51
test r8b, 0x20
jne 0x140050a51
mov ecx, 0x6c
cmp byte [rdi + 0x45], bl
je 0x1400509bf
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.1400405f0
cmp byte [rdi + 0x45], bl
jne 0x140050a1e
mov eax, Ordinal_65
cmp word [rsi + 0x46], ax
jge 0x140050a1e
test byte [rsi + 0x40], 0x20
jne 0x140050a1e
mov rax, qword [rbp + 0x57]
mov ecx, ebx
mov rax, qword [r12 + rax + 0x60]
test rax, rax
je 0x140050a09
mov edx, 1
add ecx, edx
shr rax, 1
jne 0x140050a02
movsxd r8, ecx
mov r9d, 0xfffffffd
mov rcx, qword [rbp - 0x71]
or edx, 0xffffffff
call fcn.140024f8c
mov r11, qword [rbp - 0x71]
movzx r8d, word [rsp + 0x30]
mov r10, qword [rbp + 0x57]
movsxd rax, dword [r11 + 0x90]
test eax, eax
jle 0x140050a4a
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 0x140050a55
mov r11, qword [rbp - 0x71]
test dword [r15 + 0x28], 0x200
je 0x140050b75
test byte [rsi + 0x40], 0x20
mov edx, 0x6c
mov r15, qword [r15 + 0x20]
je 0x140050a8a
mov eax, dword [r15 + 0x64]
and al, 3
cmp al, cl
jne 0x140050a8a
test r8b, 0x20
je 0x140050a8a
mov r8d, dword [r13 - 0x44]
mov edx, ebx
jmp 0x140050ad7
cmp byte [rdi + 0x45], bl
je 0x140050ac2
mov rax, qword [r12 + r10 + 0x28]
mov r8d, dword [rbp + 0x7f]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140050ab7
mov eax, 1
cmp rcx, r15
je 0x140050ab7
mov rcx, qword [rcx + 0x28]
add r8d, eax
test rcx, rcx
jne 0x140050aa6
mov edx, Ordinal_113
mov dword [rdi + 0x30], r8d
jmp 0x140050ad7
mov eax, dword [rbp + 0x7f]
test eax, eax
je 0x140050add
test r8b, 0x20
je 0x140050add
mov r8d, eax
mov edx, 0x6b
mov r12, qword [rbp + 0x4f]
jmp 0x140050aef
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 0x140050b75
mov r9d, dword [r15 + 0x58]
mov rcx, r11
mov dword [rsp + 0x20], r14d
call fcn.140024a34
mov rsi, qword [r12 + 0x10]
mov rdx, r15
mov rcx, r12
call fcn.14003c9e4
test rax, rax
je 0x140050b2e
mov r8d, 0xfffffff7
mov rdx, rax
mov rcx, rsi
call fcn.14002500c
mov rax, qword [rbp - 0x59]
mov edx, 1
test byte [rax + 0x28], 0xf
je 0x140050b7a
test dword [rax + 0x28], 0x8002
jne 0x140050b7a
test byte [rdi + 0x40], dl
jne 0x140050b7a
lea r8d, [rdx + 1]
cmp byte [rdi + 0x47], r8b
je 0x140050b7a
mov rdx, qword [rbp - 0x71]
movsxd rax, dword [rdx + 0x90]
test eax, eax
jle 0x140050b75
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x88]
mov word [rax + rcx*8 - 0x16], r8w
mov edx, 1
test r14d, r14d
js 0x140050b93
mov rcx, qword [rbp + 0x4f]
mov eax, dword [rcx + 0x74]
bt eax, r14d
jb 0x140050b93
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 0x14005093a
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 0x140050c22
test r15d, r15d
jle 0x140050c1d
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.14004b144
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 0x140050bdc
mov rax, rdi
jmp 0x140050c39
mov eax, dword [rdi + 0x3c]
mov rdx, rdi
mov rcx, r14
mov dword [r13 + 0xa4], eax
call fcn.14004d5e4
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