Function at 0x1011c090
Capabilities:
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x134
mov eax, dword [0x10206370]
xor eax, esp
mov dword [esp + 0x12c], eax
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov ebp, dword [edi]
mov ecx, dword [ebp + 0x10]
mov eax, dword [edi + 4]
mov edx, dword [ecx + 0xc]
mov ebx, dword [edi + 8]
mov ecx, dword [ebp + 0x20]
xor esi, esi
mov dword [esp + 0x58], eax
mov al, byte [edx + 0x4d]
mov edx, dword [ebp + 0x24]
push edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], ebp
mov byte [esp + 0x37], 0
mov byte [esp + 0x28], al
mov dword [esp + 0x58], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], esi
mov dword [esp + 0x30], ebx
mov dword [esp + 0x24], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edx
call fcn.10117590
add esp, 4
cmp dword [edi + 0x5c], 7
je 0x1011d808
xor ecx, ecx
mov dword [edi + 0x5c], ecx
mov dword [edi + 0x98], ecx
mov dword [edi + 0x9c], ecx
mov dword [edi + 0x14], ecx
mov eax, dword [ebp + 0xe8]
mov dword [ebp + 0x1bc], ecx
test eax, eax
jne 0x101215f5
cmp dword [ebp + 0x11c], ecx
je 0x1011c165
mov eax, dword [edi + 0x88]
cmp eax, ecx
jne 0x1011c159
mov ecx, dword [ebp + 0x124]
mov dword [esp + 0x4c], ecx
jmp 0x1011c165
xor edx, edx
div dword [ebp + 0x124]
mov dword [esp + 0x4c], edx
mov edx, dword [edi + 0x58]
mov dword [esp + 0x18], edx
lea esp, [esp]
cmp byte [ebp + 0x40], 0
jne 0x1011d808
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x58]
lea edx, [eax + eax*4]
mov ecx, 1
add dword [esp + 0x48], ecx
test byte [ebp + edx*4 + 2], 2
lea ebp, [ebp + edx*4]
je 0x1011c1ca
mov edx, dword [ebp + 8]
lea edx, [edx + edx*4]
lea esi, [ebx + edx*8]
mov edx, 0x2460
mov dword [esp + 0x20], esi
test word [esi + 0x1c], dx
je 0x1011c1c1
mov eax, esi
call fcn.10115850
mov eax, dword [esp + 0x18]
mov ecx, 1
mov edx, 4
mov word [esi + 0x1c], dx
movzx edx, byte [ebp]
dec edx
cmp edx, 0x93
ja case.default.0x1011c1db
jmp dword [edx*4 + 0x101216f4]
mov ebp, dword [ebp + 8]
sub ebp, ecx
jmp 0x10121103
mov edx, dword [ebp + 4]
lea edx, [edx + edx*4]
lea ebx, [ebx + edx*8]
mov edx, 4
mov word [ebx + 0x1c], dx
cdq
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
mov eax, dword [ebp + 8]
sub eax, ecx
mov dword [esp + 0x18], eax
jmp case.default.0x1011c1db
mov ebp, dword [ebp + 4]
lea ecx, [ebp + ebp*4]
mov edx, dword [ebx + ecx*8 + 0x10]
mov dword [esp + 0x18], edx
jmp case.default.0x1011c1db
mov ebp, dword [ebp + 4]
lea ecx, [ebp + ebp*4]
lea ebx, [ebx + ecx*8]
mov ecx, dword [ebx + 0x10]
mov edx, 4
mov word [ebx + 0x1c], dx
cdq
mov dword [esp + 0x70], ecx
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0x18], edx
jmp case.default.0x1011c1db
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx + ecx*4]
test byte [ebx + ecx*8 + 0x1c], 1
je case.default.0x1011c1db
cmp dword [ebp + 4], 0
jne 0x10121409
mov edx, dword [edi + 0xc0]
test edx, edx
je 0x10121409
mov eax, dword [edx + 4]
mov ecx, dword [edi + 0x68]
dec dword [edi + 0xc8]
mov esi, dword [esp + 0x14]
mov dword [edi + 0xc0], eax
add dword [esi + 0x54], ecx
mov eax, edx
mov dword [esi + 0x50], ecx
call fcn.10117fb0
cmp dword [ebp + 8], 4
mov ecx, dword [esi + 0x20]
mov edx, dword [esi + 0x24]
mov dword [esp + 0x18], eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], edx
jne 0x1011c2c8
mov ecx, dword [edi + 4]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 + 8]
dec edx
mov dword [esp + 0x18], edx
mov eax, dword [edi + 4]
mov ecx, dword [edi + 8]
mov dword [esp + 0x58], eax
mov dword [esp + 0x2c], ecx
jmp case.default.0x1011c1db
mov eax, dword [ebp + 4]
cdq
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
jmp case.default.0x1011c1db
mov ebp, dword [ebp + 0x10]
mov edx, dword [ebp]
mov dword [esi + 0x10], edx
mov eax, dword [ebp + 4]
mov dword [esi + 0x14], eax
jmp case.default.0x1011c1db
mov ecx, 8
mov word [esi + 0x1c], cx
mov edx, dword [ebp + 0x10]
fld qword [edx]
fstp qword [esi + 8]
jmp case.default.0x1011c1db
mov ebx, dword [ebp + 0x10]
mov ecx, ebx
mov byte [ebp], 0x17
call fcn.100fe020
cmp byte [esp + 0x24], 1
mov dword [ebp + 4], eax
je 0x1011c423
test ebx, ebx
jne 0x1011c342
mov esi, dword [esp + 0x20]
call fcn.10115b60
jmp 0x1011c3bf
mov eax, dword [esi]
test eax, eax
je 0x1011c34d
mov eax, dword [eax + 0x58]
jmp 0x1011c352
mov eax, 0x3b9aca00
xor edi, edi
mov dword [esp + 0x34], eax
test eax, eax
jl 0x1011c36b
lea esp, [esp]
cmp byte [edi + ebx], 0
je 0x1011c36b
inc edi
cmp edi, eax
jle 0x1011c360
xor eax, eax
mov dword [esp + 0x28], 0x202
push esi
cmp eax, 0x100fbfd0
jne 0x1011c387
call fcn.101158c0
mov dword [esi + 0x24], ebx
jmp 0x1011c394
call fcn.101158c0
mov dword [esp + 0x2c], 0xa02
mov cx, word [esp + 0x2c]
add esp, 4
cmp edi, dword [esp + 0x34]
mov dword [esi + 0x20], 0
mov dword [esi + 4], ebx
mov dword [esi + 0x18], edi
mov word [esi + 0x1c], cx
mov byte [esi + 0x1f], 1
mov byte [esi + 0x1e], 3
jg 0x1011cdd3
movzx ecx, byte [esp + 0x24]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x10], 0
call fcn.101154f0
test eax, eax
jne 0x1011d808
mov esi, dword [esp + 0x20]
mov dx, word [esi + 0x1c]
mov dword [esi + 0x24], eax
mov eax, 0xfbff
and dx, ax
mov ecx, 0x800
or dx, cx
or bl, 0xff
mov word [esi + 0x1c], dx
cmp byte [ebp + 1], bl
jne 0x1011c410
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0x14]
call fcn.100fc0b0
mov byte [ebp + 1], bl
mov edx, dword [esi + 4]
mov dword [ebp + 0x10], edx
mov eax, dword [esi + 0x18]
mov esi, dword [esp + 0x20]
mov dword [ebp + 4], eax
mov ecx, dword [ebp + 4]
mov edx, dword [esp + 0x14]
cmp ecx, dword [edx + 0x58]
jg 0x1011cdd3
mov eax, 0xa02
mov word [esi + 0x1c], ax
mov ecx, dword [ebp + 0x10]
mov al, byte [esp + 0x24]
mov dword [esi + 4], ecx
mov edx, dword [ebp + 4]
mov dword [esi + 0x18], edx
mov byte [esi + 0x1f], al
jmp case.default.0x1011c1db
mov edx, dword [ebp + 0xc]
sub edx, dword [ebp + 8]
mov dword [esp + 0x70], edx
mov ebp, dword [ebp + 4]
neg ebp
sbb ebp, ebp
and ebp, 0x100
add ebp, ecx
mov word [esp + 0x74], bp
mov word [esi + 0x1c], bp
cmp dword [esp + 0x70], 0
jle case.default.0x1011c1db
add esi, 0x28
mov eax, 0x2460
test word [esi + 0x1c], ax
je 0x1011c49b
mov eax, esi
call fcn.10115850
mov ecx, 1
mov dx, word [esp + 0x74]
mov word [esi + 0x1c], dx
mov eax, dword [esp + 0x70]
sub eax, ecx
mov dword [esp + 0x70], eax
test eax, eax
jg 0x1011c481
mov dword [esp + 0x20], esi
jmp case.default.0x1011c1db
mov edi, dword [ebp + 0x10]
mov ebp, dword [ebp + 4]
test edi, edi
jne 0x1011c4dc
mov esi, dword [esp + 0x20]
call fcn.10115b60
mov al, byte [esp + 0x24]
mov ecx, esi
mov byte [ecx + 0x1f], al
jmp case.default.0x1011c1db
mov eax, dword [esi]
test eax, eax
je 0x1011c4e7
mov eax, dword [eax + 0x58]
jmp 0x1011c4ec
mov eax, 0x3b9aca00
mov ebx, 0x10
test ebp, ebp
jge 0x1011c515
xor ebp, ebp
test eax, eax
jl 0x1011c510
jmp 0x1011c500
mov cl, byte [edi + ebp + 1]
or cl, byte [edi + ebp]
je 0x1011c510
add ebp, 2
cmp ebp, eax
jle 0x1011c500
mov ebx, 0x210
xor edx, edx
push esi
cmp edx, 0x100fbfd0
jne 0x1011c52d
call fcn.101158c0
add esp, 4
mov dword [esi + 0x24], edi
jmp 0x1011c53b
call fcn.101158c0
add esp, 4
or ebx, 0x800
mov al, byte [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov byte [esi + 0x1f], 1
mov dword [esi + 0x20], 0
mov dword [esi + 4], edi
mov dword [esi + 0x18], ebp
mov word [esi + 0x1c], bx
mov byte [esi + 0x1e], 4
mov byte [ecx + 0x1f], al
jmp case.default.0x1011c1db
mov ebp, dword [ebp + 4]
mov eax, dword [edi + 0x48]
lea edx, [ebp + ebp*4]
lea edi, [eax + edx*8 - 0x28]
mov ecx, edi
mov dword [esp + 0x70], edi
call fcn.10115da0
test eax, eax
jne 0x1011cdd3
push 0x800
push edi
mov ebx, esi
call fcn.10115dd0
add esp, 8
jmp case.default.0x1011c1db
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [esp + 0x74], eax
mov ecx, dword [ebp + 4]
mov dword [esp + 0x78], ecx
mov ebp, dword [ebp + 8]
lea ecx, [ecx + ecx*4]
lea edx, [ebp + ebp*4]
lea edi, [ebx + ecx*8]
lea ecx, [ebx + edx*8]
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x20], ecx
je 0x1011c5fc
mov esi, ecx
dec eax
mov dword [esp + 0x74], eax
mov edx, dword [esi + 0x24]
mov dword [esp + 0x70], edx
mov ebx, edi
mov eax, esi
mov dword [esi + 0x24], 0
call fcn.10115e90
mov eax, dword [esp + 0x70]
mov dword [edi + 0x24], eax
mov eax, dword [esp + 0x74]
add edi, 0x28
add esi, 0x28
test eax, eax
jne 0x1011c5c7
mov dword [esp + 0x20], esi
dec eax
mov dword [esp + 0x74], eax
jmp case.default.0x1011c1db
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x70], ecx
mov eax, dword [ebp + 4]
mov ebp, dword [ebp + 8]
lea edx, [eax + eax*4]
lea eax, [ebp + ebp*4]
lea esi, [ebx + edx*8]
lea ebx, [ebx + eax*8]
push 0x1000
push esi
mov dword [esp + 0x28], ebx
call fcn.10115dd0
mov ecx, 0x1000
add esp, 8
test word [ebx + 0x1c], cx
je 0x1011c64c
mov eax, ebx
call fcn.10115620
test eax, eax
jne 0x1011d808
mov eax, dword [esp + 0x70]
mov edx, eax
dec eax
mov dword [esp + 0x70], eax
test edx, edx
je case.default.0x1011c1db
add ebx, 0x28
add esi, 0x28
jmp 0x1011c620
mov eax, dword [ebp + 8]
mov ebp, dword [ebp + 4]
lea eax, [eax + eax*4]
lea ecx, [ebp + ebp*4]
lea eax, [ebx + eax*8]
lea edx, [ebx + ecx*8]
push 0x1000
push edx
mov ebx, eax
mov dword [esp + 0x28], eax
call fcn.10115dd0
add esp, 8
jmp case.default.0x1011c1db
push 0
mov esi, edi
call fcn.10118b70
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne case.default.0x1011c1db
push 1
push edi
call fcn.10118a50
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne case.default.0x1011c1db
mov ecx, dword [edi + 0x54]
add ecx, 2
or ecx, 1
mov dword [edi + 0x54], ecx
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
lea ebx, [ebx + edx*8]
xor ecx, ecx
mov dword [edi + 0x14], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ecx
cmp dword [ebp + 8], ecx
jle 0x1011c73f
mov edx, dword [esp + 0x70]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*8]
mov edx, 0x1000
test word [eax + 0x1c], dx
je 0x1011c70f
call fcn.10115620
test eax, eax
jne 0x1011d808
mov ecx, dword [esp + 0x74]
lea eax, [ecx + ecx*4]
mov ecx, dword [esp + 0x70]
lea eax, [ecx + eax*8]
call fcn.101156e0
mov eax, dword [esp + 0x74]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x70]
lea ecx, [eax + edx*8]
call fcn.1011be80
mov ecx, dword [esp + 0x74]
inc ecx
mov dword [esp + 0x74], ecx
cmp ecx, dword [ebp + 8]
jl 0x1011c6e9
mov ecx, dword [esp + 0x14]
cmp byte [ecx + 0x40], 0
jne 0x1011d808
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
inc edx
mov dword [edi + 0x58], edx
mov esi, 0x64
jmp 0x101216b2
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov eax, dword [ebp + 8]
mov ebp, dword [ebp + 0xc]
lea ecx, [eax + eax*4]
lea eax, [ebx + ecx*8]
movzx ecx, word [edi + 0x1c]
lea edx, [ebp + ebp*4]
lea esi, [ebx + edx*8]
mov dl, byte [eax + 0x1c]
or dl, cl
mov dword [esp + 0x28], edi
mov dword [esp + 0x34], eax
mov dword [esp + 0x20], esi
test dl, 1
je 0x1011c7a3
call fcn.10115b60
jmp case.default.0x1011c1db
test ecx, 0x4000
je 0x1011c7c2
mov eax, edi
call fcn.10115680
test eax, eax
jne 0x1011d808
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x28]
mov ecx, 0x4000
test word [eax + 0x1c], cx
je 0x1011c7e2
call fcn.10115680
test eax, eax
jne 0x1011d808
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x28]
mov bl, 0x12
test byte [edi + 0x1c], bl
jne 0x1011c805
movzx esi, byte [esp + 0x24]
mov eax, edi
call fcn.10115730
test eax, eax
jne 0x1011d808
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x28]
test byte [eax + 0x1c], bl
jne 0x1011c824
movzx esi, byte [esp + 0x24]
call fcn.10115730
test eax, eax
jne 0x1011d808
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x28]
mov eax, dword [eax + 0x18]
add eax, dword [edi + 0x18]
cdq
mov ecx, edx
mov edx, dword [esp + 0x14]
mov esi, eax
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], ecx
mov eax, dword [edx + 0x58]
cdq
cmp ecx, edx
jg 0x1011cdd3
jl 0x1011c851
cmp esi, eax
ja 0x1011cdd3
mov edi, dword [esp + 0x20]
mov ax, word [edi + 0x1c]
mov ecx, 0xbe02
and ax, cx
or ax, 2
xor edx, edx
cmp edi, dword [esp + 0x34]
mov word [edi + 0x1c], ax
mov eax, dword [esp + 0x70]
sete dl
add eax, 2
push edx
call fcn.10115510
add esp, 4
test eax, eax
jne 0x1011d808
mov esi, edi
mov edi, dword [esp + 0x34]
cmp esi, edi
je 0x1011c8a8
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 4]
mov edx, dword [esi + 4]
push eax
push ecx
push edx
call fcn.10184640
add esp, 0xc
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 4]
mov eax, dword [esi + 4]
add eax, dword [edi + 0x18]
push ecx
push edx
push eax
call fcn.10184640
mov edx, dword [esp + 0x7c]
mov ecx, dword [esi + 4]
mov byte [edx + ecx], 0
mov ecx, dword [esp + 0x7c]
mov eax, dword [esi + 4]
mov byte [eax + ecx + 1], 0
mov cl, byte [esp + 0x30]
mov edx, 0x200
add esp, 0xc
or word [esi + 0x1c], dx
mov eax, dword [esp + 0x70]
mov dword [esi + 0x18], eax
mov byte [esi + 0x1f], cl
jmp case.default.0x1011c1db
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
lea edi, [ebx + edx*8]
mov esi, edi
call fcn.1011bf70
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
call fcn.1011bf70
mov eax, dword [ebp + 0xc]
lea ecx, [eax + eax*4]
movzx eax, word [esi + 0x1c]
lea edx, [ebx + ecx*8]
movzx ecx, word [edi + 0x1c]
or eax, ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x74], eax
test al, 1
jne 0x1011cbba
mov dl, byte [esi + 0x1c]
and dl, byte [edi + 0x1c]
test dl, 4
je 0x1011ca88
mov eax, dword [edi + 0x10]
mov dword [esp + 0x78], eax
mov ecx, dword [edi + 0x14]
mov dword [esp + 0x7c], ecx
mov ebx, dword [esi + 0x10]
mov dword [esp + 0x80], ebx
mov edx, dword [esi + 0x14]
mov dword [esp + 0x84], edx
mov byte [esp + 0x70], 1
movzx edx, byte [ebp]
add edx, 0xffffffaa
cmp edx, 3
ja case.default.0x1011c97d
jmp dword [edx*4 + 0x10121944]
push ecx
push eax
lea eax, [esp + 0x88]
push eax
call fcn.100fef20
add esp, 0xc
test eax, eax
jne 0x1011ca8d
jmp 0x1011ca57
push ecx
push eax
lea edx, [esp + 0x88]
call fcn.100fefb0
add esp, 8
test eax, eax
jne 0x1011ca8d
jmp 0x1011ca57
push ecx
push eax
lea ecx, [esp + 0x88]
push ecx
call fcn.100ff000
add esp, 0xc
test eax, eax
jne 0x1011ca8d
jmp 0x1011ca57
mov edx, eax
or edx, ecx
je 0x1011cbba
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x1011ca05
test ebx, ebx
jne 0x1011ca05
cmp dword [esp + 0x84], 0x80000000
je 0x1011ca8d
push ecx
push eax
mov eax, dword [esp + 0x8c]
push eax
push ebx
call fcn.1018daa0
jmp 0x1011ca49
mov edx, eax
or edx, ecx
je 0x1011cbba
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x1011ca39
mov eax, 1
xor ecx, ecx
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
push ecx
push eax
mov eax, dword [esp + 0x8c]
push eax
push ebx
call fcn.1018db50
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x80]
mov dword [eax + 0x10], ecx
mov edx, dword [esp + 0x84]
mov cx, word [eax + 0x1c]
mov dword [eax + 0x14], edx
mov edx, 0xbe04
and cx, dx
or cx, 4
mov word [eax + 0x1c], cx
jmp case.default.0x1011c1db
mov byte [esp + 0x70], 0
mov eax, edi
call fcn.101159d0
fstp qword [esp + 0x88]
mov eax, esi
call fcn.101159d0
fst qword [esp + 0x90]
movzx eax, byte [ebp]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x1011cab5
jmp dword [eax*4 + 0x10121954]
fadd qword [esp + 0x88]
jmp 0x1011cb5b
fsub qword [esp + 0x88]
jmp 0x1011cb5b
fmul qword [esp + 0x88]
jmp 0x1011cb5b
fldz
fld qword [esp + 0x88]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x1011cbb6
fdivp st(1)
jmp 0x1011cb5b
fld qword [esp + 0x88]
call fcn.1019fc16
mov esi, eax
mov edi, edx
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], edi
call fcn.1019fc16
mov ecx, esi
or ecx, edi
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
je 0x1011cbba
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x1011cb46
mov esi, 1
xor edi, edi
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], edi
push edi
push esi
push edx
push eax
call fcn.1018db50
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
fild qword [esp + 0x60]
sub esp, 8
fst qword [esp + 0x98]
fstp qword [esp]
call fcn.100fdfe0
add esp, 8
test eax, eax
jne 0x1011cbba
mov esi, dword [esp + 0x20]
fld qword [esp + 0x90]
mov dx, word [esi + 0x1c]
fstp qword [esi + 8]
mov eax, 0xbe08
and dx, ax
or dx, 8
mov word [esi + 0x1c], dx
test byte [esp + 0x74], 8
jne case.default.0x1011c1db
cmp byte [esp + 0x70], 0
jne case.default.0x1011c1db
call fcn.10115a20
jmp case.default.0x1011c1db
fstp st(0)
fstp st(0)
mov esi, dword [esp + 0x20]
call fcn.10115b60
jmp case.default.0x1011c1db
mov ebp, dword [ebp + 4]
test ebp, ebp
je case.default.0x1011c1db
lea ecx, [ebp + ebp*4]
push 0
push 0
lea esi, [ebx + ecx*8]
call fcn.10115c10
add esp, 8
jmp case.default.0x1011c1db
movzx ecx, byte [ebp + 3]
mov edx, dword [edi + 0xc]
mov dword [esp + 0xc0], edx
mov dword [esp + 0xc4], ecx
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea edx, [ebx + eax*8]
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
xor eax, eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x70], eax
test ecx, ecx
jle 0x1011cc72
mov ecx, dword [esp + 0xc0]
mov dword [ecx + eax*4], ebx
mov eax, dword [esp + 0x74]
mov edx, 0x1000
test word [eax + 0x1c], dx
je 0x1011cc4e
call fcn.10115620
test eax, eax
jne 0x1011d808
mov eax, dword [esp + 0x74]
mov ecx, eax
call fcn.1011be80
mov eax, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
inc eax
add ebx, 0x28
cmp eax, dword [esp + 0xc4]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ebx
jl 0x1011cc24
mov eax, dword [ebp + 0x10]
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x78], eax
xor eax, eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x1c]
mov ecx, 1
mov dword [esp + 0xb0], eax
mov ebx, edi
lea eax, [esp + 0x80]
mov word [esp + 0x9c], cx
mov dword [esp + 0x80], esi
mov dword [esp + 0xb4], edx
call fcn.10115e90
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x78]
and ecx, 0xbe01
or ecx, 1
mov word [esp + 0x9c], cx
mov byte [esp + 0xbd], 0
test byte [edx + 2], 0x20
je 0x1011ccfd
mov eax, dword [ebp - 4]
mov dword [esp + 0xac], eax
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov dword [esi + 0x24], edx
mov dword [esi + 0x20], ecx
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
push eax
mov eax, dword [esp + 0x7c]
push ecx
mov ecx, dword [eax + 0xc]
lea edx, [esp + 0x80]
push edx
call ecx
mov edx, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
add esp, 0xc
cmp byte [esi + 0x40], 0
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
jne 0x10121493
cmp byte [esp + 0xbd], 0
je 0x1011cda5
cmp dword [esp + 0xb8], 0
je 0x1011cd8f
mov bl, 1
lea edi, [esp + 0x80]
call fcn.10116440
mov edi, dword [esp + 0x1c]
push eax
push 0x101dda8c
add edi, 0x38
mov eax, esi
call fcn.100fc460
mov ecx, dword [esp + 0xc0]
mov edi, dword [esp + 0x28]
add esp, 8
mov dword [esp + 0x10], ecx
mov edx, dword [ebp + 4]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
push edx
push eax
push ecx
call fcn.10119110
add esp, 0xc
movzx ecx, byte [esp + 0x24]
lea eax, [esp + 0x80]
call fcn.101154f0
lea ebx, [esp + 0x80]
mov eax, edi
call fcn.10115e90
mov ecx, edi
call fcn.10115da0
test eax, eax
je case.default.0x1011c1db
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
push str.string_or_blob_too_big
add edi, 0x38
call fcn.100fc460
add esp, 4
mov dword [esp + 0x10], 0x12
jmp 0x10121639
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [ebp + 0xc]
lea edi, [ebx + edx*8]
lea edx, [eax + eax*4]
mov al, byte [ecx + 0x1c]
or al, byte [edi + 0x1c]
lea esi, [ebx + edx*8]
mov dword [esp + 0x20], esi
test al, 1
je 0x1011ce2b
call fcn.10115b60
jmp case.default.0x1011c1db
call fcn.10115960
mov ecx, edi
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
call fcn.10115960
mov edi, eax
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], edx
mov al, byte [ebp]
mov byte [esp + 0x88], al
cmp al, 0x52
jne 0x1011ce6a
and dword [esp + 0x70], edi
and dword [esp + 0x74], edx
jmp 0x1011cf79
cmp al, 0x53
jne 0x1011ce7b
or dword [esp + 0x70], edi
or dword [esp + 0x74], edx
jmp 0x1011cf79
mov ecx, edi
or ecx, edx
je 0x1011cf79
test edx, edx
jg 0x1011cec8
jl 0x1011ce8f
test edi, edi
jae 0x1011cebd
mov cl, 0xa9
sub cl, al
cmp edx, 0xffffffff
mov al, cl
mov byte [esp + 0x88], al
jl 0x1011ceed
jg 0x1011cea8
cmp edi, 0xffffffc0
jbe 0x1011ceed
neg edi
adc edx, 0
neg edx
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], edx
test edx, edx
jl 0x1011cf12
jg 0x1011cec8
cmp edi, 0x40
jb 0x1011cf12
cmp dword [esp + 0x74], 0
jg 0x1011cf05
jl 0x1011ced8
cmp dword [esp + 0x70], 0
jae 0x1011cf05
cmp al, 0x54
je 0x1011cf05
or eax, 0xffffffff
cdq
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
jmp 0x1011cf79
mov dword [esp + 0x80], 0x40
mov dword [esp + 0x84], 0
jmp 0x1011cec8
xor eax, eax
cdq
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
jmp 0x1011cf79
cmp al, 0x54
mov eax, dword [esp + 0x70]
mov ecx, edi
jne 0x1011cf2b
mov edx, dword [esp + 0x74]
call fcn.1019fbc0
mov ebp, eax
mov esi, edx
jmp 0x1011cf65
mov ebx, dword [esp + 0x74]
mov edx, ebx
call fcn.1019e040
mov ebp, eax
mov esi, edx
mov dword [esp + 0x78], ebp
mov dword [esp + 0x7c], esi
test ebx, ebx
jg 0x1011cf6d
jl 0x1011cf4f
cmp dword [esp + 0x70], 0
jae 0x1011cf6d
mov ecx, 0x40
sub ecx, edi
or eax, 0xffffffff
or edx, 0xffffffff
call fcn.1019fbc0
or ebp, eax
or esi, edx
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], ebp
mov dword [esp + 0x74], esi
mov esi, dword [esp + 0x20]
mov dword [esp + 0x70], ebp
mov edx, dword [esp + 0x70]
mov cx, word [esi + 0x1c]
mov dword [esi + 0x10], edx
mov eax, dword [esp + 0x74]
mov edx, 0xbe04
and cx, dx
or cx, 4
mov dword [esi + 0x14], eax
mov word [esi + 0x1c], cx
jmp case.default.0x1011c1db
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
call fcn.10115a80
mov eax, dword [ebp + 8]
cdq
add dword [esi + 0x10], eax
adc dword [esi + 0x14], edx
jmp case.default.0x1011c1db
mov eax, dword [ebp + 4]
lea ecx, [eax + eax*4]
lea esi, [ebx + ecx*8]
call fcn.1011bf70
test byte [esi + 0x1c], 8
je 0x1011cfd6
call fcn.10115a20
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x1011cff3
mov ebp, dword [ebp + 8]
test ebp, ebp
je 0x101214a8
dec ebp
mov dword [esp + 0x18], ebp
jmp case.default.0x1011c1db
and eax, 0xbe04
or eax, 4
mov word [esi + 0x1c], ax
jmp case.default.0x1011c1db
mov ebp, dword [ebp + 4]
lea edx, [ebp + ebp*4]
test byte [ebx + edx*8 + 0x1c], 4
lea esi, [ebx + edx*8]
je case.default.0x1011c1db
call fcn.10115ab0
jmp case.default.0x1011c1db
mov ebp, dword [ebp + 4]
lea eax, [ebp + ebp*4]
movzx ecx, word [ebx + eax*8 + 0x1c]
lea ebx, [ebx + eax*8]
test cl, 1
jne case.default.0x1011c1db
mov eax, ecx
shr eax, 3
and eax, 2
or eax, ecx
mov word [ebx + 0x1c], ax
test al, 2
jne 0x1011d05d
test al, 0xc
je 0x1011d05d
movzx esi, byte [esp + 0x24]
mov eax, ebx
call fcn.10115730
mov ecx, 0xfff3
and word [ebx + 0x1c], cx
movzx eax, word [ebx + 0x1c]
test eax, 0x4000
je 0x1011d08a
mov eax, ebx
call fcn.10115680
mov edx, 0xbfe3
and word [ebx + 0x1c], dx
mov dword [esp + 0x10], eax
jmp case.default.0x1011c1db
mov edx, 0xbfe3
and word [ebx + 0x1c], dx
mov dword [esp + 0x10], 0
jmp case.default.0x1011c1db
mov ebp, dword [ebp + 4]
lea eax, [ebp + ebp*4]
lea edi, [ebx + eax*8]
movzx eax, word [edi + 0x1c]
test al, 1
jne case.default.0x1011c1db
test al, 0x10
jne 0x1011d0e7
test al, 2
jne 0x1011d0ce
test al, 0xc
je 0x1011d0ce
movzx esi, byte [esp + 0x24]
mov eax, edi
call fcn.10115730
mov cx, word [edi + 0x1c]
mov edx, 0xbe10
and cx, dx
or cx, 0x10
mov word [edi + 0x1c], cx
jmp case.default.0x1011c1db
and eax, 0xfe10
mov word [edi + 0x1c], ax
jmp case.default.0x1011c1db
mov ebp, dword [ebp + 4]
lea eax, [ebp + ebp*4]
lea eax, [ebx + eax*8]
call fcn.10115ae0
jmp case.default.0x1011c1db
mov ebp, dword [ebp + 4]
lea ecx, [ebp + ebp*4]
test byte [ebx + ecx*8 + 0x1c], 1
lea esi, [ebx + ecx*8]
jne case.default.0x1011c1db
call fcn.10115a80
jmp case.default.0x1011c1db
mov ebp, dword [ebp + 4]
lea edx, [ebp + ebp*4]
test byte [ebx + edx*8 + 0x1c], 1
lea esi, [ebx + edx*8]
jne case.default.0x1011c1db
call fcn.10115ab0
jmp case.default.0x1011c1db
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
mov dx, word [ebx + eax*8 + 0x1c]
lea esi, [ebx + eax*8]
mov eax, dword [ebp + 0xc]
lea ecx, [eax + eax*4]
lea edi, [ebx + ecx*8]
mov word [esp + 0x76], dx
mov ax, word [edi + 0x1c]
mov cl, al
mov word [esp + 0x78], ax
mov al, byte [esp + 0x76]
mov dl, cl
or dl, al
mov dword [esp + 0x28], edi
test dl, 1
je 0x1011d1ed
mov dl, byte [ebp + 3]
test dl, dl
jns 0x1011d1aa
test al, 1
je 0x1011d1a0
test cl, 1
je 0x1011d1a0
test dword [esp + 0x78], 0x100
jne 0x1011d1a0
xor eax, eax
jmp 0x1011d25e
mov eax, 1
jmp 0x1011d25e
test dl, 8
je 0x1011d1bc
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x18], ebp
jmp case.default.0x1011c1db
test dl, 0x10
je case.default.0x1011c1db
mov ebp, dword [ebp + 8]
lea eax, [ebp + ebp*4]
mov cx, word [ebx + eax*8 + 0x1c]
lea ebx, [ebx + eax*8]
mov edx, 0xbe01
and cx, dx
or cx, 1
mov dword [esp + 0x20], ebx
mov word [ebx + 0x1c], cx
jmp case.default.0x1011c1db
mov al, byte [ebp + 3]
and al, 0x67
mov byte [esp + 0x74], al
je 0x1011d22a
mov ebx, dword [esp + 0x24]
push ebx
mov edi, esi
call fcn.1011bff0
mov al, byte [esp + 0x78]
mov edi, dword [esp + 0x2c]
add esp, 4
push ebx
call fcn.1011bff0
mov eax, dword [esp + 0x18]
add esp, 4
cmp byte [eax + 0x40], 0
jne 0x1011d808
mov ebx, dword [esp + 0x2c]
mov ecx, 0x4000
test word [esi + 0x1c], cx
je 0x1011d23c
mov eax, esi
call fcn.10115680
mov edx, 0x4000
test word [edi + 0x1c], dx
je 0x1011d24e
mov eax, edi
call fcn.10115680
mov eax, dword [ebp + 0x10]
push eax
mov eax, esi
mov ecx, edi
call fcn.10116070
add esp, 4
mov dword [esp + 0x70], eax
movzx ecx, byte [ebp]
add ecx, 0xffffffb5
cmp ecx, 4
ja case.default.0x1011d26e
jmp dword [ecx*4 + 0x10121964]
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
jmp 0x1011d2b1
xor edx, edx
test eax, eax
setne dl
jmp 0x1011d2af
xor ecx, ecx
test eax, eax
setl cl
mov eax, ecx
jmp 0x1011d2b1
xor edx, edx
test eax, eax
setle dl
jmp 0x1011d2af
xor ecx, ecx
test eax, eax
setg cl
mov eax, ecx
jmp 0x1011d2b1
xor edx, edx
test eax, eax
setge dl
mov eax, edx
mov dword [esp + 0x70], eax
test byte [ebp + 3], 0x10
je 0x1011d2eb
mov ebp, dword [ebp + 8]
lea eax, [ebp + ebp*4]
mov cx, word [ebx + eax*8 + 0x1c]
lea ebx, [ebx + eax*8]
mov edx, 0xbe04
and cx, dx
or cx, 4
mov word [ebx + 0x1c], cx
mov eax, dword [esp + 0x70]
cdq
mov dword [esp + 0x20], ebx
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
jmp 0x1011d2f7
test eax, eax
je 0x1011d2f7
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x18], ebp
mov ax, word [esi + 0x1c]
xor ax, word [esp + 0x76]
mov ecx, 0x1ff
and ax, cx
xor word [esi + 0x1c], ax
mov dx, word [edi + 0x1c]
xor dx, word [esp + 0x78]
mov eax, ecx
and dx, ax
xor word [edi + 0x1c], dx
jmp case.default.0x1011c1db
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x50], ecx
jmp case.default.0x1011c1db
test byte [ebp + 3], 1
jne 0x1011d33d
mov dword [esp + 0x50], 0
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x70], ecx
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x80], esi
mov edx, dword [ebp + 4]
mov dword [esp + 0x78], edx
mov eax, dword [ebp + 8]
mov dword [esp + 0x7c], eax
xor eax, eax
mov dword [esp + 0x74], eax
test ecx, ecx
jle 0x1011d3ff
mov ebx, dword [esp + 0x50]
mov edi, dword [esp + 0x2c]
jmp 0x1011d37b
mov esi, dword [esp + 0x80]
test ebx, ebx
je 0x1011d384
mov ecx, dword [ebx + eax*4]
jmp 0x1011d386
mov ecx, eax
mov dword [esp + 0x84], ecx
mov edx, dword [esi + eax*4 + 0xc]
mov dword [esp + 0x88], edx
mov esi, dword [esi + 8]
movzx eax, byte [esi + eax]
push edx
mov edx, dword [esp + 0x80]
mov dword [esp + 0x90], eax
lea eax, [ecx + edx]
mov edx, dword [esp + 0x7c]
add ecx, edx
lea eax, [eax + eax*4]
lea ecx, [ecx + ecx*4]
lea eax, [edi + eax*8]
lea ecx, [edi + ecx*8]
call fcn.10116070
add esp, 4
mov dword [esp + 0x54], eax
test eax, eax
jne 0x1011d3ef
mov eax, dword [esp + 0x74]
inc eax
cmp eax, dword [esp + 0x70]
mov dword [esp + 0x74], eax
jl 0x1011d374
mov dword [esp + 0x50], 0
jmp case.default.0x1011c1db
cmp dword [esp + 0x8c], 0
je 0x1011d3ff
neg eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], 0
jmp case.default.0x1011c1db
mov eax, dword [esp + 0x54]
test eax, eax
jge 0x1011d422
mov ebp, dword [ebp + 4]
sub ebp, ecx
mov dword [esp + 0x18], ebp
jmp case.default.0x1011c1db
jne 0x1011d432
mov ebp, dword [ebp + 8]
sub ebp, ecx
mov dword [esp + 0x18], ebp
jmp case.default.0x1011c1db
mov ebp, dword [ebp + 0xc]
sub ebp, ecx
mov dword [esp + 0x18], ebp
jmp case.default.0x1011c1db
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
test byte [ebx + edx*8 + 0x1c], 1
lea ecx, [ebx + edx*8]
je 0x1011d457
mov edx, 2
jmp 0x1011d469
call fcn.10115960
or eax, edx
je 0x1011d467
mov edx, 1
jmp 0x1011d469
xor edx, edx
mov dword [esp + 0x70], edx
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x1c], 1
lea ecx, [ebx + eax*8]
je 0x1011d484
mov eax, 2
jmp 0x1011d49a
call fcn.10115960
or eax, edx
mov edx, dword [esp + 0x70]
je 0x1011d498
mov eax, 1
jmp 0x1011d49a
xor eax, eax
mov dword [esp + 0x74], eax
cmp byte [ebp], 0x45
jne 0x1011d4b1
lea ecx, [eax + edx*2]
movzx eax, byte [edx + ecx + 0x101bc820]
jmp 0x1011d4bc
lea eax, [eax + edx*2]
movzx eax, byte [edx + eax + 0x101bc82c]
mov dword [esp + 0x70], eax
mov ebp, dword [ebp + 0xc]
lea ecx, [ebp + ebp*4]
lea ebx, [ebx + ecx*8]
mov dword [esp + 0x20], ebx
cmp eax, 2
jne 0x1011d4ec
mov dx, word [ebx + 0x1c]
mov eax, 0xbe01
and dx, ax
or dx, 1
mov word [ebx + 0x1c], dx
jmp case.default.0x1011c1db
mov cx, word [ebx + 0x1c]
cdq
mov dword [ebx + 0x14], edx
mov edx, 0xbe04
and cx, dx
or cx, 4
mov dword [ebx + 0x10], eax
mov word [ebx + 0x1c], cx
jmp case.default.0x1011c1db
mov eax, dword [ebp + 4]
mov ebp, dword [ebp + 8]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x1c], 1
lea edx, [ebp + ebp*4]
lea ecx, [ebx + eax*8]
lea esi, [ebx + edx*8]
mov dword [esp + 0x20], esi
je 0x1011d534
call fcn.10115b60
jmp case.default.0x1011c1db
call fcn.10115960
or eax, edx
jne 0x1011d552
mov eax, 1
cdq
push edx
push eax
call fcn.10115c10
add esp, 8
jmp case.default.0x1011c1db
xor eax, eax
cdq
push edx
push eax
call fcn.10115c10
add esp, 8
jmp case.default.0x1011c1db
mov eax, dword [ebp + 4]
mov ebp, dword [ebp + 8]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x1c], 1
lea edx, [ebp + ebp*4]
lea ecx, [ebx + eax*8]
lea esi, [ebx + edx*8]
mov dword [esp + 0x20], esi
je 0x1011d58c
call fcn.10115b60
jmp case.default.0x1011c1db
call fcn.10115960
not edx
not eax
push edx
push eax
call fcn.10115c10
add esp, 8
jmp case.default.0x1011c1db
mov eax, dword [edi + 0xd8]
mov edx, dword [ebp + 4]
add eax, edx
cmp byte [eax], 0
je 0x1011d5c2
mov ebp, dword [ebp + 8]
sub ebp, ecx
mov dword [esp + 0x18], ebp
jmp case.default.0x1011c1db
mov byte [eax], 1
jmp case.default.0x1011c1db
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x1c], 1
lea ebx, [ebx + eax*8]
je 0x1011d5df
mov eax, dword [ebp + 0xc]
jmp 0x1011d60f
mov eax, ebx
call fcn.101159d0
fcomp qword [0x101e4760]
fnstsw ax
test ah, 0x44
jnp 0x1011d5fa
mov eax, 1
jmp 0x1011d5fc
xor eax, eax
mov dword [esp + 0x70], eax
cmp byte [ebp], 0x28
jne 0x1011d613
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
mov dword [esp + 0x70], eax
test eax, eax
je case.default.0x1011c1db
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x18], ebp
jmp case.default.0x1011c1db
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
test byte [ebx + edx*8 + 0x1c], 1
je case.default.0x1011c1db
mov ebp, dword [ebp + 8]
sub ebp, ecx
mov dword [esp + 0x18], ebp
jmp case.default.0x1011c1db
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x1c], 1
jne case.default.0x1011c1db
mov ebp, dword [ebp + 8]
sub ebp, ecx
mov dword [esp + 0x18], ebp
jmp case.default.0x1011c1db
mov ecx, dword [ebp + 4]
xor eax, eax
mov dword [esp + 0x80], ecx
mov edx, dword [ebp + 8]
xor esi, esi
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], esi
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea edx, [ebx + eax*8]
mov eax, dword [edi + 0x44]
mov dword [esp + 0xac], edx
mov dword [esp + 0x8c], esi
mov esi, dword [eax + ecx*4]
mov dword [esp + 0x88], esi
mov eax, dword [esi]
mov dword [esp + 0x90], eax
test eax, eax
je 0x1011d7aa
call fcn.101195b0
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1012158b
mov eax, dword [esp + 0x88]
cmp byte [eax + 0x1c], 0
je 0x1011d728
mov dword [esp + 0x70], 0
jmp 0x1011d774
mov ecx, dword [eax + 0x50]
cmp ecx, dword [edi + 0x54]
jne 0x1011d743
mov edx, dword [eax + 0x54]
mov dword [esp + 0x70], edx
mov ecx, dword [eax + 0x60]
mov dword [esp + 0x8c], ecx
jmp 0x1011d768
cmp byte [eax + 0x1f], 0
je 0x1011d794
mov eax, dword [esp + 0x90]
lea edi, [esp + 0x78]
call fcn.1010ecb0
mov edx, dword [esp + 0x78]
mov dword [esp + 0x70], edx
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x70]
test ecx, ecx
jne 0x1011d86a
mov edx, dword [esp + 0xac]
mov ax, word [edx + 0x1c]
mov ecx, 0xbe01
and ax, cx
or ax, 1
mov word [edx + 0x1c], ax
jmp case.default.0x1011c1db
mov esi, dword [esp + 0x90]
lea eax, [esp + 0x70]
push eax
call fcn.1010ece0
add esp, 4
jmp 0x1011d761
mov eax, dword [esi + 0x10]
test eax, eax
jle 0x1011d85d
lea ecx, [eax + eax*4]
lea ebx, [ebx + ecx*8]
mov dword [esp + 0xf4], ebx
cmp byte [esi + 0x22], 0
je 0x1011d831
mov eax, dword [esp + 0x84]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
push 0x1000
push ecx
mov ebx, edx
call fcn.10115dd0
mov eax, dword [esp + 0xb4]
mov edx, 0x1000
add esp, 8
test word [eax + 0x1c], dx
je case.default.0x1011c1db
call fcn.10115620
test eax, eax
je case.default.0x1011c1db
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
push str.out_of_memory
add edi, 0x38
mov byte [eax + 0x40], 1
call fcn.100fc460
add esp, 4
mov dword [esp + 0x10], 7
jmp 0x10121639
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x70], eax
mov ecx, dword [ebx + 4]
mov dword [esp + 0x8c], ecx
test byte [ebp + 3], 0x20
je 0x1011d852
xor edi, edi
mov dword [esi + 0x50], edi
jmp 0x1011d761
mov edi, dword [edi + 0x54]
mov dword [esi + 0x50], edi
jmp 0x1011d761
mov dword [esp + 0x70], 0
jmp 0x1011d77b
mov edx, dword [esp + 0x14]
cmp ecx, dword [edx + 0x58]
ja 0x1011cdd3
mov ecx, dword [eax + 0x14]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x9c], ecx
mov edx, dword [eax + 0x58]
mov dword [esp + 0x94], edx
mov edi, dword [eax + 0x50]
cmp edi, dword [esi + 0x54]
jne 0x1011d8a6
mov eax, dword [eax + 0x5c]
mov dword [esp + 0x98], eax
jmp 0x1011db75
lea ecx, [edx + ecx*4]
mov dword [esp + 0x98], ecx
xor edi, edi
mov dword [esp + 0xec], edi
mov dword [eax + 0x5c], ecx
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x70]
mov dword [ecx + 0x54], edx
mov ecx, dword [esp + 0x88]
mov eax, dword [esi + 0x54]
mov dword [ecx + 0x50], eax
mov ecx, dword [esp + 0x8c]
cmp ecx, edi
je 0x1011d8eb
mov dword [esp + 0xa8], ecx
jmp 0x1011d95d
mov edx, dword [esp + 0x88]
cmp byte [edx + 0x1f], 0
je 0x1011d90e
lea eax, [esp + 0xec]
push eax
mov eax, dword [esp + 0x94]
call fcn.1010f2f0
jmp 0x1011d922
mov eax, dword [esp + 0x90]
lea ecx, [esp + 0xec]
push ecx
call fcn.1010f310
mov edx, dword [esp + 0x74]
add esp, 4
mov dword [esp + 0xa8], eax
cmp edx, dword [esp + 0xec]
ja 0x1011d94c
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x8c], eax
mov dword [ecx + 0x60], eax
jmp 0x1011d956
mov edx, dword [esp + 0x88]
mov dword [edx + 0x60], edi
mov ecx, dword [esp + 0xa8]
mov al, byte [ecx]
cmp al, 0x80
jae 0x1011d974
movzx edx, al
mov dword [esp + 0xe0], edx
mov eax, 1
jmp 0x1011d991
lea esi, [esp + 0xe0]
call fcn.100fed40
mov edx, dword [esp + 0xe0]
mov ecx, dword [esp + 0xa8]
movzx eax, al
movzx eax, al
mov dword [esp + 0xe8], eax
cmp edx, 0x18003
jbe 0x1011d9b6
mov eax, 0x10b8b
call fcn.10161e80
mov dword [esp + 0x10], eax
jmp case.default.0x1011c1db
mov esi, dword [esp + 0x9c]
lea eax, [esi + esi*4 + 3]
cmp eax, edx
mov dword [esp + 0xa0], eax
jle 0x1011d9d5
mov eax, edx
mov dword [esp + 0xa0], eax
cmp dword [esp + 0x8c], edi
jne 0x1011da4b
cmp dword [esp + 0xec], eax
jge 0x1011da4b
mov edx, dword [esp + 0x88]
xor ecx, ecx
mov word [esp + 0xcc], cx
mov dword [esp + 0xb0], edi
movzx ecx, byte [edx + 0x1f]
push ecx
mov ecx, dword [esp + 0x94]
push eax
push edi
lea eax, [esp + 0xbc]
call fcn.10116300
add esp, 0xc
mov dword [esp + 0x10], eax
cmp eax, edi
jne case.default.0x1011c1db
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0xe0]
mov eax, dword [esp + 0xa0]
mov esi, dword [esp + 0x9c]
mov dword [esp + 0xa8], ecx
add eax, ecx
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0xe8]
add eax, ecx
mov dword [esp + 0xd8], eax
xor eax, eax
cmp esi, edi
mov dword [esp + 0xa4], eax
jle 0x1011db1c
mov ecx, dword [esp + 0xdc]
cmp dword [esp + 0xd8], ecx
mov ecx, dword [esp + 0x98]
jae 0x1011dbf5
mov dword [ecx + eax*4], edx
mov ecx, dword [esp + 0xd8]
mov al, byte [ecx]
cmp al, 0x80
jae 0x1011dab4
movzx edx, al
inc ecx
mov dword [esp + 0xf0], edx
mov dword [esp + 0xd8], ecx
jmp 0x1011daca
lea esi, [esp + 0xf0]
call fcn.100fed40
movzx eax, al
add dword [esp + 0xd8], eax
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x94]
mov dword [edx + ecx*4], eax
mov eax, dword [esp + 0xf0]
call fcn.10119770
mov edx, dword [esp + 0xe0]
add edx, eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe0], edx
cmp edx, eax
jae 0x1011dc03
mov edx, dword [esp + 0xdc]
inc edx
mov dword [esp + 0xd8], edx
lea eax, [esp + 0xb0]
push eax
call fcn.101158c0
mov eax, dword [esp + 0xdc]
mov ecx, 1
mov word [esp + 0xd0], cx
mov ecx, dword [esp + 0xe0]
add esp, 4
cmp eax, ecx
ja 0x1011dd84
mov edx, dword [esp + 0xe0]
mov esi, dword [esp + 0x70]
cmp edx, esi
ja 0x1011dd84
cmp eax, ecx
jne 0x1011db6e
cmp edx, esi
jne 0x1011dd84
mov edx, dword [esp + 0x94]
mov edi, dword [esp + 0x84]
mov eax, dword [esp + 0x98]
cmp dword [eax + edi*4], 0
je 0x1011dce8
cmp dword [esp + 0x8c], 0
je 0x1011dc24
mov eax, dword [esp + 0xac]
mov ecx, 0x2460
test word [eax + 0x1c], cx
je 0x1011dbc7
call fcn.10115850
mov eax, dword [esp + 0xac]
mov edx, dword [esp + 0x94]
mov edi, dword [esp + 0x84]
mov ecx, dword [esp + 0x98]
mov ecx, dword [ecx + edi*4]
add ecx, dword [esp + 0x8c]
mov esi, eax
mov eax, dword [edx + edi*4]
call fcn.10119840
mov eax, dword [esp + 0xac]
mov cl, byte [esp + 0x24]
mov byte [eax + 0x1f], cl
jmp 0x1011dd23
mov dword [ecx + eax*4], 0
mov edx, dword [esp + 0xe0]
mov eax, dword [esp + 0xa4]
inc eax
cmp eax, dword [esp + 0x9c]
mov dword [esp + 0xa4], eax
jl 0x1011da75
jmp 0x1011db1c
mov eax, dword [edx + edi*4]
mov dword [esp + 0xf0], eax
mov cl, byte [ebp + 3]
test cl, 0xc0
je 0x1011dc50
cmp eax, 0xc
jb 0x1011dc3f
test al, 1
je 0x1011dc43
test cl, cl
jns 0x1011dc50
cmp eax, 0xc
sbb ecx, ecx
lea edx, [esp + 0x78]
and ecx, edx
jmp 0x1011dcc5
call fcn.10119770
mov ebx, dword [esp + 0xac]
mov dword [esp + 0xa0], eax
lea eax, [esp + 0xb0]
call fcn.10115e90
mov eax, dword [esp + 0x88]
movzx ecx, byte [eax + 0x1f]
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0x98]
push ecx
mov ecx, dword [esp + 0x88]
push edx
mov edx, dword [eax + ecx*4]
mov ecx, dword [esp + 0x98]
push edx
lea eax, [esp + 0xbc]
call fcn.10116300
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
jne case.default.0x1011c1db
mov ecx, dword [esp + 0xb4]
mov eax, dword [esp + 0xf0]
mov esi, dword [esp + 0xac]
mov dword [esp + 0xa8], ecx
call fcn.10119840
mov eax, dword [esp + 0xac]
mov cl, byte [esp + 0x24]
mov byte [eax + 0x1f], cl
jmp 0x1011dd23
cmp byte [ebp + 1], 0xf8
jne 0x1011dd08
mov edx, dword [ebp + 0x10]
mov ebx, dword [esp + 0xac]
push 0x800
push edx
call fcn.10115dd0
add esp, 8
jmp 0x1011dd23
mov eax, dword [esp + 0xac]
mov cx, word [eax + 0x1c]
mov edx, 0xbe01
and cx, dx
or cx, 1
mov word [eax + 0x1c], cx
cmp dword [esp + 0xd4], 0
je 0x1011dd6f
mov eax, dword [esp + 0xac]
mov ecx, 0xe7ff
and word [eax + 0x1c], cx
mov eax, dword [esp + 0xac]
mov edx, 0x200
or word [eax + 0x1c], dx
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xb4]
mov dword [eax + 4], ecx
mov edx, dword [esp + 0xd4]
mov eax, dword [esp + 0xac]
mov dword [eax + 0x24], edx
mov eax, dword [esp + 0xac]
call fcn.10115620
mov dword [esp + 0x10], eax
jmp case.default.0x1011c1db
mov eax, 0x10bdb
call fcn.10161e80
mov dword [esp + 0x10], eax
jmp case.default.0x1011c1db
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x70], ecx
mov ebp, dword [ebp + 4]
mov al, byte [ecx]
lea edx, [ebp + ebp*4]
lea edi, [ebx + edx*8]
mov byte [esp + 0x74], al
test al, al
je 0x1011ddeb
inc ecx
mov dword [esp + 0x70], ecx
mov ecx, 0x4000
test word [edi + 0x1c], cx
je 0x1011ddcd
mov eax, edi
call fcn.10115680
mov al, byte [esp + 0x74]
mov edx, dword [esp + 0x24]
push edx
call fcn.1011bff0
mov ecx, dword [esp + 0x74]
mov al, byte [ecx]
add esp, 4
add edi, 0x28
mov byte [esp + 0x74], al
test al, al
jne 0x1011ddb2
inc ecx
mov dword [esp + 0x70], ecx
jmp case.default.0x1011c1db
xor eax, eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x90], eax
mov eax, dword [ebp + 4]
mov dword [esp + 0xa4], eax
mov ecx, dword [ebp + 0x10]
lea edx, [eax + eax*4]
lea esi, [ebx + edx*8]
mov dword [esp + 0xa8], ecx
movzx ecx, byte [edi + 0x61]
mov dword [esp + 0x9c], esi
mov eax, dword [ebp + 8]
mov dword [esp + 0xa4], eax
lea eax, [eax + eax*4]
lea eax, [esi + eax*8 - 0x28]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xa0], eax
mov ebp, dword [ebp + 0xc]
lea edx, [ebp + ebp*4]
lea ecx, [ebx + edx*8]
mov edi, esi
mov dword [esp + 0x20], ecx
mov dword [esp + 0x74], edi
cmp esi, eax
ja 0x1011df55
lea ecx, [ecx]
cmp dword [esp + 0xa8], 0
je 0x1011deb1
mov edx, dword [esp + 0x24]
mov ecx, edi
sub ecx, esi
push edx
mov eax, 0x66666667
imul ecx
mov ecx, dword [esp + 0xac]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov al, byte [eax + ecx]
call fcn.1011bff0
mov esi, dword [esp + 0xa0]
mov edi, dword [esp + 0x78]
add esp, 4
mov edx, 0x4000
test word [edi + 0x1c], dx
je 0x1011ded4
cmp dword [edi + 0x18], 0
jle 0x1011ded4
mov eax, edi
call fcn.10115680
mov esi, dword [esp + 0x9c]
mov edi, dword [esp + 0x74]
mov eax, dword [esp + 0xac]
push eax
mov edx, edi
call fcn.10119660
mov ecx, eax
add esp, 4
mov dword [esp + 0x98], ecx
call fcn.10119770
mov ebx, eax
cdq
add dword [esp + 0x78], eax
push 0
push ecx
adc dword [esp + 0x84], edx
mov dword [esp + 0xbc], ebx
call fcn.100fedc0
add dword [esp + 0x88], eax
mov ecx, 0x4000
add esp, 8
test word [edi + 0x1c], cx
je 0x1011df32
mov edx, dword [edi + 0x10]
add dword [esp + 0x90], edx
jmp 0x1011df41
test ebx, ebx
je 0x1011df41
mov dword [esp + 0x90], 0
add edi, 0x28
mov dword [esp + 0x74], edi
cmp edi, dword [esp + 0xa0]
jbe 0x1011de70
mov esi, dword [esp + 0x80]
mov eax, esi
cdq
push edx
push eax
call fcn.100fedc0
mov edi, eax
add esi, edi
mov eax, esi
cdq
push edx
push eax
mov dword [esp + 0xa4], edi
mov dword [esp + 0x90], esi
call fcn.100fedc0
add esp, 0x10
cmp edi, eax
jge 0x1011df91
inc esi
mov dword [esp + 0x80], esi
mov eax, dword [esp + 0x90]
cdq
mov edi, eax
mov eax, esi
mov ebx, edx
cdq
mov esi, eax
mov eax, dword [esp + 0x14]
sub esi, edi
mov ecx, edx
sbb ecx, ebx
add esi, dword [esp + 0x78]
adc ecx, dword [esp + 0x7c]
mov dword [esp + 0x88], esi
mov dword [esp + 0x8c], ecx
mov eax, dword [eax + 0x58]
cdq
cmp ecx, edx
jg 0x1011cdd3
jl 0x1011dfd8
cmp esi, eax
ja 0x1011cdd3
mov edi, dword [esp + 0x20]
push 0
mov eax, esi
call fcn.10115510
add esp, 4
test eax, eax
jne 0x1011d808
mov eax, dword [esp + 0x80]
mov ecx, dword [edi + 4]
mov dword [esp + 0x70], ecx
cmp eax, 0x80
jae 0x1011e010
mov dl, al
mov byte [ecx], dl
mov eax, 1
jmp 0x1011e015
call fcn.100feb90
mov ecx, dword [esp + 0x9c]
movzx esi, al
mov eax, dword [esp + 0xa0]
mov edx, ecx
mov dword [esp + 0xb0], esi
mov dword [esp + 0x74], edx
cmp ecx, eax
ja 0x1011e0a9
jmp 0x1011e040
mov eax, dword [esp + 0xac]
push eax
call fcn.10119660
add esp, 4
mov dword [esp + 0x98], eax
cmp eax, 0x80
jae 0x1011e06e
mov edx, dword [esp + 0x70]
mov cl, al
mov byte [esi + edx], cl
mov eax, 1
jmp 0x1011e079
mov ecx, dword [esp + 0x70]
add ecx, esi
call fcn.100feb90
mov esi, dword [esp + 0xb0]
movzx edx, al
mov eax, dword [esp + 0xa0]
add esi, edx
mov edx, dword [esp + 0x74]
add edx, 0x28
mov dword [esp + 0xb0], esi
mov dword [esp + 0x74], edx
cmp edx, eax
jbe 0x1011e040
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x74], ecx
cmp ecx, eax
ja 0x1011e0f5
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x70]
sub eax, esi
push eax
mov eax, dword [esp + 0xb0]
lea ebx, [esi + edx]
call fcn.10119790
mov ecx, dword [esp + 0x78]
mov esi, dword [esp + 0xb4]
add ecx, 0x28
add esi, eax
add esp, 4
mov dword [esp + 0xb0], esi
mov dword [esp + 0x74], ecx
cmp ecx, dword [esp + 0xa0]
jbe 0x1011e0b1
mov eax, dword [esp + 0x88]
mov ecx, 0x410
mov dword [edi + 0x18], eax
mov word [edi + 0x1c], cx
mov dword [edi + 0x20], 0
mov eax, dword [esp + 0x90]
test eax, eax
je 0x1011e126
mov edx, 0x4410
mov dword [edi + 0x10], eax
mov word [edi + 0x1c], dx
mov byte [edi + 0x1f], 1
jmp case.default.0x1011c1db
mov eax, dword [ebp + 4]
mov ecx, dword [edi + 0x44]
mov edx, dword [ecx + eax*4]
mov eax, dword [edx]
xor ecx, ecx
mov dword [esp + 0x78], eax
cmp eax, ecx
je 0x1011e168
lea ecx, [esp + 0x70]
push ecx
call fcn.10112f60
mov edx, dword [esp + 0x74]
mov dword [esp + 0x14], eax
mov dword [esi + 0x10], edx
mov eax, dword [esp + 0x78]
add esp, 4
mov dword [esi + 0x14], eax
jmp case.default.0x1011c1db
mov dword [esp + 0x74], ecx
mov dword [esp + 0x70], ecx
mov edx, ecx
mov dword [esi + 0x10], edx
mov eax, dword [esp + 0x74]
mov dword [esi + 0x14], eax
jmp case.default.0x1011c1db
mov eax, dword [ebp + 4]
mov dword [esp + 0x70], eax
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x74], esi
test eax, eax
jne 0x1011e29a
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0x94], eax
jle 0x1011e1c6
mov edi, dword [esp + 0x1c]
push str.cannot_open_savepoint___SQL_statements_in_progress
add edi, 0x38
mov eax, ecx
call fcn.100fc460
add esp, 4
mov dword [esp + 0x10], 5
jmp case.default.0x1011c1db
mov ecx, esi
call fcn.100fe020
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x1ec]
add edx, dword [eax + 0x1e8]
push edx
push 0
push eax
call fcn.10152d20
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1012158b
mov ecx, dword [esp + 0x78]
mov esi, dword [esp + 0x14]
add ecx, 0x21
call fcn.100fc2b0
mov dword [esp + 0x7c], eax
test eax, eax
je case.default.0x1011c1db
lea ecx, [eax + 0x20]
mov dword [eax], ecx
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x7c]
inc edx
push edx
mov edx, dword [ecx]
push eax
push edx
call fcn.10184640
add esp, 0xc
cmp byte [esi + 0x3e], 0
je 0x1011e244
mov byte [esi + 0x3e], 0
mov byte [esi + 0x45], 1
jmp 0x1011e24a
inc dword [esi + 0x1e8]
mov eax, dword [esi + 0x1e0]
mov ecx, dword [esp + 0x7c]
mov dword [ecx + 0x18], eax
mov edx, dword [esp + 0x7c]
mov eax, dword [esi + 0x1f0]
mov dword [esi + 0x1e0], edx
mov ecx, dword [esp + 0x7c]
mov dword [ecx + 8], eax
mov edx, dword [esi + 0x1f4]
mov eax, dword [esp + 0x7c]
mov dword [eax + 0xc], edx
mov ecx, dword [esi + 0x1f8]
mov edx, dword [esp + 0x7c]
mov dword [edx + 0x10], ecx
mov eax, dword [esi + 0x1fc]
mov ecx, dword [esp + 0x7c]
mov dword [ecx + 0x14], eax
jmp case.default.0x1011c1db
mov edx, dword [esp + 0x14]
xor ebp, ebp
mov dword [esp + 0x88], ebp
mov ebx, dword [edx + 0x1e0]
mov dword [esp + 0x80], ebx
test ebx, ebx
je 0x1011e2de
mov eax, dword [ebx]
push esi
push eax
call fcn.100fe1a0
add esp, 8
test eax, eax
je 0x1011e304
inc ebp
mov dword [esp + 0x88], ebp
mov ebx, dword [ebx + 0x18]
mov dword [esp + 0x80], ebx
test ebx, ebx
jne 0x1011e2b8
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
push esi
push str.no_such_savepoint:__s
add edi, 0x38
call fcn.100fc460
add esp, 8
mov dword [esp + 0x10], 1
jmp case.default.0x1011c1db
mov esi, dword [esp + 0x14]
cmp dword [esi + 0x94], 0
mov eax, 1
jle 0x1011e33f
cmp dword [esp + 0x70], eax
jne 0x1011e33f
mov edi, dword [esp + 0x1c]
push str.cannot_release_savepoint___SQL_statements_in_progress
add edi, 0x38
mov eax, esi
call fcn.100fc460
add esp, 4
mov dword [esp + 0x10], 5
jmp case.default.0x1011c1db
cmp dword [ebx + 0x18], 0
jne 0x1011e393
cmp byte [esi + 0x45], 0
je 0x1011e393
mov dword [esp + 0x28], eax
cmp dword [esp + 0x70], eax
jne 0x1011e39b
push 1
mov esi, edi
call fcn.10118b70
mov esi, eax
add esp, 4
test esi, esi
jne 0x101216b2
mov esi, dword [esp + 0x14]
mov eax, edi
mov byte [esi + 0x3e], 1
call fcn.10118be0
cmp eax, 5
je 0x101214b5
mov byte [esi + 0x45], 0
mov ecx, dword [edi + 0x5c]
mov dword [esp + 0x10], ecx
jmp 0x1011e47d
mov dword [esp + 0x28], 0
mov ecx, dword [esi + 0x1e8]
sub ecx, ebp
sub ecx, eax
cmp dword [esp + 0x70], 2
mov dword [esp + 0x88], ecx
jne 0x1011e3f8
xor eax, eax
mov dword [esp + 0x8c], eax
cmp dword [esi + 0x14], eax
jle 0x1011e3f8
mov edx, dword [esi + 0x10]
shl eax, 4
mov eax, dword [eax + edx + 4]
push 4
push eax
call fcn.1010e7b0
mov eax, dword [esp + 0x94]
inc eax
add esp, 8
mov dword [esp + 0x8c], eax
cmp eax, dword [esi + 0x14]
jl 0x1011e3c1
mov ecx, dword [esp + 0x88]
mov ebx, dword [esp + 0x80]
xor eax, eax
mov dword [esp + 0x8c], eax
cmp dword [esi + 0x14], eax
jle 0x1011e457
jmp 0x1011e417
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x70]
push edx
mov edx, dword [esi + 0x10]
shl eax, 4
mov eax, dword [eax + edx + 4]
mov ebx, ecx
call fcn.1010e9d0
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x10121587
mov eax, dword [esp + 0x8c]
inc eax
mov dword [esp + 0x8c], eax
cmp eax, dword [esi + 0x14]
jl 0x1011e410
mov ebx, dword [esp + 0x80]
mov esi, dword [esp + 0x14]
mov edi, 2
cmp dword [esp + 0x70], edi
jne 0x1011e484
test byte [esi + 0x18], 2
je 0x1011e484
mov eax, esi
call fcn.10119f80
mov eax, esi
call fcn.1012f460
or dword [esi + 0x18], edi
mov ebx, dword [esp + 0x80]
cmp dword [esi + 0x1e0], ebx
je 0x1011e4c9
lea esp, [esp]
mov eax, dword [esi + 0x1e0]
mov dword [esp + 0x84], eax
mov eax, dword [eax + 0x18]
mov dword [esi + 0x1e0], eax
mov eax, dword [esp + 0x84]
mov ecx, esi
call fcn.100fc0b0
dec dword [esi + 0x1e8]
mov ebx, dword [esp + 0x80]
cmp dword [esi + 0x1e0], ebx
jne 0x1011e490
cmp dword [esp + 0x70], 1
jne 0x1011e4fe
mov ecx, dword [ebx + 0x18]
mov dword [esi + 0x1e0], ecx
mov eax, dword [esp + 0x80]
mov ecx, esi
call fcn.100fc0b0
cmp dword [esp + 0x28], 0
jne case.default.0x1011c1db
mov eax, dword [esp + 0x14]
dec dword [eax + 0x1e8]
jmp 0x1011e538
cmp dword [esp + 0x28], 0
mov edx, dword [ebx + 8]
mov dword [esi + 0x1f0], edx
mov eax, dword [ebx + 0xc]
mov dword [esi + 0x1f4], eax
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 0x10]
mov dword [esi + 0x1f8], ecx
mov edx, dword [eax + 0x14]
mov dword [esi + 0x1fc], edx
jne case.default.0x1011c1db
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x70]
push ecx
push edx
push eax
call fcn.10152d20
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
jne 0x10121587
jmp case.default.0x1011c1db
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x70], eax
mov ebp, dword [ebp + 8]
mov dword [esp + 0x74], ebp
test eax, eax
je 0x1011e5ae
cmp byte [edx + 0x3e], 0
jne 0x1011e5ae
mov dword [esp + 0x78], ecx
test ebp, ebp
jne 0x1011e5b6
cmp dword [edx + 0x94], ebp
jle 0x1011e5b6
mov edi, dword [esp + 0x1c]
push str.cannot_commit_transaction___SQL_statements_in_progress
add edi, 0x38
mov eax, edx
call fcn.100fc460
add esp, 4
mov dword [esp + 0x10], 5
jmp case.default.0x1011c1db
mov dword [esp + 0x78], 0
movzx ecx, byte [edx + 0x3e]
cmp eax, ecx
jne 0x101214cd
test eax, eax
jne 0x1011e5cd
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x1011e5db
mov eax, str.cannot_rollback___no_transaction_is_active
test ebp, ebp
jne 0x1011e5db
mov eax, str.cannot_commit___no_transaction_is_active
mov edi, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x18]
add edi, 0x38
call fcn.100fc460
add esp, 4
mov dword [esp + 0x10], 1
jmp case.default.0x1011c1db
cmp dword [ebp + 8], 0
je 0x1011e613
mov edx, dword [esp + 0x14]
test dword [edx + 0x18], 0x2000000
jne 0x10121547
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x10]
shl eax, 4
mov eax, dword [eax + edx + 4]
mov dword [esp + 0x70], eax
test eax, eax
je case.default.0x1011c1db
mov ecx, dword [ebp + 8]
push ecx
push eax
call fcn.1010d7c0
add esp, 8
mov dword [esp + 0x10], eax
cmp eax, 5
je 0x10121551
test eax, eax
jne 0x10121587
cmp dword [ebp + 8], eax
je case.default.0x1011c1db
test byte [edi + 0x64], 0x80
je case.default.0x1011c1db
mov esi, dword [esp + 0x14]
cmp byte [esi + 0x3e], al
je 0x1011e67b
cmp dword [esi + 0x90], 1
jle case.default.0x1011c1db
cmp dword [edi + 0x74], 0
jne 0x1011e698
inc dword [esi + 0x1ec]
mov eax, dword [esi + 0x1ec]
mov edx, dword [esi + 0x1e8]
add edx, eax
mov dword [edi + 0x74], edx
mov eax, dword [edi + 0x74]
dec eax
push eax
push 0
push esi
call fcn.10152d20
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1011e6c4
mov ecx, dword [edi + 0x74]
mov eax, dword [esp + 0x70]
push ecx
call fcn.1010e980
add esp, 4
mov dword [esp + 0x10], eax
mov edx, dword [esi + 0x1f0]
mov dword [edi + 0xa8], edx
mov eax, dword [esi + 0x1f4]
mov dword [edi + 0xac], eax
mov ecx, dword [esi + 0x1f8]
mov dword [edi + 0xb0], ecx
mov edx, dword [esi + 0x1fc]
mov dword [edi + 0xb4], edx
jmp case.default.0x1011c1db
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x74], eax
mov ebp, dword [ebp + 0xc]
lea ecx, [esp + 0x70]
mov dword [esp + 0x78], ebp
push ecx
mov ecx, dword [edx + 0x10]
shl eax, 4
mov eax, dword [eax + ecx + 4]
push ebp
call fcn.10112e70
mov eax, dword [esp + 0x78]
cdq
add esp, 8
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
jmp case.default.0x1011c1db
mov edx, dword [ebp + 4]
mov eax, dword [esp + 0x14]
shl edx, 4
add edx, dword [eax + 0x10]
mov dword [esp + 0x70], edx
mov eax, dword [ebp + 0xc]
lea ecx, [eax + eax*4]
lea esi, [ebx + ecx*8]
call fcn.10115a80
mov edx, dword [esi + 0x10]
mov eax, dword [esp + 0x70]
mov ebx, dword [ebp + 8]
mov eax, dword [eax + 4]
push edx
call fcn.10112ee0
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 8]
add esp, 4
cmp eax, 1
jne 0x1011e78a
mov ecx, dword [esp + 0x70]
mov eax, dword [esi + 0x10]
mov edx, dword [ecx + 0xc]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
or dword [eax + 0x18], 2
jmp 0x1011e79c
cmp eax, 2
jne 0x1011e79c
mov ecx, dword [esp + 0x70]
mov edx, dword [ecx + 0xc]
mov al, byte [esi + 0x10]
mov byte [edx + 0x4c], al
cmp dword [ebp + 4], 1
jne case.default.0x1011c1db
mov eax, dword [esp + 0x14]
call fcn.10119f80
and dword [edi + 0x64], 0xffffffdf
jmp case.default.0x1011c1db
mov ecx, dword [ebp + 4]
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x10]
shl ecx, 4
mov eax, dword [ecx + eax + 4]
mov dword [esp + 0x78], eax
test eax, eax
je 0x1011e7f6
lea ecx, [esp + 0x70]
push ecx
push 1
call fcn.10112e70
mov edx, dword [ebp + 4]
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + 0x10]
add esp, 8
shl edx, 4
mov ecx, dword [edx + eax + 0xc]
mov eax, dword [ecx + 4]
jmp 0x1011e802
mov dword [esp + 0x70], 0
xor eax, eax
mov esi, edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0x74], eax
cmp edx, dword [ebp + 8]
jne 0x1011e81c
cmp eax, dword [ebp + 0xc]
je case.default.0x1011c1db
mov esi, dword [esp + 0x14]
mov eax, dword [edi + 0x38]
mov ecx, esi
call fcn.100fc0b0
push esi
mov ebx, str.database_schema_has_changed
call fcn.100fc3e0
mov dword [edi + 0x38], eax
mov ebp, dword [ebp + 4]
mov ecx, dword [esi + 0x10]
mov eax, ebp
shl eax, 4
mov edx, dword [eax + ecx + 0xc]
mov eax, dword [edx]
add esp, 4
cmp eax, dword [esp + 0x70]
je 0x1011e85d
mov edi, dword [esp + 0x14]
mov esi, ebp
call fcn.1012f430
mov edi, dword [esp + 0x1c]
or dword [edi + 0x64], 0x20
mov dword [esp + 0x10], 0x11
jmp case.default.0x1011c1db
test byte [edi + 0x64], 0x20
je 0x1011e881
mov dword [esp + 0x10], 4
jmp case.default.0x1011c1db
mov edx, dword [esp + 0x14]
xor ecx, ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], ecx
mov esi, dword [ebp + 8]
mov dword [esp + 0x78], esi
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x7c], eax
shl eax, 4
add eax, dword [edx + 0x10]
mov dword [esp + 0x8c], eax
mov edx, dword [eax + 4]
mov dword [esp + 0x84], edx
cmp byte [ebp], 0x31
jne 0x1011e8d5
mov dword [esp + 0x80], 1
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4c]
cmp al, byte [edi + 0x61]
jae 0x1011e8e0
mov byte [edi + 0x61], al
jmp 0x1011e8e0
mov dword [esp + 0x80], 0
test byte [ebp + 3], 2
je 0x1011e905
lea ecx, [esi + esi*4]
lea esi, [ebx + ecx*8]
call fcn.10115a80
mov esi, dword [esi + 0x10]
cmp esi, 2
mov dword [esp + 0x78], esi
jl 0x10121565
mov ecx, dword [esp + 0x70]
mov al, byte [ebp + 1]
cmp al, 0xfa
jne 0x1011e92c
mov eax, dword [ebp + 0x10]
mov edx, dword [edi]
mov dword [esp + 0x74], eax
mov ecx, dword [edx + 0x10]
mov edx, dword [ecx + 0xc]
mov cl, byte [edx + 0x4d]
mov byte [eax + 4], cl
mov edx, dword [esp + 0x74]
movzx ecx, word [edx + 6]
inc ecx
jmp 0x1011e933
cmp al, 0xf2
jne 0x1011e937
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x70], ecx
mov eax, dword [esp + 0x7c]
push 1
push eax
push ecx
mov ecx, dword [ebp + 4]
push ecx
mov eax, edi
call fcn.1011beb0
add esp, 0x10
mov dword [esp + 0x88], eax
test eax, eax
je 0x1011d808
mov byte [eax + 0x1c], 1
mov edx, dword [esp + 0x88]
mov byte [edx + 0x20], 1
mov eax, dword [esp + 0x88]
mov ecx, dword [eax]
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x80]
push ecx
mov ecx, dword [esp + 0x7c]
push edx
push eax
mov eax, dword [esp + 0x90]
push ecx
call fcn.1010eaf0
mov edx, dword [esp + 0x98]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x84]
mov dword [edx + 8], eax
mov edx, dword [esp + 0x98]
mov cl, byte [ebp + 3]
mov eax, dword [edx]
and cl, 1
mov byte [eax + 0x5d], cl
mov edx, dword [esp + 0x98]
add esp, 0x10
cmp byte [ebp + 1], 0xfa
setne cl
mov byte [edx + 0x1e], cl
mov eax, dword [esp + 0x88]
cmp byte [eax + 0x1e], 0
sete cl
mov byte [eax + 0x1f], cl
jmp case.default.0x1011c1db
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 4]
push 1
push 0xffffffffffffffff
push edx
push eax
mov eax, edi
call fcn.1011beb0
add esp, 0x10
mov dword [esp + 0x70], eax
test eax, eax
je 0x1011d808
mov byte [eax + 0x1c], 1
movzx ecx, byte [ebp + 3]
mov edx, dword [esp + 0x70]
push 0x41e
or ecx, 5
push ecx
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx]
push 0
add edx, 4
push eax
call fcn.1010c7c0
add esp, 0x10
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1011eb01
mov ecx, dword [esp + 0x70]
mov edx, dword [ecx + 4]
push 1
push edx
call fcn.1010d7c0
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1011eb01
cmp dword [ebp + 0x10], eax
je 0x1011eada
movzx eax, byte [ebp + 3]
mov edx, dword [esp + 0x70]
or eax, 2
push eax
mov eax, dword [edx + 4]
lea ecx, [esp + 0x60]
push ecx
call fcn.10112970
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1011ead0
mov eax, dword [esp + 0x70]
mov ecx, dword [eax]
mov edx, dword [ebp + 0x10]
mov eax, dword [eax + 4]
push ecx
mov ecx, dword [esp + 0x60]
push edx
push 1
push ecx
call fcn.1010eaf0
mov edx, dword [ebp + 0x10]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x80]
mov dword [eax + 8], edx
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x80]
mov eax, dword [edx + 8]
mov cl, byte [ecx + 0x4d]
add esp, 0x10
mov byte [eax + 4], cl
mov edx, dword [esp + 0x70]
mov byte [edx + 0x1e], 0
jmp 0x1011eb01
mov eax, dword [esp + 0x70]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
push ecx
push 0
push 1
push 1
call fcn.1010eaf0
mov edx, dword [esp + 0x80]
add esp, 0x10
mov dword [esp + 0x10], eax
mov byte [edx + 0x1e], 1
cmp byte [ebp + 3], 8
mov ecx, dword [esp + 0x70]
setne al
mov byte [ecx + 0x20], al
mov eax, dword [esp + 0x70]
cmp byte [eax + 0x1e], 0
sete dl
mov byte [eax + 0x1f], dl
jmp case.default.0x1011c1db
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 4]
push 1
push 0xffffffffffffffff
push eax
push ecx
mov eax, edi
call fcn.1011beb0
add esp, 0x10
mov dword [esp + 0x70], eax
test eax, eax
je 0x1011d808
mov edx, dword [ebp + 0x10]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x70]
mov edx, dword [ecx + 8]
mov al, byte [eax + 0x4d]
mov byte [edx + 4], al
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x14]
mov byte [ecx + 0x21], 1
mov eax, dword [esp + 0x70]
push edx
call fcn.10122d10
add esp, 4
mov dword [esp + 0x10], eax
jmp case.default.0x1011c1db
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 4]
push 0
push 0xffffffffffffffff
push eax
push ecx
mov eax, edi
call fcn.1011beb0
add esp, 0x10
mov dword [esp + 0x70], eax
test eax, eax
je 0x1011d808
mov byte [eax + 0x1c], 1
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0x70]
mov dword [eax + 0x10], edx
mov ecx, dword [esp + 0x70]
mov byte [ecx + 0x1e], 1
mov edx, dword [esp + 0x70]
mov byte [edx + 0x1f], 0
mov al, byte [ebp + 3]
mov ecx, dword [esp + 0x70]
mov byte [ecx + 0x22], al
jmp case.default.0x1011c1db
mov edx, dword [ebp + 4]
mov eax, dword [edi + 0x44]
mov eax, dword [eax + edx*4]
mov ebx, edi
call fcn.10117f50
mov ecx, dword [ebp + 4]
mov edx, dword [edi + 0x44]
mov dword [edx + ecx*4], 0
jmp case.default.0x1011c1db
mov eax, dword [ebp + 4]
mov edx, dword [edi + 0x44]
mov eax, dword [edx + eax*4]
mov dword [esp + 0x78], eax
cmp dword [eax], 0
je 0x1011d639
movzx ecx, byte [ebp]
mov dword [esp + 0x74], ecx
mov byte [eax + 0x1c], 0
mov ecx, dword [esp + 0x78]
cmp byte [ecx + 0x1e], 0
je 0x1011edd2
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
lea esi, [ebx + edx*8]
call fcn.1011bf70
mov ecx, esi
call fcn.10115960
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0xa4], edx
mov byte [eax + 0x19], 0
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x1011ed6b
test al, 8
jne 0x1011ec6e
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x18], ebp
jmp case.default.0x1011c1db
xor ecx, ecx
cmp dword [esp + 0xa0], ecx
jne 0x1011ed17
mov eax, SysReAllocStringLen
cmp dword [esp + 0xa4], eax
jne 0x1011ed17
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], ecx
fild qword [esp + 0x68]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
je 0x1011ecb1
fldz
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x1011ed17
fldz
mov dword [esp + 0x70], 1
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x1011ecdd
cmp dword [esp + 0x74], 0x39
jl 0x1011ed0a
mov ecx, dword [esp + 0x78]
mov esi, dword [ecx]
lea edi, [esp + 0x70]
call fcn.1010f660
jmp 0x1011ecf3
cmp dword [esp + 0x74], 0x38
jg 0x1011ed0a
mov edx, dword [esp + 0x78]
mov esi, dword [edx]
lea edi, [esp + 0x70]
call fcn.1010f690
mov dword [esp + 0x10], eax
test eax, eax
jne 0x10121587
cmp dword [esp + 0x70], 0
je case.default.0x1011c1db
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x18], ebp
jmp case.default.0x1011c1db
mov eax, dword [esp + 0x74]
cmp eax, 0x37
je 0x1011ed4b
cmp eax, 0x39
je 0x1011ed4b
fild qword [esp + 0xa0]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x1011ed6b
mov eax, 0xffffffff
add dword [esp + 0xa0], eax
adc dword [esp + 0xa4], eax
jmp 0x1011ed6b
fild qword [esp + 0xa0]
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x1011ed6b
add dword [esp + 0xa0], 1
adc dword [esp + 0xa4], ecx
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0xa0]
lea eax, [esp + 0x70]
push eax
mov eax, dword [esp + 0x7c]
push 0
push ecx
mov ecx, dword [eax]
push edx
push 0
push ecx
call fcn.1010f6d0
add esp, 0x18
mov dword [esp + 0x10], eax
test eax, eax
jne 0x10121587
cmp dword [esp + 0x70], eax
jne 0x1011ee54
mov edx, dword [esp + 0x78]
mov byte [edx + 0x19], 1
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x78]
mov dword [ecx + 0x40], eax
mov edx, dword [esp + 0xa4]
mov eax, dword [esp + 0x78]
mov dword [eax + 0x44], edx
jmp 0x1011ee54
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x98], edx
mov eax, dword [ecx + 8]
mov dword [esp + 0x80], eax
mov al, byte [esp + 0x74]
dec al
and al, 1
mov word [esp + 0x84], dx
mov byte [esp + 0x86], al
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
lea ebx, [ebx + edx*8]
mov eax, 0x4000
mov dword [esp + 0x90], ebx
test word [ebx + 0x1c], ax
je 0x1011ee23
mov eax, ebx
call fcn.10115680
mov ecx, dword [esp + 0x78]
mov ecx, dword [ecx]
lea edx, [esp + 0x70]
push edx
push 0
push 0
push 0
lea eax, [esp + 0x90]
push eax
push ecx
call fcn.1010f6d0
add esp, 0x18
mov dword [esp + 0x10], eax
test eax, eax
jne 0x10121587
mov edx, dword [esp + 0x78]
mov byte [edx + 0x19], al
mov eax, dword [esp + 0x78]
mov byte [eax + 0x1d], 0
mov ecx, dword [esp + 0x78]
xor esi, esi
mov dword [ecx + 0x50], esi
mov ecx, dword [esp + 0x74]
cmp ecx, 0x39
mov eax, dword [esp + 0x70]
jl 0x1011eeb3
cmp eax, esi
jl 0x1011ee86
jne 0x1011ee7d
cmp ecx, 0x3a
je 0x1011ee86
mov dword [esp + 0x70], esi
jmp case.default.0x1011c1db
mov eax, dword [esp + 0x78]
mov ecx, dword [eax]
lea edx, [esp + 0x70]
push edx
push ecx
call fcn.1010fa80
add esp, 8
mov dword [esp + 0x10], eax
cmp eax, esi
jne 0x10121587
mov edx, dword [esp + 0x78]
mov byte [edx + 0x19], 0
jmp 0x1011ecff
cmp eax, esi
jg 0x1011eed6
jne 0x1011eebe
cmp ecx, 0x37
je 0x1011eed6
mov eax, dword [esp + 0x78]
mov ecx, dword [eax]
xor edx, edx
cmp byte [ecx + 0x5b], 1
setne dl
mov dword [esp + 0x70], edx
jmp 0x1011ecff
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx]
lea eax, [esp + 0x70]
push eax
push edx
call fcn.1010fc00
add esp, 8
mov dword [esp + 0x10], eax
cmp eax, esi
jne 0x10121587
mov eax, dword [esp + 0x78]
mov byte [eax + 0x19], 0
jmp 0x1011ecff
mov ecx, dword [ebp + 4]
mov edx, dword [edi + 0x44]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x70], eax
cmp dword [eax], 0
je case.default.0x1011c1db
mov byte [eax + 0x1c], 0
mov ebp, dword [ebp + 8]
lea eax, [ebp + ebp*4]
lea ecx, [ebx + eax*8]
call fcn.10115960
mov ecx, dword [esp + 0x70]
mov dword [ecx + 0x38], eax
mov eax, dword [esp + 0x70]
mov dword [eax + 0x3c], edx
mov ecx, dword [esp + 0x70]
mov byte [ecx + 0x19], 0
mov edx, dword [esp + 0x70]
mov byte [edx + 0x1d], 1
jmp case.default.0x1011c1db
mov ecx, dword [edi + 0x44]
xor edx, edx
mov dword [esp + 0x70], edx
mov eax, dword [ebp + 4]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x74], eax
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx + ecx*4]
lea esi, [ebx + ecx*8]
cmp dword [eax], edx
je 0x1011f061
cmp dword [ebp + 0x10], edx
jle 0x1011efad
mov edx, dword [eax + 8]
mov dword [esp + 0x88], edx
mov cx, word [ebp + 0x10]
lea edx, [esp + 0x88]
mov word [esp + 0x8c], cx
mov dword [esp + 0x98], esi
mov byte [esp + 0x8e], 2
mov dword [esp + 0x80], edx
jmp 0x1011f002
mov edi, dword [eax + 8]
push 0x97
lea ebx, [esp + 0x80]
lea edx, [esp + 0xa4]
call fcn.10119a60
add esp, 4
mov dword [esp + 0x80], eax
test eax, eax
je 0x1011d808
mov ecx, dword [esi + 0x18]
mov edx, dword [esp + 0x74]
push eax
mov eax, dword [esi + 4]
push eax
mov eax, dword [edx + 8]
push ecx
push eax
call fcn.10119ab0
mov eax, dword [esp + 0x90]
add esp, 0x10
or byte [eax + 6], 2
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x80]
mov eax, dword [eax]
lea ecx, [esp + 0x78]
push ecx
push 0
push 0
push 0
push edx
push eax
call fcn.1010f6d0
add esp, 0x18
cmp dword [ebp + 0x10], 0
mov esi, eax
mov dword [esp + 0x10], esi
jne 0x1011f039
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x14]
call fcn.100fc0b0
test esi, esi
jne case.default.0x1011c1db
mov edx, dword [esp + 0x74]
xor ecx, ecx
cmp dword [esp + 0x78], ecx
sete cl
mov dword [esp + 0x70], ecx
mov byte [edx + 0x1d], 0
mov eax, dword [esp + 0x74]
mov dword [eax + 0x50], esi
mov edx, dword [esp + 0x70]
cmp byte [ebp], 0x3d
jne 0x1011f06e
test edx, edx
jmp 0x1011ed04
test edx, edx
jne case.default.0x1011c1db
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x18], ebp
jmp case.default.0x1011c1db
mov eax, dword [ebp + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 0x10]
lea edx, [eax + eax*4]
lea eax, [ebx + edx*8]
mov edx, dword [edi + 0x44]
mov dword [esp + 0x80], eax
lea esi, [ebx + ecx*8]
mov ecx, dword [ebp + 4]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x74], eax
xor ecx, ecx
mov dword [eax + 0x4c], ecx
mov eax, dword [esp + 0x74]
mov dword [eax + 0x50], ecx
mov edx, dword [esp + 0x74]
mov ecx, dword [edx]
mov ebx, dword [esp + 0x80]
mov dword [esp + 0x78], ecx
mov eax, dword [edx + 8]
mov cx, word [eax + 6]
xor eax, eax
xor edi, edi
mov word [esp + 0x7c], cx
mov word [esp + 0x70], ax
cmp di, cx
jae 0x1011f0fd
movzx edi, ax
lea edi, [edi + edi*4]
test byte [ebx + edi*8 + 0x1c], 1
jne 0x1011f1b5
inc ax
mov word [esp + 0x70], ax
cmp ax, cx
jb 0x1011f0e0
cmp dword [esp + 0x78], 0
je case.default.0x1011c1db
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x7c]
inc edx
mov dword [esp + 0x88], ecx
mov word [esp + 0x8c], dx
mov byte [esp + 0x8e], 4
mov dword [esp + 0x98], ebx
call fcn.10115a80
mov edx, dword [esp + 0x74]
mov eax, dword [esi + 0x10]
add edx, 0x4c
push edx
push 0
mov dword [esp + 0xa8], eax
mov ecx, dword [esi + 0x14]
push 0
push 0
lea eax, [esp + 0x98]
mov dword [esp + 0xb4], ecx
mov ecx, dword [esp + 0x88]
push eax
push ecx
call fcn.1010f6d0
add esp, 0x18
test byte [esp + 0x8e], 4
mov dword [esp + 0x10], eax
jne 0x1011d61b
mov eax, dword [esp + 0x90]
cmp eax, dword [esp + 0xa0]
jne 0x1011f1a3
mov edx, dword [esp + 0x94]
cmp edx, dword [esp + 0xa4]
je 0x1011d61b
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x94]
mov dword [esi + 0x14], eax
jmp case.default.0x1011c1db
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x78], 0
jmp case.default.0x1011c1db
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 4]
lea ebx, [ebx + edx*8]
mov edx, dword [edi + 0x44]
mov edx, dword [edx + eax*4]
mov dword [esp + 0x70], edx
mov eax, dword [edx]
mov dword [esp + 0x74], eax
test eax, eax
je 0x1011f27c
xor esi, esi
mov dword [esp + 0x78], esi
mov ecx, dword [ebx + 0x10]
lea edi, [esp + 0x78]
push edi
push esi
mov dword [esp + 0x88], ecx
mov edx, dword [ebx + 0x14]
push edx
push ecx
push esi
push eax
mov dword [esp + 0x9c], edx
call fcn.1010f6d0
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x28], eax
mov eax, dword [ebx + 0x10]
mov dword [ecx + 0x40], eax
mov edx, dword [ebx + 0x14]
mov eax, dword [esp + 0x88]
mov dword [eax + 0x44], edx
mov edx, dword [esp + 0x88]
add esp, 0x18
cmp dword [esp + 0x78], esi
sete cl
mov byte [edx + 0x19], cl
mov eax, dword [esp + 0x70]
mov byte [eax + 0x1c], 0
mov ecx, dword [esp + 0x70]
mov dword [ecx + 0x50], esi
mov edx, dword [esp + 0x70]
mov byte [edx + 0x1d], 0
mov eax, dword [esp + 0x78]
cmp eax, esi
je 0x1011f270
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x18], ebp
mov ecx, dword [esp + 0x70]
mov dword [ecx + 0x4c], eax
jmp case.default.0x1011c1db
mov ebp, dword [ebp + 8]
sub ebp, ecx
mov dword [esp + 0x18], ebp
mov dword [edx + 0x4c], 0
jmp case.default.0x1011c1db
mov edx, dword [ebp + 4]
mov eax, dword [edi + 0x44]
mov eax, dword [eax + edx*4]
mov edx, dword [eax + 0x30]
mov dword [esi + 0x10], edx
mov eax, dword [eax + 0x34]
mov dword [esi + 0x14], eax
mov edx, dword [ebp + 4]
mov eax, dword [edi + 0x44]
mov eax, dword [eax + edx*4]
add dword [eax + 0x30], ecx
adc dword [eax + 0x34], 0
jmp case.default.0x1011c1db
mov eax, dword [edi + 0x44]
xor ecx, ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x7c], ecx
mov edx, dword [ebp + 4]
mov edx, dword [eax + edx*4]
mov dword [esp + 0x78], edx
mov eax, dword [edx]
cmp eax, ecx
je 0x1011f570
cmp byte [edx + 0x1b], cl
jne 0x1011f461
mov ecx, dword [eax + 0x20]
mov dword [esp + 0x70], ecx
mov eax, dword [eax + 0x24]
mov esi, ecx
or esi, eax
mov dword [esp + 0x74], eax
jne 0x1011f370
mov esi, dword [edx]
lea edi, [esp + 0x7c]
call fcn.1010f690
mov dword [esp + 0x10], eax
test eax, eax
jne 0x10121587
cmp dword [esp + 0x7c], eax
je 0x1011f31f
lea ecx, [eax + 1]
jmp 0x1011f360
mov ecx, dword [esp + 0x78]
mov eax, dword [ecx]
lea edi, [esp + 0x70]
call fcn.1010ecb0
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x74]
cmp eax, 0x7fffffff
jl 0x1011f35a
jg 0x1011f348
cmp ecx, 0xffffffff
jb 0x1011f35a
mov edx, dword [esp + 0x78]
mov byte [edx + 0x1b], 1
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
jmp 0x1011f368
add ecx, 1
adc eax, 0
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], ecx
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x2c]
mov edx, dword [ebp + 0xc]
test edx, edx
je 0x1011f426
mov ecx, dword [edi + 0xc0]
test ecx, ecx
je 0x1011f3b2
mov dword [esp + 0x88], ecx
mov eax, dword [ecx + 4]
test eax, eax
je 0x1011f3a3
mov ecx, eax
mov dword [esp + 0x88], ecx
mov eax, dword [ecx + 4]
test eax, eax
jne 0x1011f393
mov ebp, dword [ebp + 0xc]
mov ecx, dword [ecx + 0xc]
lea eax, [ebp + ebp*4]
lea esi, [ecx + eax*8]
jmp 0x1011f3b8
lea edx, [edx + edx*4]
lea esi, [ebx + edx*8]
mov dword [esp + 0x84], esi
call fcn.10115a80
mov edx, dword [esp + 0x84]
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0x14]
add edx, 0x10
cmp eax, 0xffffffff
jne 0x1011f3e5
cmp ecx, 0x7fffffff
je 0x10121575
mov esi, dword [esp + 0x78]
cmp byte [esi + 0x1b], 0
jne 0x10121575
mov esi, dword [esp + 0x74]
add eax, 1
adc ecx, 0
cmp esi, ecx
jg 0x1011f411
jl 0x1011f409
cmp dword [esp + 0x70], eax
jae 0x1011f411
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
mov eax, dword [esp + 0x70]
mov dword [edx], eax
mov ecx, dword [esp + 0x74]
mov dword [edx + 4], ecx
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
cmp eax, 0x7fffffff
jg 0x1011f43c
jl 0x1011f434
cmp ecx, 0xffffffff
jae 0x1011f43c
add ecx, 1
adc eax, 0
jmp 0x1011f440
xor ecx, ecx
xor eax, eax
mov edx, dword [esp + 0x78]
mov esi, dword [edx]
push eax
push ecx
call fcn.1010eb40
mov edx, dword [esp + 0x80]
add esp, 8
cmp byte [edx + 0x1b], 0
je 0x1011f555
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
and eax, 0x3fffffff
add ecx, 1
lea esi, [esp + 0x7c]
push esi
adc eax, 0
push 0
push eax
push ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], eax
mov dword [esp + 0x90], 0
mov eax, dword [edx]
push 0
push eax
call fcn.1010f6d0
add esp, 0x18
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1011f551
mov ecx, dword [esp + 0x7c]
test ecx, ecx
jne 0x1011f542
mov eax, dword [esp + 0x80]
inc eax
cmp eax, 0x64
mov dword [esp + 0x80], eax
jge 0x1011f542
lea ecx, [esp + 0x70]
push ecx
push 8
call fcn.100fd820
mov eax, dword [esp + 0x78]
add esp, 8
cmp dword [esp + 0x80], 5
jge 0x1011f4f9
and eax, 0xffffff
xor ecx, ecx
jmp 0x1011f503
mov ecx, dword [esp + 0x74]
and ecx, 0x3fffffff
add eax, 1
lea edx, [esp + 0x7c]
push edx
adc ecx, 0
push 0
push ecx
push eax
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x84], ecx
mov ecx, dword [eax]
push 0
push ecx
call fcn.1010f6d0
add esp, 0x18
mov dword [esp + 0x10], eax
test eax, eax
je 0x1011f4af
jmp 0x1011f551
cmp dword [esp + 0x10], 0
jne 0x1011f551
test ecx, ecx
je 0x1012157f
mov edx, dword [esp + 0x78]
mov esi, dword [esp + 0x20]
mov byte [edx + 0x19], 0
mov edx, dword [esp + 0x78]
mov byte [edx + 0x1d], 0
mov eax, dword [esp + 0x78]
mov dword [eax + 0x50], 0
mov ecx, dword [esp + 0x70]
mov dword [esi + 0x10], ecx
mov edx, dword [esp + 0x74]
mov dword [esi + 0x14], edx
jmp case.default.0x1011c1db
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov eax, dword [edi + 0x44]
mov dword [esp + 0x70], esi
mov edx, dword [ebp + 4]
mov edx, dword [eax + edx*4]
mov dword [esp + 0x80], edx
cmp byte [ebp], 0x42
mov eax, dword [ebp + 0xc]
jne 0x1011f5bf
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
mov dword [esp + 0x74], ebx
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x78], eax
mov edx, dword [ebx + 0x14]
jmp 0x1011f5c4
cdq
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
test byte [ebp + 3], 1
je 0x1011f5d1
add dword [edi + 0x68], ecx
test byte [ebp + 3], 2
je 0x1011f5f1
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x20], eax
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x7c]
mov dword [ecx + 0x24], edx
mov esi, dword [esp + 0x70]
mov dword [esp + 0x38], eax
xor eax, eax
test byte [esi + 0x1c], 1
je 0x1011f607
mov dword [esi + 4], eax
mov ecx, dword [esp + 0x70]
mov dword [ecx + 0x18], eax
mov esi, dword [esp + 0x70]
test byte [ebp + 3], 0x10
je 0x1011f620
mov edx, dword [esp + 0x80]
mov ecx, dword [edx + 0x4c]
mov dword [esp + 0x88], ecx
jmp 0x1011f627
mov dword [esp + 0x88], eax
mov edx, 0x4000
test word [esi + 0x1c], dx
je 0x1011f635
mov eax, dword [esi + 0x10]
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x84], eax
mov esi, dword [ecx]
push 0
push 0
call fcn.1010eb40
movzx eax, byte [ebp + 3]
mov edx, dword [esp + 0x90]
mov ecx, dword [esp + 0x8c]
push edx
and eax, 8
push eax
mov eax, dword [esp + 0x80]
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 4]
push ecx
mov ecx, dword [esp + 0x90]
push edx
mov edx, dword [esp + 0x90]
push eax
mov eax, dword [esp + 0x9c]
mov eax, dword [eax]
push ecx
push edx
push 0
call fcn.10112250
mov ecx, dword [esp + 0xa8]
mov byte [ecx + 0x19], 0
mov edx, dword [esp + 0xa8]
mov byte [edx + 0x1d], 0
mov ecx, dword [esp + 0xa8]
add esp, 0x28
mov dword [esp + 0x10], eax
mov dword [ecx + 0x50], 0
test eax, eax
jne case.default.0x1011c1db
mov esi, dword [esp + 0x14]
cmp dword [esi + 0xc8], eax
je case.default.0x1011c1db
cmp dword [ebp + 0x10], eax
je case.default.0x1011c1db
mov edx, dword [esp + 0x80]
mov eax, dword [edx + 0xc]
mov ecx, dword [esi + 0x10]
mov edi, dword [esp + 0x7c]
shl eax, 4
mov ecx, dword [eax + ecx]
mov dword [esp + 0x8c], ecx
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x90], edx
mov al, byte [ebp + 3]
and al, 4
movzx eax, al
push edi
mov edi, dword [esp + 0x7c]
neg eax
sbb eax, eax
push edi
push edx
and eax, 5
add eax, 0x12
push ecx
mov dword [esp + 0xa4], eax
mov ecx, dword [esi + 0xc4]
mov edx, dword [esi + 0xc8]
push eax
push ecx
call edx
add esp, 0x18
jmp case.default.0x1011c1db
mov edx, dword [edi + 0x44]
xor eax, eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov ecx, dword [ebp + 4]
mov esi, dword [edx + ecx*4]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x78], esi
cmp dword [ecx + 0xc8], eax
je 0x1011f778
cmp dword [ebp + 0x10], eax
je 0x1011f778
mov edx, dword [esi + 0x40]
mov dword [esp + 0x70], edx
mov eax, dword [esi + 0x44]
mov dword [esp + 0x74], eax
call fcn.101195b0
mov dword [esp + 0x10], eax
test eax, eax
jne 0x10121587
mov ecx, dword [esp + 0x78]
mov esi, dword [ecx]
push eax
push eax
call fcn.1010eb40
mov edx, dword [esp + 0x80]
mov eax, dword [edx]
add esp, 8
call fcn.10112470
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x10], eax
mov dword [ecx + 0x50], 0
test eax, eax
jne 0x1011f7fc
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + 0xc8]
test ecx, ecx
je 0x1011f7fc
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x1011f7fc
mov esi, dword [esp + 0x74]
push esi
mov esi, dword [esp + 0x74]
push esi
mov esi, dword [edx + 0x10]
mov edx, dword [edx + 0xc4]
push eax
mov eax, dword [esp + 0x84]
mov eax, dword [eax + 0xc]
shl eax, 4
mov eax, dword [eax + esi]
push eax
push 9
push edx
call ecx
add esp, 0x18
test byte [ebp + 8], 1
je case.default.0x1011c1db
inc dword [edi + 0x68]
jmp case.default.0x1011c1db
mov eax, dword [edi + 0x68]
mov ecx, dword [esp + 0x14]
add dword [ecx + 0x54], eax
mov dword [ecx + 0x50], eax
mov dword [edi + 0x68], 0
jmp case.default.0x1011c1db
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 0x44]
mov eax, dword [ebp + 4]
mov eax, dword [edx + eax*4]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x70], eax
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx + ecx*4]
lea edi, [edx + ecx*8]
lea ebx, [esp + 0x74]
call fcn.10123c40
cmp dword [esp + 0x74], 0
mov dword [esp + 0x10], eax
je case.default.0x1011c1db
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x18], ebp
jmp case.default.0x1011c1db
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 4]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [edi + 0x44]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x70], eax
call fcn.10123bd0
mov dword [esp + 0x10], eax
jmp case.default.0x1011c1db
mov eax, dword [ebp + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 4]
lea edx, [ebx + ecx*8]
mov ecx, dword [edi + 0x44]
mov esi, dword [ecx + eax*4]
mov dword [esp + 0x20], edx
mov dword [esp + 0x70], esi
mov edx, dword [esi]
mov dword [esp + 0x74], edx
call fcn.101195b0
mov dword [esp + 0x10], eax
test eax, eax
jne 0x10121587
mov eax, dword [esp + 0x70]
cmp byte [eax + 0x1f], 0
je 0x1011f90d
mov eax, dword [esp + 0x74]
lea edi, [esp + 0x80]
call fcn.1010ecb0
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x58]
mov ecx, dword [esp + 0x84]
cdq
cmp ecx, edx
jg 0x1011cdd3
mov ecx, dword [esp + 0x80]
jl 0x1011f905
cmp ecx, eax
ja 0x1011cdd3
mov eax, ecx
mov dword [esp + 0x78], eax
jmp 0x1011f92f
mov esi, dword [esp + 0x74]
lea edx, [esp + 0x78]
push edx
call fcn.1010ece0
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x18]
add esp, 4
cmp eax, dword [ecx + 0x58]
ja 0x1011cdd3
mov edi, dword [esp + 0x20]
push 0
call fcn.10115510
add esp, 4
test eax, eax
jne 0x1011d808
mov edx, dword [esp + 0x78]
mov esi, edi
mov ax, word [esi + 0x1c]
mov ecx, 0xbe10
and ax, cx
or ax, 0x10
mov dword [esi + 0x18], edx
mov word [esi + 0x1c], ax
mov edx, dword [esp + 0x70]
cmp byte [edx + 0x1f], 0
mov ecx, dword [esp + 0x74]
je 0x1011f996
mov eax, dword [esi + 4]
push 0
push eax
mov eax, dword [esp + 0x80]
push eax
push 0
push ecx
call fcn.1010eed0
add esp, 0x14
mov dword [esp + 0x10], eax
mov byte [esi + 0x1f], 1
jmp case.default.0x1011c1db
mov edx, dword [esi + 4]
mov eax, dword [esp + 0x78]
push edx
push eax
push 0
push ecx
call fcn.1010f230
add esp, 0x10
mov dword [esp + 0x10], eax
mov byte [esi + 0x1f], 1
jmp case.default.0x1011c1db
mov edx, dword [ebp + 4]
mov eax, dword [edi + 0x44]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x70], eax
cmp byte [eax + 0x1c], 0
je 0x1011f9d3
mov word [esi + 0x1c], cx
jmp case.default.0x1011c1db
cmp byte [eax + 0x1d], 0
je 0x1011f9ec
mov ecx, dword [eax + 0x38]
mov dword [esp + 0x78], ecx
mov edx, dword [eax + 0x3c]
mov dword [esp + 0x7c], edx
jmp 0x1011fa6a
cmp dword [eax + 0x24], 0
je 0x1011fa2e
mov ecx, dword [eax + 0x24]
mov ecx, dword [ecx]
mov dword [esp + 0x80], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x84], ecx
mov eax, dword [eax + 0x24]
mov ecx, dword [ecx + 0x30]
lea edx, [esp + 0x78]
push edx
push eax
call ecx
mov esi, dword [esp + 0x88]
mov edi, dword [esp + 0x24]
add esp, 8
mov dword [esp + 0x10], eax
call fcn.1011a010
jmp 0x1011fa6a
mov esi, eax
call fcn.101195b0
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1012158b
mov eax, dword [esp + 0x70]
cmp byte [eax + 0x19], 0
je 0x1011fa5b
mov edx, dword [eax + 0x40]
mov dword [esp + 0x78], edx
mov eax, dword [eax + 0x44]
mov dword [esp + 0x7c], eax
jmp 0x1011fa6a
mov eax, dword [eax]
lea edi, [esp + 0x78]
call fcn.1010ecb0
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x20]
mov dword [eax + 0x10], ecx
mov edx, dword [esp + 0x7c]
mov dword [eax + 0x14], edx
jmp case.default.0x1011c1db
mov eax, dword [ebp + 4]
mov ecx, dword [edi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x70], eax
mov byte [eax + 0x1c], 1
mov edx, dword [esp + 0x70]
mov byte [edx + 0x19], 0
mov eax, dword [esp + 0x70]
mov esi, dword [eax]
test esi, esi
je case.default.0x1011c1db
call fcn.1010b600
jmp case.default.0x1011c1db
mov ecx, dword [ebp + 4]
mov edx, dword [edi + 0x44]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x70], eax
mov esi, dword [eax]
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], 0
test esi, esi
je 0x1011fae2
lea edi, [esp + 0x78]
call fcn.1010f690
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x70]
mov cl, byte [esp + 0x78]
mov byte [eax + 0x1c], cl
mov edx, dword [esp + 0x70]
mov byte [edx + 0x1d], 0
mov eax, dword [esp + 0x70]
mov byte [eax + 0x19], 0
mov ecx, dword [esp + 0x70]
mov dword [ecx + 0x50], 0
mov ebp, dword [ebp + 8]
test ebp, ebp
jle case.default.0x1011c1db
cmp dword [esp + 0x78], 0
je case.default.0x1011c1db
dec ebp
mov dword [esp + 0x18], ebp
jmp case.default.0x1011c1db
add dword [edi + 0x80], ecx
mov edx, dword [ebp + 4]
mov eax, dword [edi + 0x44]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x70], eax
mov dword [esp + 0x78], ecx
cmp dword [eax + 0x48], 0
je 0x1011fb5a
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x78]
push ecx
mov ecx, eax
call fcn.10123820
add esp, 4
mov dword [esp + 0x10], eax
jmp 0x1011fb99
mov eax, dword [eax]
lea edi, [esp + 0x78]
mov esi, eax
mov dword [esp + 0x74], eax
call fcn.1010f660
cmp dword [esp + 0x78], 0
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x70]
sete dl
mov byte [eax + 0x1a], dl
mov ecx, dword [esp + 0x70]
mov byte [ecx + 0x1d], 0
mov edx, dword [esp + 0x70]
mov dword [edx + 0x50], 0
mov eax, dword [esp + 0x70]
mov byte [eax + 0x19], 0
mov cl, byte [esp + 0x78]
mov edx, dword [esp + 0x70]
mov byte [edx + 0x1c], cl
cmp dword [esp + 0x78], 0
je case.default.0x1011c1db
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x18], ebp
jmp case.default.0x1011c1db
mov eax, dword [ebp + 4]
mov ecx, dword [edi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x70], eax
test eax, eax
je case.default.0x1011c1db
cmp dword [eax + 0x48], 0
je 0x1011fbe8
lea edx, [esp + 0x74]
push edx
push eax
mov eax, dword [esp + 0x1c]
call fcn.10123b20
jmp 0x1011fbf5
mov edx, dword [eax]
mov eax, dword [ebp + 0x10]
lea ecx, [esp + 0x74]
push ecx
push edx
call eax
mov ecx, dword [esp + 0x78]
mov dl, byte [esp + 0x7c]
mov byte [ecx + 0x1c], dl
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x78]
add esp, 8
mov dword [eax + 0x50], 0
cmp dword [esp + 0x74], 0
jne 0x1011fc2d
movzx ecx, byte [ebp + 3]
mov eax, dword [ebp + 8]
dec eax
inc dword [edi + ecx*4 + 0x78]
lea edi, [edi + ecx*4 + 0x78]
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x70]
mov byte [edx + 0x19], 0
jmp 0x10121107
mov eax, dword [ebp + 4]
mov ecx, dword [edi + 0x44]
mov ecx, dword [ecx + eax*4]
mov dword [esp + 0x70], ecx
mov eax, dword [ebp + 8]
mov esi, dword [ecx]
lea edx, [eax + eax*4]
lea ebx, [ebx + edx*8]
mov dword [esp + 0x74], esi
test esi, esi
je case.default.0x1011c1db
mov eax, 0x4000
test word [ebx + 0x1c], ax
je 0x1011fc84
mov eax, ebx
call fcn.10115680
mov dword [esp + 0x10], eax
test eax, eax
jne case.default.0x1011c1db
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
cmp dword [ecx + 0x48], 0
je 0x1011fca2
push ebx
push ecx
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.101236d0
add esp, 0xc
mov dword [esp + 0x10], eax
jmp case.default.0x1011c1db
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x78], eax
mov ebx, dword [ebx + 4]
mov dword [esp + 0x7c], ebx
test byte [ebp + 3], 0x10
je 0x1011fcbb
mov ecx, dword [ecx + 0x4c]
jmp 0x1011fcbd
xor ecx, ecx
mov edx, dword [ebp + 0xc]
push ecx
push edx
push 0
push 0
cdq
push 0x101db5c4
push edx
push eax
push ebx
mov eax, esi
call fcn.10112250
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x90]
add esp, 0x20
mov dword [eax + 0x50], 0
jmp case.default.0x1011c1db
mov ecx, dword [ebp + 4]
mov edx, dword [edi + 0x44]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x70], eax
mov ecx, dword [eax]
mov dword [esp + 0x74], ecx
test ecx, ecx
je case.default.0x1011c1db
mov eax, dword [eax + 8]
mov dword [esp + 0x80], eax
mov dx, word [ebp + 0xc]
mov word [esp + 0x84], dx
mov byte [esp + 0x86], 0
mov ebp, dword [ebp + 8]
lea eax, [ebp + ebp*4]
lea edx, [ebx + eax*8]
lea eax, [esp + 0x78]
push eax
push 0
push 0
mov dword [esp + 0x9c], edx
push 0
lea edx, [esp + 0x90]
push edx
push ecx
call fcn.1010f6d0
add esp, 0x18
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1011fd71
cmp dword [esp + 0x78], eax
jne 0x1011fd71
mov eax, dword [esp + 0x74]
call fcn.10112470
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x70]
mov dword [eax + 0x50], 0
jmp case.default.0x1011c1db
mov edx, dword [ebp + 4]
mov eax, dword [edi + 0x44]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x74], eax
mov edx, dword [eax]
mov dword [esp + 0x70], edx
mov word [esi + 0x1c], cx
cmp dword [esp + 0x70], 0
je case.default.0x1011c1db
mov esi, dword [esp + 0x74]
call fcn.101195b0
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1012158b
mov eax, dword [esp + 0x74]
cmp byte [eax + 0x1c], 0
jne case.default.0x1011c1db
mov eax, dword [esp + 0x70]
lea ecx, [esp + 0x78]
push ecx
call fcn.10119d40
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1012158b
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x20]
mov dword [eax + 0x10], edx
mov ecx, dword [esp + 0x7c]
mov edx, 4
mov dword [eax + 0x14], ecx
mov word [eax + 0x1c], dx
jmp case.default.0x1011c1db
mov eax, dword [ebp + 4]
mov ecx, dword [edi + 0x44]
mov edi, dword [ecx + eax*4]
mov dword [esp + 0x70], edi
cmp dword [edi], 0
je case.default.0x1011c1db
mov edx, dword [edi + 8]
mov dword [esp + 0x78], edx
mov ax, word [ebp + 0x10]
mov word [esp + 0x7c], ax
cmp byte [ebp + 3], 0
lea ebx, [esp + 0x74]
setne cl
add cl, 2
mov byte [esp + 0x7e], cl
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x2c]
lea ecx, [eax + edx*8]
lea edx, [esp + 0x78]
push edx
mov dword [esp + 0x8c], ecx
call fcn.10119eb0
add esp, 4
cmp byte [ebp], 0x6a
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x74]
jne 0x1011fe6e
neg eax
jmp 0x1011fe6f
inc eax
mov dword [esp + 0x74], eax
test eax, eax
jle case.default.0x1011c1db
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x18], ebp
jmp case.default.0x1011c1db
mov eax, dword [esp + 0x14]
mov dword [esp + 0x74], 0
mov eax, dword [eax + 4]
mov dword [esp + 0x78], eax
test eax, eax
je 0x1011fed1
mov ebx, 0xbdf20da3
cmp dword [eax + 0x34], ebx
jne 0x1011fec6
mov edx, dword [eax + 0x64]
test edx, 0x200
je 0x1011fec6
and dl, 0xc
cmp dl, 8
jae 0x1011fec6
cmp dword [eax + 0x58], 0
jl 0x1011fec6
add dword [esp + 0x74], ecx
mov eax, dword [eax + 0x40]
mov dword [esp + 0x78], eax
test eax, eax
jne 0x1011fea4
mov edx, ecx
mov word [esi + 0x1c], dx
cmp dword [esp + 0x74], ecx
jle 0x1011feee
mov dword [esp + 0x10], 6
mov byte [edi + 0x60], 2
jmp case.default.0x1011c1db
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x7c], eax
mov edx, dword [ebp + 4]
lea ecx, [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x18]
push edx
mov edx, dword [ecx + 0x10]
shl eax, 4
mov eax, dword [eax + edx + 4]
call fcn.10112e20
mov ecx, eax
mov eax, 4
mov word [esi + 0x1c], ax
mov eax, dword [esp + 0x78]
cdq
add esp, 8
mov dword [esp + 0x10], ecx
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
test ecx, ecx
jne case.default.0x1011c1db
mov esi, dword [esp + 0x70]
test esi, esi
je case.default.0x1011c1db
mov edi, dword [ebp + 4]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x14]
call fcn.101317d0
mov al, byte [esp + 0x7c]
inc al
mov byte [esp + 0x33], al
jmp case.default.0x1011c1db
mov dword [esp + 0x70], 0
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
neg ecx
sbb ecx, ecx
lea edx, [esp + 0x70]
and ecx, edx
push ecx
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x10]
shl eax, 4
mov eax, dword [eax + edx + 4]
push eax
mov eax, dword [ebp + 4]
call fcn.10112b60
add esp, 8
cmp dword [ebp + 0xc], 0
mov dword [esp + 0x10], eax
je case.default.0x1011c1db
mov eax, dword [esp + 0x70]
add dword [edi + 0x68], eax
mov ebp, dword [ebp + 0xc]
test ebp, ebp
jle case.default.0x1011c1db
lea ecx, [ebp + ebp*4]
cdq
add dword [ebx + ecx*8 + 0x10], eax
lea ecx, [ebx + ecx*8 + 0x10]
adc dword [ecx + 4], edx
jmp case.default.0x1011c1db
mov edx, dword [esp + 0x14]
mov dword [esp + 0x70], 0
mov eax, dword [ebp + 4]
shl eax, 4
add eax, dword [edx + 0x10]
xor ecx, ecx
mov dword [esp + 0x78], eax
cmp byte [ebp], 0x6f
setne cl
inc ecx
mov dword [esp + 0x74], ecx
mov eax, dword [eax + 4]
push ecx
lea ecx, [esp + 0x74]
push ecx
call fcn.10112970
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x78]
cdq
add esp, 8
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
jmp case.default.0x1011c1db
mov eax, dword [ebp + 4]
cmp eax, ecx
mov dword [esp + 0x70], eax
mov ecx, str.sqlite_temp_master
je 0x1012002a
mov ecx, str.sqlite_master
mov esi, dword [esp + 0x14]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x7c], esi
mov edx, dword [ebp + 4]
mov dword [esp + 0x84], edx
add edi, 0x38
mov dword [esp + 0x80], edi
mov edx, dword [ebp + 0x10]
push edx
push ecx
mov ecx, dword [esi + 0x10]
shl eax, 4
mov edx, dword [eax + ecx]
push edx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
call fcn.100fd5c0
add esp, 0x10
mov dword [esp + 0x78], eax
test eax, eax
jne 0x10120078
mov dword [esp + 0x10], 7
jmp 0x101200d7
push 0
lea eax, [esp + 0x80]
push eax
mov byte [esi + 0x89], 1
mov ecx, dword [esp + 0x80]
push fcn.10143ce0
push ecx
push esi
mov dword [esp + 0x9c], 0
call fcn.1013fa50
mov edi, eax
add esp, 0x14
mov dword [esp + 0x10], edi
test edi, edi
jne 0x101200c1
mov edx, dword [esp + 0x88]
mov dword [esp + 0x10], edx
mov edi, edx
mov eax, dword [esp + 0x78]
mov ecx, esi
call fcn.100fc0b0
mov byte [esi + 0x89], 0
test edi, edi
je 0x101200de
mov eax, esi
call fcn.1012f460
cmp dword [esp + 0x10], 7
je 0x1011d808
jmp case.default.0x1011c1db
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x14]
call fcn.1012d9b0
mov dword [esp + 0x10], eax
jmp case.default.0x1011c1db
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 4]
call fcn.1012fb20
add esp, 4
jmp case.default.0x1011c1db
mov ecx, dword [esp + 0x14]
mov eax, dword [ebp + 4]
push ecx
mov ecx, dword [ebp + 0x10]
call fcn.1012f140
add esp, 4
jmp case.default.0x1011c1db
mov edx, dword [ebp + 0x10]
mov eax, dword [esp + 0x14]
push edx
push eax
mov eax, dword [ebp + 4]
call fcn.1014ea40
add esp, 8
jmp case.default.0x1011c1db
mov eax, dword [ebp + 8]
mov esi, dword [esp + 0x14]
lea ecx, [eax*4 + 4]
mov dword [esp + 0x70], eax
call fcn.100fc2b0
mov dword [esp + 0x74], eax
test eax, eax
je 0x1011d808
mov ecx, dword [ebp + 0xc]
mov edx, dword [esp + 0x2c]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
mov dword [esp + 0x84], ecx
mov ecx, dword [ebp + 4]
lea ecx, [ecx + ecx*4]
lea esi, [edx + ecx*8]
xor ecx, ecx
cmp dword [esp + 0x70], ecx
mov dword [esp + 0x78], ecx
jle 0x101201c9
jmp 0x101201a0
lea edx, [ecx + ecx*4]
lea ecx, [esi + edx*8]
call fcn.10115960
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
mov dword [edx + ecx*4], eax
mov ecx, dword [esp + 0x78]
inc ecx
cmp ecx, dword [esp + 0x70]
mov dword [esp + 0x78], ecx
jl 0x101201a0
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0x14]
mov dword [eax + ecx*4], 0
mov ecx, dword [esp + 0x84]
mov edx, dword [ecx + 0x10]
mov ecx, dword [esp + 0x74]
lea eax, [esp + 0x7c]
push eax
mov eax, dword [esp + 0x74]
push edx
movzx edx, byte [ebp + 3]
push eax
mov eax, dword [edi + 0x10]
shl edx, 4
mov edx, dword [edx + eax + 4]
call fcn.10113b50
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x80]
add esp, 0xc
mov ecx, edi
call fcn.100fc0b0
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x84]
cdq
add ecx, 0x10
sub dword [ecx], eax
sbb dword [ecx + 4], edx
call fcn.10115b60
cmp dword [esp + 0x7c], 0
je 0x1012025b
mov eax, dword [esp + 0x80]
test eax, eax
je 0x1011d808
push 1
push 0xffffffffffffffff
push eax
mov eax, fcn.100fc010
mov ecx, esi
call fcn.10115ee0
add esp, 0xc
movzx ecx, byte [esp + 0x24]
mov eax, esi
call fcn.101154f0
jmp case.default.0x1011c1db
mov eax, dword [ebp + 4]
mov ebp, dword [ebp + 8]
lea ecx, [eax + eax*4]
lea edx, [ebp + ebp*4]
lea edi, [ebx + ecx*8]
lea esi, [ebx + edx*8]
mov bl, 0x20
test byte [edi + 0x1c], bl
jne 0x10120294
call fcn.10115ce0
test byte [edi + 0x1c], bl
je 0x1011d808
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
mov edi, dword [edi + 0x10]
push eax
push ecx
call fcn.10103f90
add esp, 8
jmp case.default.0x1011c1db
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
test byte [ebx + edx*8 + 0x1c], 0x20
lea edi, [ebx + edx*8]
je 0x101202ed
mov eax, dword [edi + 0x10]
lea esi, [esp + 0x70]
call fcn.10104290
test eax, eax
je 0x101202ed
mov eax, dword [esp + 0x74]
mov ebp, dword [ebp + 0xc]
mov ecx, dword [esp + 0x70]
push eax
lea edx, [ebp + ebp*4]
push ecx
lea esi, [ebx + edx*8]
call fcn.10115c10
add esp, 8
jmp 0x10121107
mov esi, edi
call fcn.10115b60
jmp 0x101210ff
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov eax, dword [ebp + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 0x10]
lea esi, [ebx + ecx*8]
mov bl, 0x20
mov dword [esp + 0x70], eax
test byte [edi + 0x1c], bl
jne 0x1012032b
call fcn.10115ce0
test byte [edi + 0x1c], bl
je 0x1011d808
mov eax, dword [esp + 0x70]
test eax, eax
je 0x10120370
jl 0x10120336
and eax, 0xf
jmp 0x1012033b
mov eax, 0xff
mov edx, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
push edx
push ecx
push eax
mov eax, dword [edi + 0x10]
call fcn.101042e0
add esp, 0xc
mov dword [esp + 0x74], eax
test eax, eax
je 0x10120364
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x18], ebp
jmp case.default.0x1011c1db
mov eax, dword [esp + 0x70]
test eax, eax
jl case.default.0x1011c1db
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
mov edi, dword [edi + 0x10]
push edx
push eax
call fcn.10103f90
add esp, 8
jmp case.default.0x1011c1db
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x88], ecx
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
lea ebx, [ebx + edx*8]
mov dword [esp + 0x78], ebx
cmp byte [ebp + 3], 0
je 0x101203d7
mov eax, dword [edi + 0xc0]
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x84], eax
test eax, eax
je 0x101203d7
cmp dword [eax + 0x18], edx
je case.default.0x1011c1db
mov eax, dword [eax + 4]
mov dword [esp + 0x84], eax
test eax, eax
jne 0x101203c0
mov eax, dword [edi + 0xc8]
mov edx, dword [esp + 0x14]
cmp eax, dword [edx + 0x80]
jl 0x1012040c
mov edi, dword [esp + 0x1c]
push str.too_many_levels_of_trigger_recursion
add edi, 0x38
mov eax, edx
mov dword [esp + 0x14], 1
call fcn.100fc460
add esp, 4
jmp case.default.0x1011c1db
test byte [ebx + 0x1c], 0x40
jne 0x1012058c
mov eax, dword [ecx + 8]
add eax, dword [ecx + 0xc]
mov dword [esp + 0x70], eax
mov edx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
lea eax, [eax + eax*4]
lea eax, [edx + eax*2]
lea edi, [ecx + eax*4 + 0x48]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x74], edi
call fcn.100fc290
mov dword [esp + 0x84], eax
test eax, eax
je 0x1011d808
mov edx, dword [esp + 0x78]
push edx
call fcn.101158c0
mov ecx, dword [esp + 0x7c]
mov eax, 0x40
mov word [ecx + 0x1c], ax
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x7c]
mov dword [eax + 0x10], edx
mov ecx, dword [esp + 0x88]
mov eax, dword [esp + 0x20]
mov dword [ecx], eax
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0x74]
mov dword [edx + 0x3c], ecx
mov edx, dword [esp + 0x8c]
mov ecx, dword [edx + 0xc]
mov edx, dword [esp + 0x88]
mov dword [edx + 0x40], ecx
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x1c]
mov dword [ecx + 0x2c], edx
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0x88]
mov dword [edx + 0xc], ecx
mov ecx, dword [eax + 0x18]
mov edx, dword [esp + 0x88]
mov dword [edx + 0x34], ecx
mov ecx, dword [eax + 0x44]
mov edx, dword [esp + 0x88]
mov dword [edx + 0x14], ecx
mov ecx, dword [eax + 0x30]
mov edx, dword [esp + 0x88]
mov dword [edx + 0x28], ecx
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x88]
mov dword [edx + 8], ecx
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 0x88]
mov dword [edx + 0x30], ecx
mov ecx, dword [esp + 0x8c]
mov edx, dword [ecx + 0x14]
mov ecx, dword [esp + 0x88]
mov dword [ecx + 0x18], edx
mov edx, dword [eax + 0xd8]
mov ecx, dword [esp + 0x88]
mov dword [ecx + 0x10], edx
mov edx, dword [eax + 0xd4]
mov ecx, dword [esp + 0x88]
mov dword [ecx + 0x38], edx
mov ecx, dword [esp + 0x88]
mov edx, dword [ecx + 0x3c]
lea edx, [edx + edx*4]
lea esi, [ecx + edx*8 + 0x48]
lea edx, [ecx + 0x48]
add esp, 4
mov dword [esp + 0x80], esi
mov dword [esp + 0x7c], edx
cmp edx, esi
je 0x1012059a
mov ecx, dword [esp + 0x14]
lea ebx, [ebx]
mov esi, 0x80
mov word [edx + 0x1c], si
mov edx, dword [esp + 0x7c]
mov dword [edx], ecx
mov edx, dword [esp + 0x7c]
add edx, 0x28
mov dword [esp + 0x7c], edx
cmp edx, dword [esp + 0x80]
jne 0x10120560
mov ecx, dword [esp + 0x84]
jmp 0x1012059a
mov ecx, dword [ebx + 0x10]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x84], ecx
inc dword [eax + 0xc8]
mov edx, dword [eax + 0xc0]
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x38]
mov dword [ecx + 0x20], edx
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x3c]
mov dword [ecx + 0x24], edx
mov ecx, dword [eax + 0x68]
mov edx, dword [esp + 0x84]
mov dword [edx + 0x44], ecx
mov ecx, dword [esp + 0x84]
lea edx, [ecx + 0x20]
mov dword [eax + 0xc0], ecx
mov dword [eax + 8], edx
mov dword [eax + 0x68], 0
mov esi, dword [ecx + 0x3c]
mov dword [eax + 0x18], esi
movzx ecx, word [ecx + 0x40]
mov dword [eax + 0x30], ecx
mov ecx, esi
inc ecx
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x88]
mov dword [eax + 0x44], ecx
mov esi, dword [edx]
mov dword [eax + 4], esi
mov dword [esp + 0x58], esi
mov esi, dword [edx + 4]
mov dword [eax + 0x1c], esi
mov esi, dword [eax + 0x30]
lea ecx, [ecx + esi*4]
mov dword [eax + 0xd8], ecx
mov edx, dword [edx + 0x10]
push edx
push 0
push ecx
mov dword [eax + 0xd4], edx
mov dword [esp + 0x24], 0xffffffff
call fcn.101845c0
add esp, 0xc
jmp case.default.0x1011c1db
mov edi, dword [edi + 0xc0]
mov dword [esp + 0x70], edi
mov eax, dword [edi + 0x2c]
lea edx, [eax + eax*4]
mov eax, dword [edi + 8]
mov eax, dword [eax + edx*4 + 4]
add eax, dword [ebp + 4]
mov edx, dword [edi + 0xc]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
push 0x1000
push eax
mov ebx, esi
mov dword [esp + 0x7c], eax
call fcn.10115dd0
add esp, 8
jmp case.default.0x1011c1db
mov ecx, dword [esp + 0x14]
test dword [ecx + 0x18], 0x1000000
mov eax, dword [ebp + 8]
cdq
je 0x101206ab
add dword [ecx + 0x1f8], eax
adc dword [ecx + 0x1fc], edx
jmp case.default.0x1011c1db
cmp dword [ebp + 4], 0
je 0x101206c2
add dword [ecx + 0x1f0], eax
adc dword [ecx + 0x1f4], edx
jmp case.default.0x1011c1db
add dword [edi + 0xa0], eax
adc dword [edi + 0xa4], edx
jmp case.default.0x1011c1db
cmp dword [ebp + 4], 0
je 0x1012070f
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x1f0]
or edx, dword [eax + 0x1f4]
jne case.default.0x1011c1db
mov edx, dword [eax + 0x1f8]
or edx, dword [eax + 0x1fc]
jne case.default.0x1011c1db
mov ebp, dword [ebp + 8]
sub ebp, ecx
mov dword [esp + 0x18], ebp
jmp case.default.0x1011c1db
mov eax, dword [edi + 0xa0]
or eax, dword [edi + 0xa4]
jne case.default.0x1011c1db
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x1f8]
or edx, dword [eax + 0x1fc]
jne case.default.0x1011c1db
mov ebp, dword [ebp + 8]
sub ebp, ecx
mov dword [esp + 0x18], ebp
jmp case.default.0x1011c1db
mov edi, dword [edi + 0xc0]
test edi, edi
je 0x1012077b
mov ecx, edi
mov dword [esp + 0x74], ecx
mov eax, dword [ecx + 4]
test eax, eax
je 0x1012076d
lea esp, [esp]
mov ecx, eax
mov dword [esp + 0x74], ecx
mov eax, dword [ecx + 4]
test eax, eax
jne 0x10120760
mov eax, dword [ebp + 4]
mov ecx, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
jmp 0x10120784
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
lea esi, [ebx + edx*8]
mov dword [esp + 0x70], esi
call fcn.10115a80
mov ebp, dword [ebp + 8]
lea eax, [ebp + ebp*4]
lea esi, [ebx + eax*8]
call fcn.10115a80
mov eax, dword [esp + 0x70]
mov ecx, dword [esi + 0x10]
mov esi, dword [esi + 0x14]
mov edx, dword [eax + 0x14]
add eax, 0x10
cmp edx, esi
jg case.default.0x1011c1db
jl 0x101207c0
mov edx, dword [eax]
cmp edx, ecx
jae case.default.0x1011c1db
mov dword [eax], ecx
mov dword [eax + 4], esi
jmp case.default.0x1011c1db
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
cmp dword [ebx + eax*8 + 0x14], 0
jl case.default.0x1011c1db
jg 0x101207e8
cmp dword [ebx + eax*8 + 0x10], 0
jbe case.default.0x1011c1db
mov ebp, dword [ebp + 8]
sub ebp, ecx
mov dword [esp + 0x18], ebp
jmp case.default.0x1011c1db
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
cmp dword [ebx + eax*8 + 0x14], 0
jg case.default.0x1011c1db
jl 0x10120814
cmp dword [ebx + eax*8 + 0x10], 0
jae case.default.0x1011c1db
mov ebp, dword [ebp + 8]
sub ebp, ecx
mov dword [esp + 0x18], ebp
jmp case.default.0x1011c1db
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
mov eax, dword [ebp + 0xc]
cdq
add dword [ebx + 0x10], eax
adc dword [ebx + 0x14], edx
mov edx, dword [ebx + 0x10]
or edx, dword [ebx + 0x14]
jne case.default.0x1011c1db
mov ebp, dword [ebp + 8]
sub ebp, ecx
mov dword [esp + 0x18], ebp
jmp case.default.0x1011c1db
movzx ecx, byte [ebp + 3]
mov edx, dword [edi + 0xc]
mov dword [esp + 0x70], ecx
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
xor eax, eax
mov dword [esp + 0x7c], ebx
mov dword [esp + 0xc8], edx
mov dword [esp + 0x74], eax
test ecx, ecx
jle 0x101208a5
mov ecx, dword [esp + 0xc8]
mov dword [ecx + eax*4], ebx
mov ecx, dword [esp + 0x7c]
call fcn.1011be80
mov eax, dword [esp + 0x74]
mov ebx, dword [esp + 0x7c]
inc eax
add ebx, 0x28
cmp eax, dword [esp + 0x70]
mov dword [esp + 0x74], eax
mov dword [esp + 0x7c], ebx
jl 0x10120878
mov edx, dword [ebp + 0x10]
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x80], edx
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
xor edi, edi
mov dword [esp + 0x78], eax
mov dword [esp + 0xb0], eax
inc dword [eax + 0x18]
mov eax, dword [esp + 0x80]
mov edx, 1
mov word [esp + 0xa4], dx
mov dword [esp + 0x8c], edi
mov dword [esp + 0xac], edi
mov dword [esp + 0xa8], edi
mov dword [esp + 0x88], esi
mov dword [esp + 0xc0], edi
mov dword [esp + 0xb4], edi
mov byte [esp + 0xc4], 0
test byte [eax + 2], 0x20
je 0x10120926
mov ecx, dword [ebp - 4]
mov dword [esp + 0xb4], ecx
mov edx, dword [esp + 0xc8]
mov ecx, dword [esp + 0x70]
mov eax, dword [eax + 0x10]
push edx
push ecx
lea edx, [esp + 0x88]
push edx
call eax
add esp, 0xc
cmp dword [esp + 0xc0], edi
je 0x1012097e
mov bl, 1
lea edi, [esp + 0x88]
call fcn.10116440
mov edi, dword [esp + 0x1c]
push eax
push 0x101dda8c
add edi, 0x38
mov eax, esi
call fcn.100fc460
mov ecx, dword [esp + 0xc8]
add esp, 8
mov dword [esp + 0x10], ecx
xor edi, edi
cmp byte [esp + 0xc4], 0
je 0x101209aa
mov ebp, dword [ebp - 0x10]
mov dword [esp + 0x74], ebp
cmp ebp, edi
je 0x101209aa
mov eax, dword [esp + 0x2c]
lea edx, [ebp + ebp*4]
push 0
push 1
lea esi, [eax + edx*8]
call fcn.10115c10
add esp, 8
lea ecx, [esp + 0x88]
push ecx
call fcn.101158c0
add esp, 4
jmp case.default.0x1011c1db
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
lea ebx, [ebx + edx*8]
mov dword [esp + 0x70], ebx
mov eax, dword [ebp + 0x10]
mov ecx, ebx
call fcn.101157e0
mov dword [esp + 0x10], eax
test eax, eax
je 0x10120a02
mov edi, dword [esp + 0x70]
mov bl, 1
call fcn.10116440
mov edi, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x18]
push 0x101dda8c
add edi, 0x38
call fcn.100fc460
add esp, 8
movzx ecx, byte [esp + 0x24]
mov eax, dword [esp + 0x70]
call fcn.101154f0
mov ecx, dword [esp + 0x70]
call fcn.10115da0
test eax, eax
jne 0x1011cdd3
jmp case.default.0x1011c1db
mov esi, dword [esp + 0x14]
or eax, 0xffffffff
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], eax
xor edi, edi
mov dword [esp + 0x74], edi
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 4]
lea eax, [esp + 0x7c]
push eax
push ecx
push edx
lea ecx, [esp + 0x84]
call fcn.10160b80
add esp, 0xc
mov dword [esp + 0x10], eax
cmp eax, 5
jne 0x10120a6c
mov dword [esp + 0x10], edi
mov dword [esp + 0x74], 1
xor eax, eax
mov dword [esp + 0x70], eax
mov ebp, dword [ebp + 0xc]
lea ecx, [ebp + ebp*4]
lea ebx, [ebx + ecx*8]
mov dword [esp + 0x80], ebx
mov eax, dword [esp + eax*4 + 0x74]
cdq
push edx
push eax
mov esi, ebx
call fcn.10115c10
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x88]
inc eax
add ebx, 0x28
add esp, 8
cmp eax, 3
mov dword [esp + 0x70], eax
mov dword [esp + 0x80], ebx
jl 0x10120a83
jmp case.default.0x1011c1db
mov edx, dword [ebp + 0xc]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x78], edx
mov eax, dword [ebp + 4]
mov ecx, dword [ecx + 0x10]
shl eax, 4
mov eax, dword [eax + ecx + 4]
mov dword [esp + 0x70], eax
mov eax, dword [eax + 4]
mov esi, dword [eax]
mov dword [esp + 0x74], esi
movzx edi, byte [esi + 5]
mov dword [esp + 0x7c], edi
cmp edx, 0xffffffff
jne 0x10120af0
mov edx, edi
mov dword [esp + 0x78], edx
cmp byte [esi + 0xf], 3
jae 0x10120b0c
mov ecx, dword [esi + 0x40]
cmp dword [ecx], 0
je 0x10120b12
cmp dword [esi + 0x4c], 0
jl 0x10120b12
jg 0x10120b0c
cmp dword [esi + 0x48], 0
jbe 0x10120b12
mov edx, edi
mov dword [esp + 0x78], edx
cmp byte [esi + 0xe], 0
mov ecx, 0x101db5c4
jne 0x10120b23
mov ecx, dword [esi + 0xa8]
mov dword [esp + 0x80], ecx
cmp edx, 5
jne 0x10120b4e
call fcn.100fe020
test eax, eax
je 0x10120b43
mov eax, esi
call fcn.10108980
test eax, eax
jne 0x10120b4e
mov edx, edi
mov dword [esp + 0x78], edx
jmp 0x10120c0e
cmp edx, edi
je 0x10120c0e
cmp edi, 5
je 0x10120b64
cmp edx, 5
jne 0x10120c0e
mov eax, dword [esp + 0x14]
cmp byte [eax + 0x3e], 0
je 0x10120bd1
cmp dword [eax + 0x90], 1
jg 0x10120bd1
cmp edi, 5
jne 0x10120b95
mov eax, esi
call fcn.10108ad0
mov dword [esp + 0x10], eax
test eax, eax
jne 0x10120bc7
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x74]
jmp 0x10120b9f
cmp edi, 4
jne 0x10120ba8
lea ecx, [edi - 2]
mov eax, esi
call fcn.101087d0
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x70]
xor eax, eax
cmp edx, 5
sete al
inc eax
push eax
push ecx
call fcn.101142a0
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
je 0x10120c06
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x78], edx
jmp 0x10120c0a
mov dword [esp + 0x10], 1
mov eax, str.into
cmp edx, 5
je 0x10120be8
mov eax, str.out_of
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
add edi, 0x38
call fcn.100fc460
add esp, 8
jmp case.default.0x1011c1db
mov edx, dword [esp + 0x78]
mov esi, dword [esp + 0x74]
mov ecx, edx
mov eax, esi
call fcn.101087d0
mov dword [esp + 0x78], eax
mov ebp, dword [ebp + 8]
lea edx, [ebp + ebp*4]
lea ebx, [ebx + edx*8]
mov eax, 0xa02
mov word [ebx + 0x1c], ax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x20], ebx
cmp eax, 6
jne 0x10120c3f
xor ecx, ecx
jmp 0x10120c46
mov ecx, dword [eax*4 + 0x101bcfb4]
mov dword [ebx + 4], ecx
call fcn.100fe020
movzx ecx, byte [esp + 0x24]
mov dword [ebx + 0x18], eax
mov eax, ebx
mov byte [ebx + 0x1f], 1
call fcn.101154f0
jmp case.default.0x1011c1db
mov ecx, dword [esp + 0x14]
push ecx
lea eax, [edi + 0x38]
call fcn.101514c0
add esp, 4
mov dword [esp + 0x10], eax
jmp case.default.0x1011c1db
mov edx, dword [ebp + 4]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x10]
shl edx, 4
mov eax, dword [edx + ecx + 4]
push eax
mov dword [esp + 0x74], eax
call fcn.1010e250
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, 0x65
jne case.default.0x1011c1db
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x10], 0
jmp case.default.0x1011c1db
cmp dword [ebp + 4], 0
jne 0x10120cd3
mov eax, dword [esp + 0x14]
call fcn.10119f80
jmp case.default.0x1011c1db
or dword [edi + 0x64], 0x20
jmp case.default.0x1011c1db
mov cl, byte [ebp + 0xc]
test cl, cl
jne 0x10120cf4
mov edx, dword [esp + 0x14]
test dword [edx + 0x18], 0x4000
jne case.default.0x1011c1db
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 4]
push edx
mov edx, dword [esp + 0x18]
mov edx, dword [edx + 0x10]
shl eax, 4
mov esi, dword [eax + edx + 4]
call fcn.101141d0
add esp, 4
mov dword [esp + 0x10], eax
cmp al, 6
jne case.default.0x1011c1db
mov eax, dword [ebp + 0x10]
push eax
push str.database_table_is_locked:__s
jmp 0x10120bee
mov edi, dword [ebp + 0x10]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x70], edi
call fcn.10152c90
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x70]
test eax, eax
je case.default.0x1011c1db
mov esi, dword [eax + 8]
mov edi, dword [esp + 0x1c]
call fcn.1011a010
jmp case.default.0x1011c1db
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 4]
add edi, 0x38
push edi
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.10152720
add esp, 8
mov dword [esp + 0x10], eax
jmp case.default.0x1011c1db
mov edx, dword [edi + 0x64]
mov ecx, dword [esp + 0x14]
and edx, 0xfffffffb
or edx, 8
mov dword [edi + 0x64], edx
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 4]
call fcn.101529e0
add esp, 4
and dword [edi + 0x64], 0xfffffff3
mov dword [esp + 0x10], eax
jmp case.default.0x1011c1db
xor eax, eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 8]
mov dword [esp + 0x78], eax
mov ecx, dword [eax]
lea edx, [esp + 0x74]
push edx
mov dword [esp + 0x80], ecx
push eax
mov eax, dword [ecx + 0x18]
call eax
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 0x24]
mov ebx, eax
add esp, 8
mov dword [esp + 0x10], ebx
call fcn.1011a010
test ebx, ebx
jne case.default.0x1011c1db
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
push ebx
push 0xffffffffffffffff
mov dword [edx], ecx
mov eax, dword [ebp + 4]
push ebx
push eax
mov eax, edi
call fcn.1011beb0
add esp, 0x10
mov dword [esp + 0x70], eax
test eax, eax
je 0x10120e30
mov ecx, dword [esp + 0x74]
mov dword [eax + 0x24], ecx
mov edx, dword [esp + 0x74]
mov eax, dword [edx]
mov ecx, dword [eax]
mov edx, dword [esp + 0x70]
mov dword [edx + 0x28], ecx
jmp case.default.0x1011c1db
mov eax, dword [esp + 0x14]
mov byte [eax + 0x40], 1
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x7c]
mov eax, dword [edx + 0x1c]
push ecx
call eax
add esp, 4
jmp case.default.0x1011c1db
mov eax, dword [ebp + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x44]
mov edi, dword [edi + 0xc]
lea ebx, [ebx + ecx*8]
mov dword [esp + 0x7c], ebx
lea esi, [ebx + 0x28]
mov dword [esp + 0x80], esi
mov edx, dword [ebp + 4]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x8c], eax
mov edx, dword [eax + 0x24]
mov dword [esp + 0x84], edx
mov eax, dword [edx]
mov dword [esp + 0x88], eax
mov ecx, dword [eax]
mov dword [esp + 0x78], ecx
mov ecx, dword [esi + 0x10]
mov dword [esp + 0x70], ecx
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x74], eax
xor eax, eax
cmp ecx, eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x98], edi
mov dword [esp + 0x94], eax
jle 0x10120f0c
jmp 0x10120ec7
mov esi, dword [esp + 0x80]
lea ecx, [eax + eax*4 + 5]
lea edx, [esi + ecx*8]
mov ecx, dword [esp + 0x98]
mov dword [ecx + eax*4], edx
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0x98]
mov ecx, dword [eax + edx*4]
call fcn.1011be80
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x70]
inc eax
cmp eax, ecx
mov dword [esp + 0x94], eax
jl 0x10120ec0
mov edx, dword [esp + 0x84]
mov edi, dword [esp + 0x1c]
mov eax, dword [edi + 0x64]
and eax, 0xfffffff7
or eax, 4
mov dword [edi + 0x64], eax
mov eax, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0x78]
push ecx
mov ecx, dword [ebp + 0x10]
push ecx
mov ecx, dword [esp + 0x84]
push eax
push edx
mov edx, dword [ecx + 0x20]
call edx
mov esi, dword [esp + 0x9c]
and dword [edi + 0x64], 0xfffffff3
mov ebx, eax
add esp, 0x14
mov dword [esp + 0x10], ebx
call fcn.1011a010
test ebx, ebx
jne 0x10120f73
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + 0x28]
push eax
call edx
add esp, 4
mov dword [esp + 0x90], eax
cmp dword [esp + 0x90], 0
je 0x10120f85
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x18], ebp
mov eax, dword [esp + 0x8c]
mov byte [eax + 0x1c], 0
jmp case.default.0x1011c1db
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 4]
mov edx, dword [edi + 0x44]
mov edi, dword [edx + ecx*4]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov dword [esp + 0x78], esi
cmp byte [edi + 0x1c], 0
je 0x10120fbb
call fcn.10115b60
jmp case.default.0x1011c1db
mov ecx, dword [edi + 0x24]
mov eax, dword [ecx]
mov dword [esp + 0x70], eax
mov edx, dword [eax]
push 0x48
lea eax, [esp + 0x84]
push 0
push eax
mov dword [esp + 0x80], edx
call fcn.101845c0
mov ebx, dword [esp + 0x84]
add esp, 0xc
lea eax, [esp + 0x88]
call fcn.10115e90
mov ecx, dword [esp + 0xa4]
and ecx, 0xbe01
or ecx, 1
mov word [esp + 0xa4], cx
mov edx, dword [ebp + 8]
mov ecx, dword [edi + 0x24]
push edx
mov edx, dword [esp + 0x78]
lea eax, [esp + 0x84]
push eax
mov eax, dword [edx + 0x2c]
push ecx
call eax
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x28]
add esp, 0xc
mov dword [esp + 0x10], eax
call fcn.1011a010
mov eax, dword [esp + 0xc0]
test eax, eax
je 0x10121048
mov dword [esp + 0x10], eax
movzx ecx, byte [esp + 0x24]
lea eax, [esp + 0x88]
call fcn.101154f0
mov eax, dword [esp + 0x78]
lea ebx, [esp + 0x88]
call fcn.10115e90
mov ecx, dword [esp + 0x78]
call fcn.10115da0
test eax, eax
jne 0x1011cdd3
jmp case.default.0x1011c1db
mov edx, dword [edi + 0x44]
mov dword [esp + 0x78], 0
mov ecx, dword [ebp + 4]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x7c], eax
cmp byte [eax + 0x1c], 0
jne case.default.0x1011c1db
mov ecx, dword [eax + 0x24]
mov ecx, dword [ecx]
mov edi, dword [esp + 0x1c]
mov edx, dword [edi + 0x64]
mov dword [esp + 0x70], ecx
mov ecx, dword [ecx]
and edx, 0xfffffff7
or edx, 4
mov dword [esp + 0x74], ecx
mov dword [edi + 0x64], edx
mov eax, dword [eax + 0x24]
mov ecx, dword [ecx + 0x24]
push eax
call ecx
mov esi, dword [esp + 0x74]
and dword [edi + 0x64], 0xfffffff3
mov ebx, eax
add esp, 4
mov dword [esp + 0x10], ebx
call fcn.1011a010
test ebx, ebx
jne 0x101210f8
mov edx, dword [esp + 0x7c]
mov eax, dword [edx + 0x24]
mov ecx, dword [esp + 0x74]
mov edx, dword [ecx + 0x28]
push eax
call edx
add esp, 4
mov dword [esp + 0x78], eax
cmp dword [esp + 0x78], 0
jne 0x10121107
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x18], ebp
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xe8]
test ecx, ecx
jne 0x101215f5
mov edx, eax
mov eax, dword [edx + 0x11c]
test eax, eax
je case.default.0x1011c1db
mov ecx, dword [esp + 0x4c]
cmp dword [esp + 0x48], ecx
jb case.default.0x1011c1db
mov esi, edx
mov edx, dword [esi + 0x120]
push edx
call eax
add esp, 4
test eax, eax
jne 0x10121631
cmp dword [esi + 0x11c], eax
je case.default.0x1011c1db
mov eax, esi
mov ecx, dword [eax + 0x124]
mov esi, dword [esp + 0x48]
xor edx, edx
mov eax, esi
div ecx
sub ecx, edx
add ecx, esi
mov dword [esp + 0x4c], ecx
jmp case.default.0x1011c1db
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 8]
mov dword [esp + 0x70], edx
mov ebp, dword [ebp + 4]
lea eax, [ebp + ebp*4]
lea ebx, [ebx + eax*8]
mov ecx, 1
mov eax, ebx
mov dword [esp + 0x74], ebx
call fcn.101154f0
mov dword [esp + 0x10], eax
test eax, eax
jne case.default.0x1011c1db
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
mov edx, dword [edx + 4]
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x4c]
call eax
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x24]
add esp, 8
mov dword [esp + 0x10], eax
call fcn.1011a010
and dword [edi + 0x64], 0xffffffdf
jmp case.default.0x1011c1db
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 8]
mov dword [esp + 0x70], eax
mov eax, dword [eax]
mov dword [esp + 0x74], eax
mov ecx, dword [ebp + 8]
mov dword [esp + 0x78], ecx
cmp dword [eax + 0x34], 0
je case.default.0x1011c1db
mov edx, dword [esp + 0x14]
mov al, byte [edx + 0x44]
mov edx, dword [edi + 0xc]
mov byte [esp + 0x47], al
mov dword [esp + 0x88], edx
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x7c], 0
test ecx, ecx
jle 0x1012126c
jmp 0x10121230
mov ecx, ebx
call fcn.1011be80
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x88]
mov dword [eax + edx*4], ecx
mov eax, dword [esp + 0x7c]
mov ebx, dword [esp + 0x8c]
inc eax
add ebx, 0x28
cmp eax, dword [esp + 0x78]
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x7c], eax
jl 0x10121230
mov cl, byte [ebp + 3]
mov ebx, dword [esp + 0x14]
mov byte [ebx + 0x44], cl
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x78]
lea edx, [esp + 0x80]
push edx
mov edx, dword [esp + 0x74]
push eax
mov eax, dword [esp + 0x7c]
push ecx
mov ecx, dword [eax + 0x34]
push edx
call ecx
mov dl, byte [esp + 0x57]
mov edi, dword [esp + 0x2c]
mov byte [ebx + 0x44], dl
mov esi, dword [esp + 0x80]
add esp, 0x10
mov dword [esp + 0x10], eax
call fcn.1011a010
mov ecx, dword [esp + 0x10]
test ecx, ecx
jne 0x101212e7
cmp dword [ebp + 4], ecx
je 0x101212e7
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
mov dword [esp + 0x38], eax
mov dword [ebx + 0x20], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x3c], edx
mov dword [ebx + 0x24], eax
cmp cl, 0x13
jne 0x1011f806
mov ecx, dword [ebp + 0x10]
cmp byte [ecx + 0x10], 0
je 0x1011f806
mov al, byte [ebp + 3]
cmp al, 4
jne 0x10121311
mov dword [esp + 0x10], 0
jmp case.default.0x1011c1db
cmp al, 5
jne 0x10121322
mov eax, 2
mov byte [edi + 0x60], al
jmp case.default.0x1011c1db
movzx eax, al
mov byte [edi + 0x60], al
jmp case.default.0x1011c1db
mov edx, dword [ebp + 4]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x10]
shl edx, 4
mov edx, dword [edx + ecx + 4]
mov eax, dword [edx + 4]
mov ecx, dword [eax + 0x2c]
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], 0
jmp case.default.0x1011c1db
mov eax, dword [esp + 0x14]
mov edx, dword [ebp + 4]
mov ecx, dword [eax + 0x10]
mov ebp, dword [ebp + 0xc]
shl edx, 4
mov ecx, dword [edx + ecx + 4]
xor eax, eax
test ebp, ebp
je 0x10121379
mov edx, dword [ecx + 4]
mov eax, dword [edx + 0x2c]
cmp eax, ebp
jae 0x10121379
mov eax, ebp
call fcn.1010d250
cdq
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
jmp case.default.0x1011c1db
mov eax, dword [esp + 0x14]
cmp dword [eax + 0xa4], 0
je case.default.0x1011c1db
test dword [edi + 0x64], 0x800
jne case.default.0x1011c1db
mov ebp, dword [ebp + 0x10]
mov eax, ebp
test ebp, ebp
jne 0x101213ac
mov eax, dword [edi + 0xb8]
mov dword [esp + 0x70], eax
test eax, eax
je case.default.0x1011c1db
push eax
mov ecx, edi
call fcn.1011bba0
mov esi, dword [esp + 0x18]
add esp, 4
mov dword [esp + 0x74], eax
mov ecx, dword [esi + 0xa8]
mov edx, dword [esi + 0xa4]
push eax
push ecx
call edx
mov eax, dword [esp + 0x7c]
add esp, 8
mov ecx, esi
call fcn.100fc0b0
inc dword [esp + 0x18]
cmp dword [esp + 0x10], 0
mov edi, dword [esp + 0x1c]
jne 0x1012163d
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x14]
jmp 0x1011c170
mov ecx, dword [ebp + 4]
mov dword [edi + 0x5c], ecx
mov dl, byte [ebp + 8]
mov byte [edi + 0x60], dl
mov dword [edi + 0x58], eax
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x1012145a
mov esi, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x18]
push 0x101dda8c
lea edi, [esi + 0x38]
call fcn.100fc460
mov eax, dword [ebp + 0x10]
mov ecx, dword [esi + 0xb8]
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [ebp + 4]
push ecx
push edx
push str.abort_at__d_in___s_:__s
push eax
call fcn.100fd7d0
add esp, 0x1c
mov edi, esi
jmp 0x1012147b
test ecx, ecx
je 0x1012147b
mov ecx, dword [edi + 0xb8]
mov edx, dword [esp + 0x18]
mov eax, dword [ebp + 4]
push ecx
push edx
push str.constraint_failed_at__d_in___s_
push eax
call fcn.100fd7d0
add esp, 0x10
mov eax, edi
call fcn.10118be0
mov esi, 5
cmp eax, esi
jne 0x101214eb
mov dword [edi + 0x5c], esi
jmp 0x101216b2
lea eax, [esp + 0x80]
push eax
call fcn.101158c0
add esp, 4
jmp 0x1011d808
mov dword [esp + 0x10], 0x14
jmp 0x1012158b
mov ecx, dword [esp + 0x18]
mov dword [edi + 0x58], ecx
mov byte [esi + 0x3e], 0
mov esi, 5
mov dword [edi + 0x5c], esi
jmp 0x101216b2
test ebp, ebp
je 0x101214fd
mov esi, dword [esp + 0x14]
push 0x204
call fcn.101600e0
add esp, 4
mov byte [esi + 0x3e], 1
call fcn.1015f930
mov esi, dword [edi + 0x5c]
neg esi
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
jmp 0x101216b2
push 1
mov esi, edi
call fcn.10118b70
mov esi, eax
add esp, 4
test esi, esi
jne 0x101216b2
mov dl, byte [esp + 0x70]
mov esi, dword [esp + 0x14]
mov eax, edi
mov byte [esi + 0x3e], dl
call fcn.10118be0
cmp eax, 5
jne 0x101214e6
mov eax, dword [esp + 0x18]
mov cl, 1
sub cl, byte [esp + 0x70]
mov dword [edi + 0x58], eax
mov byte [esi + 0x3e], cl
mov esi, 5
mov dword [edi + 0x5c], esi
jmp 0x101216b2
mov dword [esp + 0x10], 8
jmp 0x1012158b
mov edx, dword [esp + 0x18]
mov esi, 5
mov dword [edi + 0x58], edx
mov dword [edi + 0x5c], esi
jmp 0x101216b2
mov eax, 0x10f17
call fcn.10161e80
mov dword [esp + 0x10], eax
jmp 0x1012158b
mov dword [esp + 0x10], 0xd
jmp 0x1012158b
mov dword [esp + 0x10], 0xd
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
cmp byte [eax + 0x40], 0
je 0x101215ad
mov dword [esp + 0x10], 7
mov ecx, dword [esp + 0x10]
mov eax, str.unknown_error
call fcn.101601d0
jmp 0x101215da
cmp dword [esp + 0x10], 0xc0a
je 0x1012163d
cmp dword [esp + 0x10], 0x204
je 0x101215d5
mov ecx, dword [esp + 0x10]
mov eax, str.unknown_error
call fcn.101601d0
jmp 0x101215da
mov eax, str.abort_due_to_ROLLBACK
mov edi, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x18]
push 0x101dda8c
add edi, 0x38
call fcn.100fc460
add esp, 8
jmp 0x10121639
mov ecx, dword [esp + 0x1c]
mov eax, 9
mov dword [ecx + 0x5c], eax
mov ecx, dword [str.interrupted]
mov dword [esp + 0x10], eax
mov eax, str.unknown_error
test ecx, ecx
je 0x10121616
mov eax, ecx
mov edi, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x18]
push 0x101dda8c
add edi, 0x38
call fcn.100fc460
add esp, 8
jmp 0x10121639
mov dword [esp + 0x10], 9
mov edi, dword [esp + 0x1c]
mov edx, dword [edi + 0x38]
mov eax, dword [edi + 0xb8]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
push edx
push eax
push ecx
push str.statement_aborts_at__d:___s___s
push esi
mov dword [edi + 0x5c], esi
call fcn.100fd7d0
add esp, 0x14
mov eax, edi
call fcn.10118be0
mov ebp, dword [esp + 0x14]
cmp esi, 0xc0a
jne 0x10121679
mov byte [ebp + 0x40], 1
mov al, byte [esp + 0x33]
mov esi, 1
test al, al
jbe 0x101216b2
movzx ebx, al
mov eax, dword [ebp + 0x10]
dec ebx
mov edx, ebx
shl edx, 4
mov ecx, dword [edx + eax + 0xc]
push ecx
call fcn.10134e40
add esp, 4
cmp ebx, esi
je 0x101216b2
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x1c]
push eax
call fcn.10134e40
add esp, 4
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], edx
mov eax, dword [esp + 0x48]
add dword [edi + 0x88], eax
push edi
call fcn.101175f0
mov ecx, dword [esp + 0x140]
add esp, 4
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1017e01c
add esp, 0x134
ret