Function at 0x10015ea0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x14
push ebx
push esi
push edi
mov edi, dword [esp + 0x28]
mov eax, dword [edi]
lea ecx, [eax - 1]
cmp ecx, 0x78
ja case.0x10015ebf.29
movzx ecx, byte [ecx + 0x10016f6c]
jmp dword [ecx*4 + 0x10016eb0]
mov eax, dword [edi + 0x14]
mov esi, dword [esp + 0x24]
xor edx, edx
mov dx, word [eax + 6]
push 0
push eax
push esi
and edx, 0x3fff
mov dword [esp + 0x18], edx
call fcn.10015ea0
push str.BETWEEN
push esi
call fcn.10018300
mov eax, dword [esp + 0x20]
mov ecx, dword [edi + 0x18]
push eax
push ecx
push esi
call fcn.10015ea0
push 0x10032e6c
push esi
call fcn.10018300
mov edx, dword [esp + 0x34]
mov eax, dword [edi + 0x1c]
push edx
push eax
push esi
call fcn.10015ea0
add esp, 0x34
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov ecx, dword [edi + 0x14]
mov esi, dword [esp + 0x24]
push 0
push ecx
push esi
call fcn.10015ea0
push str.LIKE
push esi
call fcn.10018300
mov edx, dword [edi + 0x18]
push 0
push edx
push esi
call fcn.10015ea0
mov eax, dword [edi + 0x1c]
add esp, 0x20
test eax, eax
je 0x10016ea8
mov eax, dword [esi + 0x50]
test byte [eax + 0x13e], 0x10
je 0x10015f91
push str.ESCAPE
push esi
call fcn.10018300
mov ecx, dword [edi + 0x1c]
push 0
push ecx
push esi
call fcn.10015ea0
push 0x10033148
push esi
call fcn.10018300
add esp, 0x1c
pop edi
pop esi
pop ebx
add esp, 0x14
ret
push 0x1003336c
push esi
call fcn.10018300
mov edx, dword [edi + 0x1c]
push 0
push edx
push esi
call fcn.10015ea0
add esp, 0x14
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov eax, dword [edi + 0x14]
mov esi, dword [esp + 0x24]
xor ecx, ecx
mov cx, word [eax + 6]
push 0
push eax
push esi
and ecx, 0x3fff
mov dword [esp + 0x18], ecx
call fcn.10015ea0
push str.CONTAINS__
jmp 0x100161da
mov eax, dword [edi + 0x14]
mov esi, dword [esp + 0x24]
xor ecx, ecx
mov cx, word [eax + 6]
push 0
push eax
push esi
and ecx, 0x3fff
mov dword [esp + 0x18], ecx
call fcn.10015ea0
push str.IN__
jmp 0x100161da
mov esi, dword [esp + 0x24]
push 0x10033124
push esi
call fcn.10018300
mov ecx, dword [edi + 0x14]
push 0
push ecx
push esi
call fcn.10015ea0
push 0x10032790
push esi
call fcn.10018300
add esp, 0x1c
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov edi, dword [edi + 0x14]
mov eax, dword [edi]
add eax, 0xffffffe7
cmp eax, 9
ja case.0x10016047.29
jmp dword [eax*4 + 0x10016fe8]
mov edx, dword [edi + 0x14]
mov esi, dword [esp + 0x24]
push 0
push edx
push esi
call fcn.10015ea0
push str.IS_NOT_NULL
push esi
call fcn.10018300
add esp, 0x14
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov eax, dword [edi + 0x14]
mov esi, dword [esp + 0x24]
push 0
push eax
push esi
call fcn.10015ea0
push str.NOT_LIKE
push esi
call fcn.10018300
mov ecx, dword [edi + 0x18]
push 0
push ecx
push esi
call fcn.10015ea0
mov eax, dword [edi + 0x1c]
add esp, 0x20
test eax, eax
je 0x10016ea8
mov edx, dword [esi + 0x50]
test byte [edx + 0x13e], 0x10
je 0x100160e0
push str.ESCAPE
push esi
call fcn.10018300
mov eax, dword [edi + 0x1c]
push 0
push eax
push esi
call fcn.10015ea0
push 0x10033148
push esi
call fcn.10018300
add esp, 0x1c
pop edi
pop esi
pop ebx
add esp, 0x14
ret
push 0x1003336c
push esi
call fcn.10018300
mov ecx, dword [edi + 0x1c]
push 0
push ecx
push esi
call fcn.10015ea0
add esp, 0x14
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov edx, dword [edi + 0x14]
mov esi, dword [esp + 0x24]
xor eax, eax
mov ax, word [edx + 6]
push 0
and eax, 0x3fff
mov dword [esp + 0x10], eax
mov ecx, dword [edi + 0x14]
push ecx
push esi
call fcn.10015ea0
push str.NOT_BETWEEN
push esi
call fcn.10018300
mov edx, dword [esp + 0x20]
mov eax, dword [edi + 0x18]
push edx
push eax
push esi
call fcn.10015ea0
push 0x10032e6c
push esi
call fcn.10018300
mov ecx, dword [esp + 0x34]
mov edx, dword [edi + 0x1c]
push ecx
push edx
push esi
call fcn.10015ea0
add esp, 0x34
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov eax, dword [edi + 0x14]
mov esi, dword [esp + 0x24]
xor ecx, ecx
mov cx, word [eax + 6]
push 0
and ecx, 0x3fff
mov dword [esp + 0x10], ecx
mov edx, dword [edi + 0x14]
push edx
push esi
call fcn.10015ea0
push str.NOT_CONTAINS__
push esi
call fcn.10018300
mov eax, dword [esp + 0x20]
mov ecx, dword [edi + 0x18]
push eax
push ecx
push esi
call fcn.10013e00
push 0x10032ff0
push esi
call fcn.10018300
add esp, 0x28
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov edx, dword [edi + 0x14]
mov esi, dword [esp + 0x24]
xor eax, eax
mov ax, word [edx + 6]
push 0
and eax, 0x3fff
mov dword [esp + 0x10], eax
mov ecx, dword [edi + 0x14]
push ecx
push esi
call fcn.10015ea0
push str.NOT_IN__
push esi
call fcn.10018300
mov edx, dword [esp + 0x20]
mov eax, dword [edi + 0x18]
push edx
push eax
push esi
call fcn.10013e00
push 0x10032ff0
push esi
call fcn.10018300
add esp, 0x28
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov ecx, dword [edi + 0x14]
mov edx, dword [esp + 0x24]
push 0
push ecx
push edx
call fcn.10015ea0
add esp, 0xc
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov esi, dword [esp + 0x24]
push str.NOT
push esi
call fcn.10018300
push 0
push edi
push esi
call fcn.10015ea0
add esp, 0x14
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov eax, dword [edi + 0x14]
mov esi, dword [esp + 0x24]
push 0
push eax
push esi
call fcn.10015ea0
xor ecx, ecx
mov cx, word [edi]
push ecx
call fcn.10013e50
push eax
push esi
call fcn.10018300
add esp, 0x18
pop edi
pop esi
pop ebx
add esp, 0x14
ret
xor edx, edx
mov dx, word [edi]
push edx
call fcn.10013e50
mov esi, dword [esp + 0x28]
push eax
push esi
call fcn.10018300
mov eax, dword [edi + 0x14]
mov ecx, dword [eax]
add esp, 0xc
cmp ecx, 0x3d
jne 0x100162bb
push 0x100331a0
push esi
call fcn.10018300
mov eax, dword [edi + 0x14]
push 1
push eax
push esi
call fcn.100159e0
push 0x10032ff0
push esi
call fcn.10018300
add esp, 0x1c
pop edi
pop esi
pop ebx
add esp, 0x14
ret
push 0
push eax
push esi
call fcn.10015ea0
add esp, 0xc
pop edi
pop esi
pop ebx
add esp, 0x14
ret
xor ecx, ecx
mov cx, word [edi]
push ecx
call fcn.10013e50
mov esi, dword [esp + 0x28]
push eax
push esi
call fcn.10018300
mov edx, dword [edi + 0x14]
push 0
push edx
push esi
call fcn.10015ea0
add esp, 0x18
pop edi
pop esi
pop ebx
add esp, 0x14
ret
xor eax, eax
mov ax, word [edi]
push eax
call fcn.10013e50
mov esi, dword [esp + 0x28]
push eax
push esi
call fcn.10018300
add esp, 0xc
push 0
push edi
call fcn.10026500
add esp, 4
push eax
push esi
call fcn.10015ea0
add esp, 0xc
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov ecx, dword [edi + 0x18]
mov eax, dword [edi + 0x14]
mov esi, dword [esp + 0x24]
xor edx, edx
mov dx, word [ecx + 6]
and edx, 0x3fff
push edx
push eax
push esi
call fcn.10015ea0
mov ecx, dword [edi + 0x18]
push ecx
push esi
call fcn.10014900
add esp, 0x14
test eax, eax
je 0x10016373
push str.IS_NOT_NULL
push esi
call fcn.10018300
add esp, 8
pop edi
pop esi
pop ebx
add esp, 0x14
ret
push 0x10032f10
push esi
call fcn.10018300
mov edx, dword [edi + 0x14]
mov ecx, dword [edi + 0x18]
xor eax, eax
mov ax, word [edx + 6]
and eax, 0x3fff
push eax
push ecx
push esi
call fcn.10015ea0
add esp, 0x14
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov edx, dword [edi + 0x18]
mov ecx, dword [edi + 0x14]
mov esi, dword [esp + 0x24]
xor eax, eax
mov ax, word [edx + 6]
and eax, 0x3fff
push eax
push ecx
push esi
call fcn.10015ea0
mov edx, dword [edi + 0x18]
push edx
push esi
call fcn.10014900
add esp, 0x14
test eax, eax
je 0x100163e4
push str.IS_NULL
push esi
call fcn.10018300
add esp, 8
pop edi
pop esi
pop ebx
add esp, 0x14
ret
push 0x10032f14
push esi
call fcn.10018300
mov eax, dword [edi + 0x14]
mov edx, dword [edi + 0x18]
xor ecx, ecx
mov cx, word [eax + 6]
and ecx, 0x3fff
push ecx
push edx
push esi
call fcn.10015ea0
add esp, 0x14
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov eax, dword [edi + 0x18]
mov edx, dword [edi + 0x14]
mov esi, dword [esp + 0x24]
xor ecx, ecx
mov cx, word [eax + 6]
and ecx, 0x3fff
push ecx
push edx
push esi
call fcn.10015ea0
push edi
call fcn.100149e0
add esp, 0x10
test eax, eax
jne 0x10016475
mov eax, dword [edi + 0x14]
push eax
call fcn.100149e0
add esp, 4
test eax, eax
jne 0x10016475
mov ecx, dword [edi + 0x18]
push ecx
call fcn.100149e0
add esp, 4
test eax, eax
jne 0x10016475
xor edx, edx
mov dx, word [edi]
push edx
call fcn.10013e50
push eax
push esi
call fcn.10018300
add esp, 0xc
jmp 0x10016496
mov eax, dword [esi + 0x50]
test byte [eax + 0x13f], 0x20
je 0x10016488
push 0x10032f44
jmp 0x1001648d
push 0x1003330c
push esi
call fcn.10018300
add esp, 8
mov ecx, dword [edi + 0x14]
mov eax, dword [edi + 0x18]
xor edx, edx
mov dx, word [ecx + 6]
and edx, 0x3fff
push edx
push eax
push esi
call fcn.10015ea0
add esp, 0xc
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov ecx, dword [edi + 0x18]
mov eax, dword [edi + 0x14]
mov esi, dword [esp + 0x24]
xor edx, edx
mov dx, word [ecx + 6]
and edx, 0x3fff
push edx
push eax
push esi
call fcn.10015ea0
mov ecx, dword [esi + 0x50]
mov al, byte [ecx + 0x13b]
add esp, 0xc
test al, 0x10
je 0x100164ef
push 0x10032f44
jmp 0x100164f4
push 0x1003330c
push esi
call fcn.10018300
mov edx, dword [edi + 0x14]
mov ecx, dword [edi + 0x18]
xor eax, eax
mov ax, word [edx + 6]
add esp, 8
and eax, 0x3fff
push eax
push ecx
push esi
call fcn.10015ea0
add esp, 0xc
pop edi
pop esi
pop ebx
add esp, 0x14
ret
cmp eax, 9
mov esi, dword [esp + 0x24]
jne 0x10016537
push 0x10033124
push esi
call fcn.10018300
add esp, 8
mov edx, dword [edi + 0x18]
mov ecx, dword [edi + 0x14]
xor eax, eax
mov ax, word [edx + 6]
and eax, 0x3fff
push eax
push ecx
push esi
call fcn.10015ea0
xor edx, edx
mov dx, word [edi]
push edx
call fcn.10013e50
push eax
push esi
call fcn.10018300
mov eax, dword [edi + 0x14]
mov edx, dword [edi + 0x18]
xor ecx, ecx
mov cx, word [eax + 6]
and ecx, 0x3fff
push ecx
push edx
push esi
call fcn.10015ea0
mov eax, dword [edi]
add esp, 0x24
cmp eax, 9
jne 0x10016ea8
push 0x10032ff0
push esi
call fcn.10018300
add esp, 8
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov eax, dword [edi + 0x2c]
mov ecx, dword [esp + 0x24]
push 0
push eax
push ecx
call fcn.10015ea0
add esp, 0xc
pop edi
pop esi
pop ebx
add esp, 0x14
ret
test byte [edi + 0x38], 8
je 0x100165f7
mov edx, dword [edi + 0x14]
mov esi, dword [esp + 0x24]
push edx
push esi
call fcn.10018300
push 0x1003031c
push esi
call fcn.10018300
mov eax, dword [edi + 0x18]
push eax
push esi
call fcn.100143b0
push 0x1003307c
push esi
call fcn.10018300
add esp, 0x20
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov ecx, dword [edi + 0x2c]
mov edx, dword [esp + 0x24]
push 0
push ecx
push edx
call fcn.10015ea0
add esp, 0xc
pop edi
pop esi
pop ebx
add esp, 0x14
ret
test byte [edi + 0x38], 4
je 0x100166d8
mov esi, dword [esp + 0x24]
mov ecx, dword [esi + 4]
lea edx, [esp + 0x28]
push edx
lea edx, [esp + 0x14]
push edx
lea edx, [esp + 0x14]
push edx
mov edx, dword [edi + 0x14]
push edx
mov edx, dword [edi + 0x18]
xor ebx, ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov eax, dword [ecx]
push edx
call dword [eax + 0x54]
test eax, eax
jne 0x10016ea8
cmp dword [esp + 0x10], ebx
je 0x10016ea8
lea eax, [esp + 0x1c]
push eax
mov eax, dword [edi + 0x14]
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [edi + 0x18]
lea edx, [esp + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.10013be0
mov ecx, dword [esp + 0x2c]
add esp, 0x18
cmp ecx, ebx
je 0x10016e31
cmp eax, 1
jne 0x10016e31
mov edx, dword [esp + 0xc]
push eax
mov eax, dword [esp + 0x14]
push eax
push eax
push ecx
push edx
push ebx
push esi
call fcn.100146f0
add esp, 0x1c
test eax, eax
jne 0x10016df2
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
push eax
push ecx
push edx
push esi
call fcn.10014ea0
push 0x1003307c
push esi
call fcn.10018300
add esp, 0x18
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov eax, dword [edi + 0x18]
test eax, eax
je 0x10016ea8
mov ecx, dword [edi + 0x20]
test ecx, ecx
mov esi, dword [esp + 0x24]
je 0x100166f7
push edi
push esi
call fcn.10014dc0
jmp 0x100166fe
push eax
push esi
call fcn.10018300
add esp, 8
push 0x1003307c
push esi
call fcn.10018300
add esp, 8
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov esi, dword [esp + 0x24]
mov ecx, dword [esi + 0x30]
lea edx, [esp + 0x28]
push edx
lea edx, [esp + 0x14]
push edx
lea edx, [esp + 0x14]
push edx
movsx edx, word [edi + 0x14]
mov dword [esp + 0x20], 0
mov eax, dword [ecx]
push edx
call dword [eax + 0x14]
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx]
lea edx, [esp + 0x18]
push edx
lea edx, [esp + 0x14]
push edx
lea edx, [esp + 0x1c]
push edx
movsx edx, word [edi + 0x14]
push edx
call dword [eax + 0x18]
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x10016e31
cmp eax, 1
jne 0x10016e31
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
push 0
push eax
mov eax, dword [esp + 0x14]
push edx
push ecx
movsx ecx, word [edi + 0x14]
push eax
push ecx
push esi
call fcn.100146f0
add esp, 0x1c
test eax, eax
jne 0x10016df2
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
push edx
push eax
push ecx
push esi
call fcn.10014ea0
push 0x1003307c
push esi
call fcn.10018300
add esp, 0x18
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov edx, dword [edi + 0x14]
mov eax, dword [esp + 0x24]
push 0
push edx
push eax
call fcn.10015ea0
add esp, 0xc
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov ecx, dword [esp + 0x24]
push str.NULL
push ecx
call fcn.10018300
add esp, 8
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov eax, dword [esp + 0x2c]
cmp ax, 0xb
je 0x1001682e
cmp ax, 0xc
je 0x1001682e
mov edx, dword [edi + 0x14]
mov esi, dword [esp + 0x24]
mov eax, dword [esi + 0x1c]
push edx
push 0x10033300
push eax
call fcn.10027884
mov ecx, dword [esi + 0x1c]
push ecx
push esi
call fcn.10018300
add esp, 0x14
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov edx, dword [esp + 0x24]
push 4
add edi, 0x14
push edi
push 0xb
push edx
call fcn.10014ea0
add esp, 0x10
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov esi, dword [esp + 0x24]
mov eax, dword [esi + 0x1c]
push 0
push 0x1e
add edi, 0x16
push edi
push eax
call fcn.1001bc40
mov ecx, dword [esi + 0x1c]
push ecx
push esi
call fcn.10018300
push 0x1003307c
push esi
call fcn.10018300
add esp, 0x20
pop edi
pop esi
pop ebx
add esp, 0x14
ret
movzx edx, word [edi + 0x1c]
mov esi, dword [esp + 0x24]
push edx
add edi, 0x1e
push edi
push esi
call fcn.10017ee0
push 0x1003307c
push esi
call fcn.10018300
add esp, 0x14
pop edi
pop esi
pop ebx
add esp, 0x14
ret
movzx eax, word [edi + 0x1c]
mov esi, dword [esp + 0x24]
push eax
add edi, 0x1e
push edi
push 0xb
push esi
call fcn.10014ea0
push 0x1003307c
push esi
call fcn.10018300
add esp, 0x18
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov eax, dword [esp + 0x2c]
cmp ax, 6
je 0x10016920
cmp ax, 0xe
je 0x10016920
cmp ax, 0xd
je 0x10016920
cmp ax, 0xb
je 0x10016909
cmp ax, 0xc
je 0x10016909
movzx ecx, word [edi + 0x1c]
mov esi, dword [esp + 0x24]
push ecx
add edi, 0x1e
push edi
push 7
push esi
call fcn.10014ea0
jmp 0x10016931
movzx edx, word [edi + 0x1c]
mov esi, dword [esp + 0x24]
push edx
add edi, 0x1e
push edi
push 0xb
push esi
call fcn.10014ea0
jmp 0x10016931
mov esi, dword [esp + 0x24]
push 0
add edi, 0x1e
push edi
push eax
push esi
call fcn.100141f0
add esp, 0x10
push 0x1003307c
push esi
call fcn.10018300
add esp, 8
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
push eax
push edi
push ecx
call fcn.10015270
add esp, 0xc
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov edx, dword [esp + 0x24]
push 0x100332f4
push edx
call fcn.10018300
add esp, 8
pop edi
pop esi
pop ebx
add esp, 0x14
ret
test byte [edi + 0x20], 1
mov ebx, dword [edi + 0x14]
mov esi, dword [esp + 0x24]
push ebp
jne 0x100169b2
mov eax, dword [edi + 0x28]
test eax, eax
jne 0x100169b2
mov eax, dword [esi + 0x50]
test byte [eax + 0x13e], 0x10
je 0x100169b2
push str.fn
push esi
call fcn.10018300
add esp, 8
mov ebp, 0x100332e8
jmp 0x100169b7
mov ebp, 0x10032ff0
mov ecx, dword [ebx + 0x18]
push ecx
push esi
call fcn.10018300
push 0x10033124
push esi
call fcn.10018300
mov eax, dword [edi + 0x24]
add esp, 0x10
test eax, eax
jne 0x100169ec
test byte [edi + 0x20], 1
je 0x100169f8
push 0x100328d0
push esi
call fcn.10018300
add esp, 8
jmp 0x100169f8
push 0
push eax
push esi
call fcn.10013e00
add esp, 0xc
push ebp
push esi
call fcn.10018300
mov eax, dword [edi + 0x28]
add esp, 8
test eax, eax
pop ebp
je 0x10016ea8
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x10016a1c
push str._within_group__
jmp 0x10016a21
push str._over__
push esi
call fcn.10018300
mov edx, dword [edi + 0x28]
mov eax, dword [edx]
add esp, 8
test eax, eax
je 0x10016a4f
push str._partition_by
push esi
call fcn.10018300
mov eax, dword [edi + 0x28]
mov ecx, dword [eax]
push 0
push ecx
push esi
call fcn.10015ea0
add esp, 0x14
mov edx, dword [edi + 0x28]
mov edi, dword [edx + 4]
xor eax, eax
call fcn.10013b90
push 0x100332b4
push esi
call fcn.10018300
add esp, 8
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov eax, dword [edi + 0x14]
mov ecx, dword [esp + 0x24]
push 0
push eax
push ecx
call fcn.10015ea0
add esp, 0xc
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov edx, dword [esp + 0x24]
push str.11
push edx
call fcn.10018300
add esp, 8
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov eax, dword [esp + 0x24]
push str.1_2
push eax
call fcn.10018300
add esp, 8
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov esi, dword [esp + 0x24]
push 0x100331a0
push esi
call fcn.10018300
push 2
push edi
push esi
call fcn.100159e0
push 0x10032ff0
push esi
call fcn.10018300
add esp, 0x1c
pop edi
pop esi
pop ebx
add esp, 0x14
ret
cmp eax, 0x2d
mov esi, dword [esp + 0x24]
jne 0x10016b01
push str.CASE
push esi
call fcn.10018300
add esp, 8
push str.WHEN
push esi
call fcn.10018300
mov ecx, dword [edi + 0x14]
push 0
push ecx
push esi
call fcn.10015ea0
push str.THEN
push esi
call fcn.10018300
mov edx, dword [edi + 0x18]
push 0
push edx
push esi
call fcn.10015ea0
mov eax, dword [edi + 0x1c]
add esp, 0x28
test eax, eax
je 0x10016b5b
cmp dword [eax], 0x2f
je 0x10016b4c
push str.ELSE
push esi
call fcn.10018300
add esp, 8
mov eax, dword [edi + 0x1c]
push 0
push eax
push esi
call fcn.10015ea0
add esp, 0xc
cmp dword [edi], 0x2d
jne 0x10016ea8
push str.END
push esi
call fcn.10018300
add esp, 8
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov esi, dword [esp + 0x24]
push str.CASE
push esi
call fcn.10018300
mov ecx, dword [edi + 0x14]
push 0
push ecx
push esi
call fcn.10015ea0
mov edx, dword [edi + 0x18]
push 0
push edx
push esi
call fcn.10015ea0
push str.END
push esi
call fcn.10018300
add esp, 0x28
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov esi, dword [esp + 0x24]
push 0x10033278
push esi
call fcn.10018300
mov eax, dword [edi + 0x14]
push 0
push eax
push esi
call fcn.10015ea0
push str.THEN
push esi
call fcn.10018300
mov ecx, dword [edi + 0x18]
push 0
push ecx
push esi
call fcn.10015ea0
mov eax, dword [edi + 0x1c]
add esp, 0x28
test eax, eax
je 0x10016c0b
push str.ELSE
push esi
call fcn.10018300
mov edx, dword [edi + 0x1c]
push 0
push edx
push esi
call fcn.10015ea0
add esp, 0x14
push str.ENDIF
push esi
call fcn.10018300
add esp, 8
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov eax, dword [esp + 0x24]
push str.CURRENT_DATE
push eax
call fcn.10018300
add esp, 8
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov ecx, dword [esp + 0x24]
push str.CURRENT_USER
push ecx
call fcn.10018300
add esp, 8
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov edx, dword [esp + 0x24]
push str.CURRENT_DATABASE
push edx
call fcn.10018300
add esp, 8
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov eax, dword [esp + 0x24]
push str.CURRENT_TIME
push eax
call fcn.10018300
add esp, 8
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov ecx, dword [esp + 0x24]
push str.CURRENT_TIMESTAMP
push ecx
call fcn.10018300
add esp, 8
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov edx, dword [esp + 0x24]
push str.CURRENT_UTC_TIMESTAMP
push edx
call fcn.10018300
add esp, 8
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov eax, dword [esp + 0x24]
push str.CURRENT_TIMEZONE
push eax
call fcn.10018300
add esp, 8
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov ecx, dword [esp + 0x24]
push str.CURRENT_SERVER
push ecx
call fcn.10018300
add esp, 8
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov esi, dword [esp + 0x24]
push str.convert_
push esi
call fcn.10018300
mov edx, dword [edi + 0x18]
push edx
push esi
call fcn.10014400
push 0x100328cc
push esi
call fcn.10018300
mov eax, dword [edi + 0x14]
push 0
push eax
push esi
call fcn.10015ea0
mov eax, dword [edi + 0x1c]
add esp, 0x24
test eax, eax
je 0x10016d41
cmp dword [eax], 0x60
je 0x10016d41
push 0x100328cc
push esi
call fcn.10018300
mov ecx, dword [edi + 0x1c]
push 0
push ecx
push esi
call fcn.10015ea0
add esp, 0x14
push 0x10032ff0
push esi
call fcn.10018300
add esp, 8
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov edi, dword [edi + 0x1c]
xor ebx, ebx
cmp edi, ebx
je case.0x10015ebf.29
test byte [edi + 0x38], 4
je 0x10016e46
mov esi, dword [esp + 0x24]
mov ecx, dword [esi + 4]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x14]
push eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov edx, dword [ecx]
lea eax, [esp + 0x14]
push eax
mov eax, dword [edi + 0x14]
push eax
mov eax, dword [edi + 0x18]
push eax
call dword [edx + 0x54]
test eax, eax
jne 0x10016ea8
cmp dword [esp + 0x10], ebx
je 0x10016ea8
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [edi + 0x14]
lea edx, [esp + 0x14]
push edx
mov edx, dword [edi + 0x18]
lea eax, [esp + 0x1c]
push eax
push ecx
push edx
push esi
call fcn.10013be0
mov ecx, dword [esp + 0x2c]
add esp, 0x18
cmp ecx, ebx
je 0x10016e31
cmp eax, 1
jne 0x10016e31
push eax
mov eax, dword [esp + 0x14]
push eax
push eax
mov eax, dword [esp + 0x18]
push ecx
push eax
push ebx
push esi
call fcn.100146f0
add esp, 0x1c
test eax, eax
je 0x10016e07
push 0x100331cc
push esi
call fcn.10018300
add esp, 8
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
push ecx
push edx
push eax
push esi
call fcn.10014ea0
push 0x1003307c
push esi
call fcn.10018300
add esp, 0x18
pop edi
pop esi
pop ebx
add esp, 0x14
ret
push str.NULL
push esi
call fcn.10018300
add esp, 8
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov eax, dword [edi + 0x2c]
cmp eax, ebx
je 0x10016e63
mov ecx, dword [esp + 0x24]
push ebx
push eax
push ecx
call fcn.10015ea0
add esp, 0xc
pop edi
pop esi
pop ebx
add esp, 0x14
ret
cmp dword [edi + 0x18], ebx
je 0x10016ea8
mov esi, dword [esp + 0x24]
push edi
push esi
call fcn.10014dc0
push 0x1003307c
push esi
call fcn.10018300
add esp, 0x10
pop edi
pop esi
pop ebx
add esp, 0x14
ret
mov esi, dword [esp + 0x24]
mov edx, dword [esi + 0x1c]
push eax
push str.unknown_type__d
push edx
call fcn.10027884
mov eax, dword [esi + 0x1c]
push eax
push esi
call fcn.10018300
add esp, 0x14
pop edi
pop esi
pop ebx
add esp, 0x14
ret