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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xa4
push ebx
push esi
mov esi, ecx
xor ebx, ebx
push edi
mov edi, edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x34], edi
mov ecx, dword [esi + 8]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x24], ebx
test edi, edi
je case.0x18112393.155
movzx edx, byte [edi]
mov dword [esp + 0x14], edx
mov eax, edx
cmp edx, 0x97
ja 0x1811237d
je 0x1811271c
cmp edx, 0x39
jbe 0x181124e7
cmp edx, 0x70
ja 0x181124aa
je 0x18112603
cmp edx, 0x47
je 0x18112401
cmp edx, 0x4d
je 0x1811239a
cmp edx, 0x64
jbe case.0x18112393.155
cmp edx, 0x6e
jbe 0x18112528
cmp edx, 0x6f
jne case.0x18112393.155
mov edi, dword [edi + 0xc]
mov dword [esp + 0x34], edi
jmp 0x18112314
lea eax, [edx - 0x98]
cmp eax, 0x1a
ja case.0x18112393.155
movzx eax, byte [eax + 0x18113130]
jmp dword [eax*4 + 0x181130ec]
movzx edx, word [edi + 0x20]
mov esi, dword [edi + 0x2c]
mov ecx, esi
movsx eax, dx
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], eax
call fcn.18119072
movsx ecx, ax
mov edx, 0x95
movsx eax, word [esi + 0x2a]
inc ecx
mov esi, dword [esp + 0x10]
inc eax
imul eax, dword [edi + 0x1c]
mov edi, dword [ebp + 8]
push ebx
push edi
add eax, ecx
mov ecx, esi
push eax
call fcn.180ff616
mov eax, dword [esp + 0x38]
add esp, 0xc
test eax, eax
js 0x1811245a
imul edx, eax, 0x14
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 4]
cmp byte [edx + eax + 0xd], 0x45
jne 0x1811245a
push ebx
push ebx
push edi
push 0x53
pop edx
mov ecx, esi
jmp 0x1811255a
cmp dword [esi + 0x78], ebx
jne 0x1811241d
cmp byte [esi + 0x12], bl
jne 0x1811241d
push str.RAISE___may_only_be_used_within_a_trigger_program
push esi
call fcn.180e8fc0
pop ecx
pop ecx
jmp 0x181128ab
mov al, byte [edi + 1]
cmp al, 2
jne 0x18112432
mov ecx, esi
call fcn.1811d25e
mov al, byte [edi + 1]
mov ecx, dword [esp + 0x10]
mov edi, dword [edi + 8]
push ebx
cmp al, 4
jne 0x1811248a
push 4
push ebx
push 0x44
pop edx
call fcn.180ff616
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov edx, eax
push ebx
push edi
call fcn.180ffd78
pop ecx
pop ecx
mov edi, dword [ebp + 8]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
call fcn.18114834
mov edx, dword [esp + 0x24]
test edx, edx
je 0x18112483
mov al, byte [ecx + 0x13]
cmp al, 8
jae 0x18112483
movzx eax, al
mov dword [ecx + eax*4 + 0x98], edx
inc byte [ecx + 0x13]
mov eax, edi
jmp 0x181130e3
mov edx, dword [esi + 0x78]
mov ecx, esi
neg edx
movsx eax, al
push ebx
sbb edx, edx
and edx, 0x712
push edi
push eax
inc edx
call fcn.1811d26c
add esp, 0x10
jmp 0x18112457
mov edx, eax
sub eax, 0x73
je 0x181124d7
sub eax, 0x15
je 0x181125ba
sub eax, 0xe
jne case.0x18112393.155
mov esi, dword [ebp + 8]
mov edx, dword [edi + 8]
push esi
push ebx
call fcn.18111e00
pop ecx
pop ecx
jmp 0x181130e1
push dword [edi + 8]
mov edx, dword [ebp + 8]
call fcn.180ff680
jmp 0x1811297a
cmp edx, 0x34
jae 0x18112a0b
cmp edx, 0x2d
ja 0x1811261d
je case.0x18112393.168
cmp edx, 0x13
je 0x18112603
cmp edx, 0x14
je 0x181125ba
cmp edx, 0x24
je 0x18112567
cmp edx, 0x2a
jbe case.0x18112393.155
cmp edx, 0x2c
ja case.0x18112393.155
mov edx, dword [edi + 0xc]
lea eax, [esp + 0x1c]
push eax
mov ecx, esi
call fcn.18113269
mov edx, dword [edi + 0x10]
mov esi, eax
pop ecx
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x24]
push eax
call fcn.18113269
mov edi, dword [ebp + 8]
pop ecx
push edi
push esi
mov edx, dword [esp + 0x1c]
push eax
mov ecx, dword [esp + 0x1c]
call fcn.180ff616
add esp, 0xc
jmp 0x1811245a
push dword [ebp + 8]
mov edx, dword [edi + 0xc]
mov ecx, esi
call fcn.181122e8
mov esi, dword [ebp + 8]
mov dword [esp + 0x28], eax
pop ecx
cmp eax, esi
je 0x18112596
mov ecx, dword [esp + 0x10]
push ebx
push esi
push eax
push 0x4e
pop edx
call fcn.180ff616
add esp, 0xc
mov dword [esp + 0x24], esi
mov ecx, dword [edi + 8]
xor edx, edx
call fcn.181196ba
mov ecx, dword [esp + 0x10]
push ebx
movsx eax, al
push eax
push esi
push 0x54
pop edx
call fcn.180ff616
add esp, 0xc
jmp 0x1811283a
mov eax, dword [esi]
cmp byte [eax + 0x51], bl
jne 0x181128ab
cmp edx, 0x88
jne 0x181125f5
mov eax, dword [edi + 0x14]
mov eax, dword [eax + 0x1c]
cmp dword [eax], 1
je 0x181125f5
cmp dword [esi + 0x24], ebx
jne 0x18112457
push 1
push dword [eax]
push str.sub_select_returns__d_columns___expected__d
push esi
call fcn.180e8fc0
jmp 0x181124a5
mov edx, edi
mov ecx, esi
call fcn.1811168f
jmp 0x181130e3
mov edx, dword [edi + 0xc]
lea eax, [esp + 0x1c]
push eax
mov ecx, esi
call fcn.18113269
mov edi, dword [ebp + 8]
pop ecx
push ebx
push edi
jmp 0x18112551
cmp edx, 0x30
je 0x18112708
cmp edx, 0x31
je 0x18112698
lea eax, [edx - 0x32]
cmp eax, 1
ja case.0x18112393.155
push ebx
push dword [ebp + 8]
push 1
push 0x45
pop edx
call fcn.180ff616
mov edx, dword [edi + 0xc]
lea eax, [esp + 0x28]
add esp, 0xc
mov ecx, esi
push eax
call fcn.18113269
mov edx, dword [esp + 0x18]
pop ecx
mov ecx, dword [esp + 0x10]
push ebx
push ebx
push eax
call fcn.180ff616
mov edi, dword [ebp + 8]
add esp, 0xc
mov esi, eax
push ebx
push edi
push ebx
mov ebx, dword [esp + 0x1c]
mov ecx, ebx
push 0x45
pop edx
call fcn.180ff616
add esp, 0xc
mov edx, esi
mov ecx, ebx
call fcn.180ffe36
mov ecx, dword [ebx + 0x6c]
mov dword [eax + 8], ecx
jmp 0x1811245a
mov esi, dword [esi + 0x38]
mov eax, dword [esp + 0x18]
dec esi
push ebx
push dword [ebp + 8]
push ebx
push 0x48
lea edi, [esi - 1]
pop edx
mov dword [eax + 0x38], edi
call fcn.180ff616
mov edx, dword [esp + 0x40]
add esp, 0xc
mov ecx, dword [esp + 0x18]
push edi
push esi
call fcn.1811190e
mov ecx, dword [esp + 0x18]
push ebx
push dword [ebp + 8]
push 1
push 0x45
pop edx
call fcn.180ff616
add esp, 0x14
mov edx, esi
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.180ff99a
push ebx
push ebx
mov ebx, dword [ebp + 8]
mov ecx, esi
push ebx
push 0x52
pop edx
call fcn.180ff616
add esp, 0xc
mov edx, edi
mov ecx, esi
call fcn.180ff99a
jmp 0x181129aa
push ebx
push ebx
mov ebx, dword [ebp + 8]
mov edx, edi
push ebx
mov ecx, esi
call fcn.181134e0
jmp 0x181129a7
mov edi, dword [edi + 8]
inc edi
add edi, 1
jne 0x18112729
mov eax, ebx
jmp 0x18112739
push edi
call fcn.1817e400
pop ecx
mov ecx, dword [esp + 0x10]
and eax, 0x3fffffff
mov ecx, dword [ecx]
lea esi, [eax - 1]
push esi
mov edx, edi
call fcn.180e9f3c
pop ecx
mov ecx, dword [esp + 0x10]
push 0xfffffffffffffff9
push eax
push ebx
mov ebx, dword [ebp + 8]
mov eax, esi
cdq
sub eax, edx
push ebx
sar eax, 1
push eax
push 0x4a
pop edx
call fcn.180ff738
add esp, 0x14
jmp 0x181129aa
movsx eax, word [edi + 0x22]
mov edx, dword [edi + 0x28]
imul eax, eax, 0x14
add eax, dword [edx + 0x1c]
mov dword [esp + 0x24], eax
cmp byte [edx], bl
jne 0x18112788
mov eax, dword [eax + 0xc]
jmp 0x181130e3
cmp byte [edx + 1], bl
je case.0x18112393.164
mov edi, dword [eax]
mov esi, dword [ebp + 8]
movsx eax, word [eax + 0x12]
push esi
push eax
push dword [edx + 8]
push 0x59
pop edx
call fcn.180ff616
mov eax, dword [esp + 0x30]
add esp, 0xc
movzx eax, word [eax + 0x10]
test ax, ax
js 0x1811297b
cwde
imul ecx, eax, 0x14
mov eax, dword [edi + 4]
cmp byte [ecx + eax + 0xd], 0x45
jne 0x1811297b
push ebx
push ebx
push esi
jmp 0x1811295b
test byte [edi + 4], 8
mov edx, dword [edi + 0x1c]
je 0x18112843
push dword [ebp + 8]
mov edx, dword [edi + 0xc]
mov ecx, esi
call fcn.181122e8
pop ecx
mov ecx, eax
mov dword [esp + 0x24], ecx
cmp dword [edi + 0x2c], ebx
je 0x18112805
movsx edx, word [edi + 0x20]
mov ecx, dword [edi + 0x2c]
call fcn.1810ef84
mov ecx, dword [esp + 0x24]
jmp 0x18112808
mov al, byte [edi + 1]
movsx esi, al
cmp esi, 0x41
jle 0x1811283a
push ebx
push 1
push ecx
mov ecx, dword [esp + 0x1c]
push 0x5a
pop edx
call fcn.180ff616
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov edx, eax
lea eax, [esi*2 + 0x181e5d74]
push 0xffffffffffffffff
push eax
call fcn.180ffd78
pop ecx
pop ecx
mov eax, dword [esp + 0x24]
jmp 0x181130e3
test edx, edx
jns 0x1811290f
mov eax, dword [esi + 0x34]
test eax, eax
jns 0x1811290c
mov ecx, dword [edi + 0x2c]
movzx edx, word [edi + 0x20]
mov dword [esp + 0x24], ecx
movsx ecx, dx
test ecx, ecx
jns 0x1811286f
not eax
jmp 0x181130e3
mov eax, dword [esp + 0x24]
imul edi, ecx, 0x14
mov ecx, eax
add edi, dword [eax + 4]
call fcn.18119072
movsx ecx, ax
sub ecx, dword [esi + 0x34]
movzx eax, word [edi + 0x10]
mov dword [esp + 0x24], ecx
test al, 0x60
je 0x181128e3
mov edx, 0x100
test edx, eax
je 0x181128b2
push dword [edi]
push str.generated_column_loop_on___s_
push esi
call fcn.180e8fc0
add esp, 0xc
xor eax, eax
jmp 0x181130e3
or eax, edx
mov word [edi + 0x10], ax
movzx edx, ax
test al, al
jns 0x181128d2
push ecx
mov edx, edi
mov ecx, esi
call fcn.18111f43
movzx edx, word [edi + 0x10]
pop ecx
mov ecx, dword [esp + 0x24]
and edx, 0xfe7f
mov word [edi + 0x10], dx
mov eax, ecx
jmp 0x181130e3
cmp byte [edi + 0xd], 0x45
jne 0x181128dc
mov esi, dword [ebp + 8]
push ebx
push esi
push ecx
mov ecx, dword [esp + 0x1c]
push 0x4e
pop edx
call fcn.180ff616
mov ecx, dword [esp + 0x1c]
add esp, 0xc
push ebx
push ebx
push esi
push 0x53
jmp 0x181130d8
lea edx, [eax - 1]
mov al, byte [edi + 2]
push dword [ebp + 8]
mov byte [esp + 0x27], al
movsx eax, word [edi + 0x20]
push eax
push edx
mov edx, dword [edi + 0x2c]
call fcn.18111fca
add esp, 0xc
cmp byte [esp + 0x23], bl
je 0x1811294b
mov ecx, dword [esi + 8]
or edx, 0xffffffff
call fcn.180ffe36
mov ecx, eax
cmp byte [ecx], 0x59
jne 0x1811294b
movzx eax, byte [esp + 0x23]
mov word [ecx + 2], ax
cmp dword [edi + 0x2c], ebx
jne 0x1811297b
cmp byte [edi + 1], 0x45
jne 0x1811297b
push ebx
push ebx
push dword [ebp + 8]
mov ecx, dword [esp + 0x1c]
push 0x53
pop edx
call fcn.180ff616
add esp, 0xc
jmp 0x1811297b
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
push ebx
call fcn.18111e56
pop ecx
pop ecx
mov eax, dword [ebp + 8]
jmp 0x181130e3
mov ecx, edi
call fcn.1810f09e
xor ecx, ecx
push ebx
mov ebx, dword [ebp + 8]
mov eax, dword [eax + 8]
push ebx
cmp byte [eax + 4], cl
sete cl
push ecx
mov ecx, dword [esp + 0x1c]
push 0x45
pop edx
call fcn.180ff616
add esp, 0xc
mov eax, ebx
jmp 0x181130e3
movsx eax, word [edi + 0x20]
push ebx
push dword [ebp + 8]
push eax
push 0x4b
pop edx
call fcn.180ff616
mov eax, dword [edi + 8]
add esp, 0xc
cmp byte [eax + 1], bl
je 0x1811297b
movsx edx, word [edi + 0x20]
mov ecx, dword [esi + 0xdc]
call fcn.180ea441
mov dword [ecx], ebx
mov edx, eax
mov ecx, dword [esp + 0x10]
push 0xffffffffffffffff
call fcn.180ffdea
jmp 0x1811297a
mov eax, dword [edi + 0x1c]
jmp 0x181130e3
xor eax, eax
mov ebx, 0x80
cmp edx, 0x2d
sete al
add eax, 0x34
mov edx, eax
mov dword [esp + 0x14], eax
mov ecx, dword [edi + 0xc]
mov dword [esp + 0x2c], ecx
call fcn.1810f36f
cmp eax, 1
jle 0x18112a32
push ebx
push edx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.1810f488
add esp, 0xc
jmp 0x18112457
lea eax, [esp + 0x1c]
mov edx, ecx
push eax
mov ecx, esi
call fcn.18113269
mov edx, dword [edi + 0x10]
mov esi, eax
pop ecx
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x24]
push eax
call fcn.18113269
mov edx, dword [esp + 0x30]
or ebx, 0x20
pop ecx
mov ecx, dword [edi + 4]
shr ecx, 9
and ecx, 1
push ecx
mov ecx, dword [esp + 0x1c]
push ebx
push dword [ebp + 8]
push eax
push esi
push dword [esp + 0x28]
push dword [edi + 0x10]
call fcn.1810f2f4
add esp, 0x1c
jmp 0x18112457
mov edx, dword [edi + 0xc]
mov al, byte [edx]
cmp al, 0x98
jne 0x18112aa1
mov ebx, dword [ebp + 8]
mov ecx, esi
push ebx
push 1
call fcn.18111e56
pop ecx
pop ecx
jmp 0x181129aa
cmp al, 0x96
jne 0x18112ab5
mov ebx, dword [ebp + 8]
mov edx, dword [edx + 8]
push ebx
push 1
call fcn.18111e00
jmp 0x18112a9a
lea eax, [esp + 0x1c]
mov byte [esp + 0x7c], 0x98
push eax
lea edx, [esp + 0x80]
mov dword [esp + 0x84], 0x4400
mov ecx, esi
mov dword [esp + 0x88], ebx
call fcn.18113269
mov edx, dword [edi + 0xc]
mov esi, eax
pop ecx
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x24]
push eax
call fcn.18113269
mov edi, dword [ebp + 8]
pop ecx
push edi
push esi
push eax
push 0x6a
pop edx
jmp 0x18112556
mov edx, dword [edi + 0xc]
lea eax, [esp + 0x1c]
push eax
mov ecx, esi
call fcn.18113269
pop ecx
mov ecx, dword [edi + 0x10]
mov esi, eax
call fcn.1810f09e
xor edx, edx
cmp byte [edi + 2], 0x2d
mov edi, dword [ebp + 8]
sete dl
xor ecx, ecx
mov eax, dword [eax + 8]
mov bl, byte [eax + 4]
test bl, bl
sete cl
xor eax, eax
xor edx, ecx
mov ecx, dword [esp + 0x10]
push edx
test bl, bl
setne al
push eax
push edi
push esi
push 0x57
pop edx
call fcn.180ff900
add esp, 0x10
jmp 0x1811245a
mov eax, dword [edi + 0x28]
test eax, eax
je 0x18112b7c
movzx ecx, word [edi + 0x22]
test cx, cx
js 0x18112b7c
movsx ecx, cx
cmp ecx, dword [eax + 0x2c]
jge 0x18112b7c
mov eax, dword [eax + 0x28]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 8]
jmp 0x181130e3
push dword [edi + 8]
push str.misuse_of_aggregate:__s__
push esi
call fcn.180e8fc0
jmp 0x18112a2a
test dword [edi + 4], 0x1000000
mov eax, dword [esi]
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x3c], ebx
mov al, byte [eax + 0x4e]
mov byte [esp + 0x28], al
je 0x18112bb8
mov eax, dword [edi + 0x2c]
mov eax, dword [eax + 0x38]
jmp 0x181130e3
cmp byte [esi + 0x17], bl
je 0x18112bde
push ebx
push 2
pop edx
mov ecx, edi
call fcn.18110a52
pop ecx
test eax, eax
je 0x18112bde
push 0xffffffffffffffff
mov edx, edi
mov ecx, esi
call fcn.1811314b
pop ecx
jmp 0x181130e3
mov eax, dword [edi + 0x14]
mov dword [esp + 0x38], eax
test eax, eax
je 0x18112bf1
mov eax, dword [eax]
mov dword [esp + 0x14], eax
jmp 0x18112bf7
mov eax, ebx
mov dword [esp + 0x14], ebx
mov ecx, dword [edi + 8]
mov edx, ecx
push ebx
push dword [esp + 0x2c]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x38]
push eax
call fcn.1811dc18
add esp, 0xc
mov dword [esp + 0x28], eax
test eax, eax
je 0x18112e1c
cmp dword [eax + 0x14], ebx
jne 0x18112e1c
test dword [eax + 4], 0x400000
je 0x18112c44
push dword [ebp + 8]
mov edx, dword [esp + 0x3c]
mov ecx, esi
push dword [eax + 8]
call fcn.18112185
pop ecx
jmp 0x18112bd8
test dword [eax + 4], 0x280000
je 0x18112c5c
push eax
mov edx, edi
mov ecx, esi
call fcn.1810fafb
mov eax, dword [esp + 0x2c]
pop ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1c], ebx
test ecx, ecx
jle 0x18112cde
mov edx, dword [esp + 0x38]
mov edi, ebx
add edx, 4
mov dword [esp + 0x18], edx
mov edx, ebx
cmp edx, 0x20
jae 0x18112c9f
mov eax, dword [esp + 0x18]
xor edx, edx
push ebx
inc edx
mov ecx, dword [eax]
call fcn.18110a52
mov edx, dword [esp + 0x20]
test eax, eax
mov eax, dword [esp + 0x2c]
pop ecx
mov ecx, dword [esp + 0x14]
je 0x18112c9f
bts edi, edx
test byte [eax + 4], 0x20
je 0x18112cc8
cmp dword [esp + 0x3c], ebx
jne 0x18112cc8
mov eax, dword [esp + 0x18]
mov ecx, esi
mov edx, dword [eax]
call fcn.1810f0d9
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x28]
add dword [esp + 0x18], 0x14
inc edx
mov dword [esp + 0x1c], edx
cmp edx, ecx
jl 0x18112c77
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
test edx, edx
je 0x18112d5e
cmp dword [esp + 0x2c], ebx
je 0x18112d05
mov eax, dword [esi + 0x2c]
lea edi, [eax + 1]
add eax, ecx
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x1c]
mov dword [esi + 0x2c], eax
jmp 0x18112d18
mov edx, ecx
mov ecx, esi
call fcn.1811484d
mov edx, dword [esp + 0x38]
mov ecx, eax
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x28]
test byte [eax + 4], 0xc0
je 0x18112d4a
mov ecx, dword [edx + 4]
mov cl, byte [ecx]
mov byte [esp + 0x23], cl
cmp cl, 0xa4
mov ecx, dword [esp + 0x1c]
je 0x18112d3b
cmp byte [esp + 0x23], 0xa6
jne 0x18112d4a
mov edi, dword [edx + 4]
mov al, byte [eax + 4]
and al, 0xc0
mov byte [edi + 2], al
mov edi, dword [esp + 0x34]
push 3
push ebx
push ecx
mov ecx, esi
call fcn.181133b9
mov edx, dword [esp + 0x44]
add esp, 0xc
jmp 0x18112d62
mov dword [esp + 0x1c], ebx
mov eax, dword [esp + 0x14]
cmp eax, 2
jl 0x18112d8a
test byte [edi + 4], 0x80
je 0x18112d8e
push dword [edx + 0x18]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x34]
push eax
call fcn.1813592c
pop ecx
pop ecx
mov dword [esp + 0x28], eax
jmp 0x18112d97
test eax, eax
jle 0x18112d93
push dword [edx + 4]
jmp 0x18112d74
mov eax, dword [esp + 0x28]
test byte [eax + 4], 0x20
je 0x18112dd3
cmp dword [esp + 0x3c], ebx
jne 0x18112dae
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 8]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x10]
push ebx
push ebx
push ebx
push 0x51
pop edx
call fcn.180ff616
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov edx, eax
push 0xfffffffffffffffe
push dword [esp + 0x40]
call fcn.180ffd78
pop ecx
pop ecx
movzx eax, byte [edi + 2]
mov ecx, esi
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x2c]
push eax
push dword [esp + 0x2c]
push edi
push dword [ebp + 8]
push ebx
call fcn.180ff767
add esp, 0x14
test edi, edi
je 0x1811297b
cmp dword [esp + 0x2c], 0
jne 0x1811297b
push edi
mov edx, ebx
mov ecx, esi
call fcn.18114883
add esp, 4
jmp 0x1811297b
push dword [esp + 0x40]
push str.unknown_function:__s__
jmp 0x18112b84
mov ecx, dword [edi + 0xc]
cmp dword [ecx + 0x1c], ebx
jne 0x18112e46
mov edx, ecx
mov ecx, esi
call fcn.1811168f
mov ecx, eax
mov eax, dword [edi + 0xc]
mov dword [eax + 0x1c], ecx
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 0x1c]
test edx, edx
je 0x18112e69
call fcn.1810f36f
cmp edx, eax
je 0x18112e69
push eax
push edx
push str._d_columns_assigned__d_values
push esi
call fcn.180e8fc0
mov ecx, dword [edi + 0xc]
add esp, 0x10
movsx eax, word [edi + 0x20]
add eax, dword [ecx + 0x1c]
jmp 0x181130e3
push str.row_value_misused
push esi
call fcn.180e8fc0
jmp 0x18112455
mov bl, byte [esi + 0x17]
xor eax, eax
push eax
push eax
push dword [edi + 0x1c]
push 0x15
pop edx
call fcn.180ff616
mov esi, eax
add esp, 0xc
mov eax, dword [esp + 0x18]
mov ecx, eax
push dword [ebp + 8]
mov byte [eax + 0x17], 0
mov edx, dword [edi + 0xc]
call fcn.181122e8
mov edi, eax
mov edx, esi
mov eax, dword [esp + 0x1c]
pop ecx
mov byte [eax + 0x17], bl
mov ebx, dword [esp + 0x10]
mov ecx, ebx
call fcn.180ffe36
mov ecx, dword [ebx + 0x6c]
mov edx, esi
mov dword [eax + 8], ecx
mov ecx, ebx
call fcn.180ffe36
mov dword [eax + 0xc], edi
jmp 0x1811245a
mov ecx, dword [edi + 0x14]
mov eax, dword [esi]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x3c], ebx
lea edx, [ecx + 4]
mov dword [esp + 0x34], ebx
mov ecx, dword [ecx]
dec dword [esi + 0x38]
mov dword [esp + 0x38], ecx
mov ecx, dword [esi + 0x38]
mov dword [esp + 0x30], ecx
mov ecx, dword [edi + 0xc]
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x40], ecx
test ecx, ecx
je 0x18112f8d
push ebx
mov edx, ecx
mov ecx, eax
push ebx
call fcn.1810fdce
mov edi, eax
mov eax, dword [esp + 0x30]
pop ecx
pop ecx
mov dword [esp + 0x34], edi
cmp byte [eax + 0x51], bl
je 0x18112f48
test edi, edi
je 0x18112457
mov edx, edi
mov ecx, eax
call fcn.1810fc83
jmp 0x18112457
lea eax, [esp + 0x1c]
mov edx, edi
push eax
mov ecx, esi
call fcn.181120ff
pop ecx
mov edx, eax
mov ecx, edi
call fcn.181120e3
push 0x34
lea eax, [esp + 0x4c]
push ebx
push eax
call fcn.181757a0
mov ecx, dword [esp + 0x4c]
lea eax, [esp + 0x54]
mov edx, dword [esp + 0x20]
add esp, 0xc
mov byte [esp + 0x48], 0x35
mov dword [esp + 0x54], edi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1c], ebx
mov eax, dword [esp + 0x38]
dec eax
test eax, eax
jle 0x1811305d
dec eax
shr eax, 1
inc eax
mov dword [esp + 0x2c], eax
test ecx, ecx
je 0x18113006
mov esi, dword [esi + 0x38]
mov edi, dword [esp + 0x18]
dec esi
mov eax, dword [edx]
push 0x10
push esi
push dword [esp + 0x44]
mov dword [esp + 0x64], eax
push edi
mov dword [edi + 0x38], esi
call fcn.181138ef
mov edx, dword [esp + 0x24]
mov ecx, edi
push dword [ebp + 8]
mov edx, dword [edx + 0x14]
call fcn.181132e5
mov edx, dword [esp + 0x44]
add esp, 0x14
mov ecx, dword [esp + 0x10]
call fcn.180ff66f
mov ecx, dword [esp + 0x10]
mov edx, esi
call fcn.180ff99a
mov edx, dword [esp + 0x14]
mov esi, edi
add edx, 0x28
sub dword [esp + 0x2c], 1
mov dword [esp + 0x14], edx
jne 0x18112fa6
jmp 0x1811305d
mov esi, dword [esi + 0x38]
mov eax, dword [edx]
dec esi
mov edi, dword [esp + 0x18]
push 0x10
push esi
push eax
push edi
mov dword [edi + 0x38], esi
call fcn.181138ef
mov edx, dword [esp + 0x24]
mov ecx, edi
push dword [ebp + 8]
mov edx, dword [edx + 0x14]
call fcn.181132e5
mov edx, dword [esp + 0x44]
add esp, 0x14
mov ecx, dword [esp + 0x10]
call fcn.180ff66f
mov ecx, dword [esp + 0x10]
mov edx, esi
call fcn.180ff99a
mov edx, dword [esp + 0x14]
mov esi, edi
add edx, 0x28
sub dword [esp + 0x2c], 1
mov dword [esp + 0x14], edx
jne 0x18113006
mov eax, dword [esp + 0x38]
mov edi, dword [ebp + 8]
test al, 1
je 0x18113082
imul edx, eax, 0x14
mov ecx, esi
mov eax, dword [esp + 0x44]
push edi
mov edx, dword [edx + eax - 0x10]
call fcn.181132e5
mov ebx, dword [esp + 0x14]
pop ecx
jmp 0x18113096
push ebx
push edi
push ebx
mov ebx, dword [esp + 0x1c]
mov ecx, ebx
push 0x48
pop edx
call fcn.180ff616
add esp, 0xc
mov eax, dword [esp + 0x34]
test eax, eax
je 0x181130a9
mov ecx, dword [esp + 0x28]
mov edx, eax
call fcn.1810fc83
or edx, 0xffffffff
mov ecx, ebx
call fcn.180ffe36
cmp byte [eax], 0x4d
jne 0x181130c0
xor edx, edx
inc edx
call fcn.180ffb71
mov edx, dword [esp + 0x30]
mov ecx, ebx
call fcn.180ff99a
jmp 0x1811245a
mov esi, dword [ebp + 8]
push ebx
push esi
push ebx
push 0x48
pop edx
call fcn.180ff616
add esp, 0xc
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret