Function at 0x100f5a90
Capabilities:
Inspect section memory permissions

Disassembly:
sub esp, 0x44
mov edx, dword [esp + 0x48]
xor eax, eax
push ebx
mov dword [esp + 0x3c], eax
xor ebx, ebx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x60]
mov ecx, dword [edx]
mov edx, dword [esp + 0x5c]
push ebp
push esi
xor ebp, ebp
mov dword [eax + 0x1c], 0xffffffff
mov eax, dword [esp + 0x58]
push edi
xor edi, edi
mov dword [esp + 0x18], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x24], ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x44], edx
mov dword [esp + 0x3c], 0xa7
mov dword [esp + 0x20], ebx
mov dword [esp + 0x2c], ebx
test eax, eax
je 0x100f5b75
mov ebx, edx
test byte [ebx + 0x18], 6
je 0x100f5aff
xor edx, edx
mov dword [esp + 0x5c], edx
jmp 0x100f5b81
mov ebx, dword [ecx + 0x14]
xor esi, esi
test ebx, ebx
jle 0x100f5b41
mov ebp, dword [ecx + 0x10]
mov edi, ebp
nop dword [eax]
push eax
push dword [edi]
call fcn.101353f0
add esp, 8
test eax, eax
je 0x100f5b2d
mov eax, dword [esp + 0x5c]
inc esi
add edi, 0x10
cmp esi, ebx
jl 0x100f5b10
jmp 0x100f5b3d
mov eax, esi
add eax, eax
mov eax, dword [ebp + eax*8 + 0xc]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x5c]
xor ebp, ebp
xor edi, edi
cmp esi, ebx
jne 0x100f5b79
push eax
push str.main
call fcn.101353f0
mov ebx, dword [esp + 0x70]
add esp, 8
test eax, eax
jne 0x100f6240
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x5c], edx
jmp 0x100f5b81
mov edx, eax
jmp 0x100f5b7d
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x68]
mov ecx, dword [ebx + 4]
mov dword [esp + 0x30], ecx
test ecx, ecx
je 0x100f5f84
xor eax, eax
lea esi, [ecx + 8]
mov dword [esp + 0x28], eax
mov dword [esp + 0x1c], esi
cmp dword [ecx], eax
jle 0x100f5f54
nop word [eax + eax]
test dword [esi + 0x28], 0x2000
mov ebp, dword [esi + 0x10]
mov dword [esp + 0x40], ebp
je 0x100f5ced
mov eax, dword [esi + 0x14]
xor ebx, ebx
xor edi, edi
mov ebp, dword [eax + 0x1c]
cmp dword [ebp], ebx
jle 0x100f5cac
lea esi, [ebp + 0x14]
nop word [eax + eax]
push edx
push dword [esp + 0x64]
lea eax, [esi - 0xc]
push dword [esp + 0x6c]
push eax
call fcn.10124d30
add esp, 0x10
test eax, eax
je 0x100f5c8b
cmp dword [esp + 0x18], 0
jle 0x100f5c5e
mov eax, dword [esp + 0x1c]
test dword [eax + 0x28], 0x400
je 0x100f5c3f
push dword [esp + 0x64]
push dword [eax + 0x30]
call fcn.10121470
add esp, 8
test eax, eax
js 0x100f5c3f
mov eax, dword [esp + 0x1c]
mov al, byte [eax + 0x24]
test al, 0x10
je 0x100f5c8b
test al, 8
jne 0x100f5cc5
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x20]
test eax, eax
je 0x100f5c54
push eax
push dword [esp + 0x28]
call fcn.100e9a10
add esp, 8
xor eax, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
mov edi, 1
inc dword [esp + 0x18]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x38], 2
mov word [eax + 0x20], bx
or dword [esi], 0x40
test byte [esi], 0x80
jne 0x100f5f28
mov edx, dword [esp + 0x5c]
inc ebx
add esi, 0x14
cmp ebx, dword [ebp]
jl 0x100f5be0
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
test edi, edi
jne 0x100f5fef
mov ebx, dword [esp + 0x60]
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x5c]
test ebx, ebx
jne 0x100f5cfb
mov ebp, dword [esp + 0x18]
jmp 0x100f5f3c
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x14]
movzx eax, word [eax + 0x20]
push eax
push ecx
lea eax, [esp + 0x34]
push eax
push dword [esp + 0x64]
call fcn.100ea360
mov eax, dword [esp + 0x3c]
add esp, 0x10
jmp 0x100f5c5a
mov ebx, dword [esp + 0x60]
test ebx, ebx
je 0x100f5db5
jmp 0x100f5cff
mov ebp, dword [esp + 0x40]
test edx, edx
je 0x100f5d44
mov edi, dword [esp + 0x34]
cmp dword [ebp + 0x3c], edi
jne 0x100f5cbc
test edi, edi
jne 0x100f5d44
mov ecx, 0x101930a0
mov eax, edx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100f5d37
test dl, dl
je 0x100f5d33
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100f5d37
add eax, 2
add ecx, 2
test dl, dl
jne 0x100f5d17
xor eax, eax
jmp 0x100f5d3c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100f5f2c
mov edi, dword [esi + 0xc]
mov edx, edi
test edi, edi
jne 0x100f5d50
mov edx, dword [ebp]
mov esi, ebx
sub esi, edx
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x100f5d92
test ecx, ecx
jne 0x100f5da8
mov eax, dword [esp + 0x58]
cmp byte [eax + 0xd4], 2
jb 0x100f5db1
test edi, edi
je 0x100f5db1
mov eax, dword [eax + 0x110]
test eax, eax
je 0x100f5db1
mov ecx, dword [esp + 0x6c]
add ecx, 0x2c
cmp dword [eax], ecx
je 0x100f5dab
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x100f5d85
jmp 0x100f5db1
movzx eax, byte [eax + 0x1018ff38]
movzx ecx, byte [ecx + 0x1018ff38]
sub ecx, eax
jne 0x100f5f28
inc edx
jmp 0x100f5d54
mov dword [eax], 0
mov esi, dword [esp + 0x1c]
push dword [esp + 0x64]
call fcn.10135430
mov edi, dword [ebp + 4]
add esp, 4
movsx ebp, word [ebp + 0x22]
xor ebx, ebx
mov byte [esp + 0x13], al
test ebp, ebp
jle 0x100f5eaf
cmp byte [edi + 0xa], al
jne 0x100f5ea3
mov esi, dword [esp + 0x64]
mov edx, dword [edi]
sub esi, edx
movzx eax, byte [edx]
movzx ecx, byte [esi + edx]
cmp eax, ecx
jne 0x100f5e83
test eax, eax
jne 0x100f5e95
mov esi, dword [esp + 0x1c]
cmp dword [esp + 0x18], eax
jle 0x100f5e5a
test dword [esi + 0x28], 0x400
je 0x100f5e3b
push dword [esp + 0x64]
push dword [esi + 0x30]
call fcn.10121470
add esp, 8
test eax, eax
js 0x100f5e3b
mov al, byte [esi + 0x24]
test al, 0x10
je 0x100f5e9f
test al, 8
jne 0x100f5edc
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x20]
test eax, eax
je 0x100f5e50
push eax
push dword [esp + 0x28]
call fcn.100e9a10
add esp, 8
xor ecx, ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x20], ecx
mov edi, dword [esp + 0x6c]
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x18]
inc ebp
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], ebp
movsx eax, word [edx + 0x20]
cmp ebx, eax
jne 0x100f5f08
or eax, 0xffffffff
jmp 0x100f5f0b
movzx ecx, byte [ecx + 0x1018ff38]
movzx eax, byte [eax + 0x1018ff38]
sub eax, ecx
jne 0x100f5e9b
inc edx
jmp 0x100f5de7
mov esi, dword [esp + 0x1c]
mov al, byte [esp + 0x13]
inc ebx
add edi, 0x10
cmp ebx, ebp
jl 0x100f5dd6
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x18]
test ebp, ebp
jne 0x100f5f30
test dword [edx + 0x1c], 0x200
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x5c]
jne 0x100f5f3c
inc dword [esp + 0x38]
mov edi, esi
mov dword [esp + 0x14], edi
jmp 0x100f5f40
mov edi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x14]
movzx eax, word [edi + 0x20]
push eax
push ecx
lea eax, [esp + 0x34]
push eax
push dword [esp + 0x64]
call fcn.100ea360
mov eax, dword [esp + 0x3c]
add esp, 0x10
mov dword [esp + 0x20], eax
jmp 0x100f5e5e
movzx eax, bx
mov word [edi + 0x20], ax
test dword [esi + 0x28], 0x2000
je 0x100f5eb7
mov eax, dword [esi + 0x14]
mov ecx, dword [eax + 0x1c]
lea eax, [ebx + ebx*4]
or dword [ecx + eax*4 + 0x14], 0x40
jmp 0x100f5eb7
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x5c]
mov edi, dword [esp + 0x14]
inc eax
add esi, 0x48
mov dword [esp + 0x28], eax
mov dword [esp + 0x1c], esi
cmp eax, dword [ecx]
jl 0x100f5bb0
test edi, edi
je 0x100f5f7c
mov ecx, dword [esp + 0x6c]
mov eax, dword [edi + 0x2c]
mov dword [ecx + 0x1c], eax
mov eax, dword [edi + 0x10]
mov dword [ecx + 0x2c], eax
test byte [edi + 0x24], 0x48
je 0x100f5f75
or dword [ecx + 4], 0x200000
mov eax, dword [eax + 0x3c]
mov dword [esp + 0x34], eax
test ebp, ebp
jne 0x100f6249
test edx, edx
jne 0x100f6184
mov esi, dword [esp + 0x58]
xor ebp, ebp
mov edi, dword [esp + 0x60]
mov dword [esp + 0x30], ebp
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x100f6052
mov bl, byte [esi + 0x98]
cmp byte [esi + 0x99], dl
je 0x100f5ff8
mov edx, dword [esp + 0x68]
test dword [edx + 0x18], 0x400
je 0x100f6052
test edi, edi
je 0x100f5fd7
push dword [eax]
push edi
call fcn.101353f0
add esp, 8
test eax, eax
jne 0x100f6052
xor eax, eax
cmp bl, 0x80
mov ebx, dword [esp + 0x6c]
setne al
mov dword [ebx + 0x1c], eax
mov ebp, dword [esi + 0x7c]
mov dword [esp + 0x30], ebp
jmp 0x100f6056
mov ebp, dword [esp + 0x18]
jmp 0x100f5f34
cmp bl, 0x80
je 0x100f602c
test edi, edi
je 0x100f6027
push edi
push 0x101930a4
call fcn.101353f0
add esp, 8
test eax, eax
jne 0x100f6027
mov ebx, dword [esp + 0x6c]
mov dword [ebx + 0x1c], 1
mov ebp, dword [esi + 0x7c]
mov dword [esp + 0x30], ebp
jmp 0x100f6056
cmp bl, 0x7f
je 0x100f6052
test edi, edi
je 0x100f6052
push edi
push 0x101930a8
call fcn.101353f0
mov ebx, dword [esp + 0x74]
add esp, 8
test eax, eax
jne 0x100f6056
mov dword [ebx + 0x1c], ebp
mov ebp, dword [esi + 0x7c]
mov dword [esp + 0x30], ebp
jmp 0x100f6056
mov ebx, dword [esp + 0x6c]
mov eax, dword [esp + 0x68]
test dword [eax + 0x18], 0x200
je 0x100f60a8
test edi, edi
je 0x100f60a8
mov edi, dword [eax + 8]
test edi, edi
je 0x100f60a8
mov esi, dword [esp + 0x60]
mov edx, str.excluded
sub esi, edx
nop dword [eax]
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x100f6119
test ecx, ecx
jne 0x100f612f
mov eax, dword [edi + 0x20]
mov ebp, dword [eax + 0x18]
mov dword [esp + 0x30], ebp
mov dword [ebx + 0x1c], 2
test ebp, ebp
je 0x100f6184
mov esi, dword [esp + 0x64]
push esi
call fcn.10135430
mov ecx, dword [ebp + 0x3c]
add esp, 4
mov ebx, dword [ebp + 4]
xor edi, edi
movsx ebp, word [ebp + 0x22]
inc dword [esp + 0x38]
mov byte [esp + 0x13], al
mov dword [esp + 0x34], ecx
test ebp, ebp
jle 0x100f61f6
nop dword [eax]
cmp byte [ebx + 0xa], al
jne 0x100f6152
mov edx, dword [ebx]
sub esi, edx
nop dword [eax]
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x100f6135
test ecx, ecx
jne 0x100f6147
mov ebx, dword [esp + 0x30]
movsx eax, word [ebx + 0x20]
cmp edi, eax
je 0x100f625f
mov esi, dword [esp + 0x64]
cmp edi, ebp
jl 0x100f617a
jmp 0x100f615e
movzx eax, byte [eax + 0x1018ff38]
movzx ecx, byte [ecx + 0x1018ff38]
sub ecx, eax
jne 0x100f60a8
inc edx
jmp 0x100f6080
movzx eax, byte [eax + 0x1018ff38]
movzx ecx, byte [ecx + 0x1018ff38]
sub ecx, eax
jne 0x100f614a
inc edx
jmp 0x100f60f0
mov al, byte [esp + 0x13]
mov esi, dword [esp + 0x64]
inc edi
add ebx, 0x10
cmp edi, ebp
jl 0x100f60e0
mov ebx, dword [esp + 0x30]
push esi
call fcn.101235e0
add esp, 4
test eax, eax
je 0x100f617a
test dword [ebx + 0x1c], 0x200
mov eax, 0xffffffff
cmove edi, eax
mov eax, edi
cmp edi, ebp
jl 0x100f6264
cmp dword [esp + 0x38], 1
jne 0x100f61bd
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x100f61bd
mov edx, dword [esp + 0x68]
test byte [edx + 0x18], 0x28
jne 0x100f61bd
push dword [esp + 0x64]
call fcn.101235e0
add esp, 4
test eax, eax
je 0x100f61bd
mov eax, dword [ebx + 0x10]
test dword [eax + 0x1c], 0x200
je 0x100f6386
mov ebx, dword [esp + 0x68]
mov esi, dword [esp + 0x60]
test byte [ebx + 0x18], 0x80
je 0x100f6225
test esi, esi
jne 0x100f6225
mov eax, dword [ebx + 8]
xor ebx, ebx
mov ebp, dword [eax]
test ebp, ebp
jle 0x100f6221
lea esi, [eax + 0x14]
nop dword [eax]
test byte [esi], 3
mov edi, dword [esi - 8]
jne 0x100f6215
mov eax, dword [esp + 0x64]
test edi, edi
jne 0x100f61ff
neg eax
sbb eax, eax
jmp 0x100f620d
mov ebx, dword [esp + 0x30]
jmp 0x100f6113
test eax, eax
je 0x100f6215
push eax
push edi
call fcn.101353f0
add esp, 8
test eax, eax
je 0x100f639f
inc ebx
add esi, 0x14
cmp ebx, ebp
jl 0x100f61e0
mov esi, dword [esp + 0x60]
mov ebx, dword [esp + 0x68]
mov ebx, dword [ebx + 0xc]
inc dword [esp + 0x48]
mov dword [esp + 0x68], ebx
test ebx, ebx
je 0x100f648b
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x5c]
jmp 0x100f5b81
mov edi, dword [esp + 0x6c]
cmp ebp, 1
je 0x100f6730
mov esi, dword [esp + 0x60]
jmp 0x100f6591
or edi, 0xffffffff
or eax, edi
mov edx, dword [esp + 0x58]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov ebp, 1
mov ecx, dword [esp + 0x6c]
movzx eax, ax
mov esi, dword [ecx + 0x1c]
cmp esi, 2
jne 0x100f62cc
cmp byte [edx + 0xd4], 2
jb 0x100f62a1
mov edi, ecx
mov dword [esp + 0x3c], 0xa7
mov word [edi + 0x20], ax
mov dword [edi + 0x2c], ebx
jmp 0x100f6730
push eax
push ebx
call fcn.10135680
mov edx, dword [esp + 0x70]
add esp, 8
mov edi, dword [esp + 0x6c]
movsx ecx, ax
mov dword [esp + 0x3c], 0xb0
mov eax, dword [edx + 8]
add ecx, dword [eax + 0x24]
mov dword [edi + 0x1c], ecx
jmp 0x100f6730
mov dword [ecx + 0x2c], ebx
cmp byte [edx + 0x99], 0
je 0x100f630f
mov edi, ecx
mov dword [esp + 0x3c], 0xb0
push eax
push ebx
mov byte [edi + 2], 0xa7
call fcn.10135680
mov edx, dword [esp + 0x70]
add esp, 8
movsx ecx, ax
movsx eax, word [ebx + 0x22]
inc eax
imul eax, esi
add ecx, eax
mov eax, dword [edx + 8]
inc eax
add eax, ecx
mov dword [edi + 0x1c], eax
jmp 0x100f6730
mov word [ecx + 0x20], ax
mov dword [esp + 0x3c], 0x4d
test edi, edi
jns 0x100f632a
mov edi, ecx
mov byte [edi + 1], 0x44
jmp 0x100f6730
test esi, esi
jne 0x100f635a
cmp edi, 0x20
jl 0x100f6345
mov edi, dword [esp + 0x6c]
or eax, 0xffffffff
or dword [edx + 0x90], eax
jmp 0x100f6730
mov ecx, edi
mov eax, ebp
mov edi, dword [esp + 0x6c]
shl eax, cl
or dword [edx + 0x90], eax
jmp 0x100f6730
cmp edi, 0x20
jl 0x100f6371
mov edi, dword [esp + 0x6c]
or eax, 0xffffffff
or dword [edx + 0x94], eax
jmp 0x100f6730
mov ecx, edi
mov eax, ebp
mov edi, dword [esp + 0x6c]
shl eax, cl
or dword [edx + 0x94], eax
jmp 0x100f6730
mov edi, dword [esp + 0x6c]
or eax, 0xffffffff
mov ebp, 1
mov word [edi + 0x20], ax
mov byte [edi + 1], 0x44
jmp 0x100f6734
mov ebp, dword [esp + 0x68]
lea eax, [ebx + ebx*4]
test byte [ebp + 0x18], 1
mov edx, dword [ebp + 8]
mov eax, dword [edx + eax*4 + 8]
jne 0x100f63d8
test byte [eax + 4], 0x10
je 0x100f63d8
push edi
push str.misuse_of_aliased_aggregate__s
push dword [esp + 0x60]
call fcn.10114f40
add esp, 0xc
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x44
ret
test dword [eax + 4], 0x8000
je 0x100f63f8
test dword [ebp + 0x18], 0x4000
je 0x100f63f0
cmp ebp, dword [esp + 0x44]
je 0x100f63f8
push edi
push str.misuse_of_aliased_window_function__s
jmp 0x100f63bf
mov cl, byte [eax]
cmp cl, 0xb0
jne 0x100f6402
mov cl, byte [eax + 2]
cmp cl, 0xb1
jne 0x100f640c
mov eax, dword [eax + 0x14]
jmp 0x100f6417
cmp cl, 0x8a
jne 0x100f643a
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x1c]
cmp dword [eax], 1
je 0x100f643a
push str.row_value_misused
push dword [esp + 0x5c]
call fcn.10114f40
add esp, 8
mov eax, 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x6c]
mov esi, dword [esp + 0x58]
push eax
push edi
push ebx
push edx
push esi
call fcn.10102180
add esp, 0x14
cmp byte [esi + 0xd4], 2
jb 0x100f680c
mov eax, dword [esi + 0x110]
test eax, eax
je 0x100f680c
nop
cmp dword [eax], edi
je 0x100f6480
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x100f6470
jmp 0x100f680c
mov dword [eax], 0
jmp 0x100f680c
mov edi, dword [esp + 0x6c]
test esi, esi
jne 0x100f658d
mov ebx, dword [edi + 4]
test bl, bl
jns 0x100f6526
mov eax, dword [esp + 0x24]
cmp byte [eax + 0xb1], 0
jne 0x100f64fb
mov ecx, dword [eax + 0x20]
mov eax, dword [esp + 0x44]
test dword [eax + 0x18], 0x10000
je 0x100f64f0
mov eax, ecx
and eax, 0x10000001
cmp eax, 1
jne 0x100f64d6
mov eax, ecx
and eax, 0x40000000
or eax, esi
jne 0x100f64fb
and ecx, 0x20000000
or ecx, 0
je 0x100f64ea
mov eax, 1
test eax, eax
jmp 0x100f64f9
xor eax, eax
test eax, eax
jmp 0x100f64f9
and ecx, 0x40000000
or ecx, 0
je 0x100f6526
push dword [esp + 0x64]
push str.double_quoted_string_literal:___w_
push 0x1c
call fcn.100c9ef0
add esp, 0xc
mov byte [edi], 0x75
xorps xmm0, xmm0
mov eax, 1
movq qword [edi + 0x2c], xmm0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
test ebx, 0x4000800
jne 0x100f658d
mov esi, dword [edi + 8]
push str.true
push esi
call fcn.101353f0
add esp, 8
test eax, eax
jne 0x100f655d
mov eax, 0x10000000
mov byte [edi], 0xaa
or ebx, eax
mov eax, 1
mov dword [edi + 4], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
push str.false
push esi
call fcn.101353f0
add esp, 8
test eax, eax
jne 0x100f6589
mov eax, 0x20000000
mov byte [edi], 0xaa
or ebx, eax
mov eax, 1
mov dword [edi + 4], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov esi, dword [esp + 0x60]
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x20]
test ebx, ebx
je 0x100f66a4
lea eax, [ebp - 1]
cmp dword [ebx], eax
jne 0x100f6697
mov eax, dword [edi + 4]
test eax, 0x800000
je 0x100f65bc
and eax, 0xff7fffff
mov dword [edi + 4], eax
jmp 0x100f65f0
mov eax, dword [edi + 0xc]
mov ebp, dword [esp + 0x24]
test eax, eax
je 0x100f65d1
push eax
push ebp
call fcn.10118890
add esp, 8
mov eax, dword [edi + 0x10]
mov dword [edi + 0xc], 0
test eax, eax
je 0x100f65e9
push eax
push ebp
call fcn.10118890
add esp, 8
mov dword [edi + 0x10], 0
mov ebp, dword [esp + 0x58]
movzx edi, word [edi + 0x20]
push 0
push 0x34
push dword [ebp]
call fcn.10112e00
mov esi, eax
add esp, 0xc
test esi, esi
je 0x100f667f
push 0x34
push 0
push esi
call fcn.1016bd70
mov ecx, dword [esp + 0x20]
or eax, 0xffffffff
mov byte [esi], 0xa7
add esp, 0xc
mov word [esi + 0x22], ax
mov dword [esi + 0x18], 1
mov eax, dword [ecx + 0x2c]
mov dword [esi + 0x1c], eax
mov word [esi + 0x20], di
mov eax, dword [ecx + 0x10]
or dword [esi + 4], 0x200000
mov dword [esi + 0x2c], eax
mov eax, dword [ebx]
lea edx, [eax + 1]
cmp dword [ebx + 4], edx
jge 0x100f6661
push esi
push ebx
push dword [ebp]
call fcn.10119690
add esp, 0xc
mov ebx, eax
jmp 0x100f667f
movups xmm0, xmmword [0x1018e374]
lea eax, [eax + eax*4]
mov dword [ebx], edx
lea ecx, [ebx + eax*4]
mov eax, dword [0x1018e384]
movups xmmword [ecx + 8], xmm0
mov dword [ecx + 0x18], eax
mov dword [ecx + 8], esi
mov edi, dword [esp + 0x6c]
mov esi, ebp
mov byte [edi], 0xac
mov dword [edi + 8], str.coalesce
mov dword [edi + 0x14], ebx
jmp 0x100f6808
push ebx
push dword [esp + 0x28]
call fcn.100e9a10
add esp, 8
push dword [esp + 0x64]
test ebp, ebp
mov ecx, str.ambiguous_column_name
mov eax, str.no_such_column
cmovne eax, ecx
mov ecx, dword [esp + 0x60]
test ecx, ecx
je 0x100f66d5
push esi
push ecx
push eax
push str._s:__s._s._s
push dword [esp + 0x6c]
call fcn.10114f40
add esp, 0x18
jmp 0x100f6700
test esi, esi
je 0x100f66ee
push esi
push eax
push str._s:__s._s
push dword [esp + 0x68]
call fcn.10114f40
add esp, 0x14
jmp 0x100f6700
push eax
push str._s:__s
push dword [esp + 0x64]
call fcn.10114f40
add esp, 0x10
mov edx, dword [esp + 0x58]
mov eax, edi
mov edx, dword [edx]
test byte [eax + 4], 3
jne 0x100f6715
mov ecx, dword [eax + 0x24]
test ecx, ecx
jg 0x100f671e
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x100f6708
jmp 0x100f6721
mov dword [edx + 0x44], ecx
mov eax, dword [esp + 0x58]
mov byte [eax + 0x11], 1
mov eax, dword [esp + 0x44]
inc dword [eax + 0x14]
mov ebx, dword [esp + 0x14]
test dword [edi + 4], 0x810000
jne 0x100f6778
mov eax, dword [edi + 0xc]
mov esi, dword [esp + 0x24]
test eax, eax
je 0x100f6752
push eax
push esi
call fcn.10118890
add esp, 8
mov eax, dword [edi + 0x10]
mov dword [edi + 0xc], 0
test eax, eax
je 0x100f676a
push eax
push esi
call fcn.10118890
add esp, 8
or dword [edi + 4], 0x800000
mov dword [edi + 0x10], 0
movzx eax, word [edi + 0x20]
test ax, ax
js 0x100f67f5
test ebx, ebx
je 0x100f67f5
mov edx, dword [edi + 0x2c]
movsx esi, ax
test byte [edx + 0x1c], 0x60
je 0x100f67cf
mov eax, dword [edx + 4]
mov ecx, esi
add ecx, ecx
test byte [eax + ecx*8 + 0xe], 0x60
je 0x100f67cf
movzx eax, word [edx + 0x22]
cmp ax, 0x40
jl 0x100f67b1
or ecx, 0xffffffff
or edx, 0xffffffff
jmp 0x100f67ef
xor ecx, ecx
cwde
xor edx, edx
bts ecx, eax
cmp eax, 0x20
cmovae edx, ecx
xor ecx, edx
cmp eax, 0x40
cmovae edx, ecx
add ecx, 0xffffffff
adc edx, 0xffffffff
jmp 0x100f67ef
cmp esi, 0x40
mov eax, 0x3f
cmovge esi, eax
xor ecx, ecx
xor edx, edx
bts ecx, esi
cmp esi, 0x20
cmovae edx, ecx
xor ecx, edx
cmp esi, 0x40
cmovae edx, ecx
or dword [ebx + 0x38], ecx
or dword [ebx + 0x3c], edx
mov eax, dword [esp + 0x3c]
mov byte [edi], al
cmp ebp, 1
jne 0x100f63cb
mov esi, dword [esp + 0x58]
mov ebp, dword [esp + 0x68]
mov eax, dword [esi]
cmp dword [eax + 0x16c], 0
je 0x100f68d9
mov bl, byte [edi]
cmp bl, 0xa7
je 0x100f682b
cmp bl, 0x4d
jne 0x100f68d9
mov ecx, dword [esp + 0x34]
mov ebp, dword [ebp + 4]
test ecx, ecx
je 0x100f68d9
mov eax, dword [eax + 0x10]
xor edx, edx
add eax, 0xc
cmp dword [eax], ecx
je 0x100f685e
mov edi, ecx
inc edx
lea eax, [eax + 0x10]
mov ecx, edx
cmp dword [eax], edi
jne 0x100f6848
mov edi, dword [esp + 0x6c]
test ecx, ecx
js 0x100f68d9
cmp bl, 0x4d
jne 0x100f6868
mov esi, dword [esi + 0x7c]
jmp 0x100f6890
mov esi, dword [ebp]
xor eax, eax
test esi, esi
jle 0x100f68d9
mov edi, dword [edi + 0x1c]
lea ecx, [ebp + 0x34]
cmp edi, dword [ecx]
je 0x100f6885
inc eax
add ecx, 0x48
cmp eax, esi
jl 0x100f6877
jmp 0x100f68d9
mov edi, dword [esp + 0x6c]
lea eax, [eax + eax*8]
mov esi, dword [ebp + eax*8 + 0x18]
test esi, esi
je 0x100f68d9
movsx ecx, word [edi + 0x20]
test ecx, ecx
js 0x100f68a6
mov eax, dword [esi + 4]
add ecx, ecx
mov eax, dword [eax + ecx*8]
jmp 0x100f68c1
movzx eax, word [esi + 0x20]
test ax, ax
js 0x100f68bc
movsx ecx, ax
mov eax, dword [esi + 4]
add ecx, ecx
mov eax, dword [eax + ecx*8]
jmp 0x100f68c1
mov eax, str.ROWID
push edx
push eax
push dword [esi]
push dword [esp + 0x64]
call fcn.10109670
add esp, 0x10
cmp eax, 2
jne 0x100f68d9
mov byte [edi], 0x79
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x68]
inc dword [ecx + 0x10]
cmp ecx, eax
je 0x100f68f2
mov ecx, dword [ecx + 0xc]
inc dword [ecx + 0x10]
cmp ecx, eax
jne 0x100f68e8
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x44
ret