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

Disassembly:
sub esp, 0xa8
mov eax, dword [0x6d6ec0]
xor eax, esp
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xb8]
push ebx
mov ebx, dword [esp + 0xb4]
push ebp
mov ebp, dword [esp + 0xb4]
push esi
push edi
mov edi, dword [esp + 0xc4]
mov esi, dword [ebp + 8]
mov dword [esp + 0x68], eax
mov eax, dword [ebp]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x24], edi
mov dword [esp + 0x10], eax
mov dword [esp + 0x40], esi
test esi, esi
je 0x5c0a7b
mov dword [esp + 0x88], esi
jmp 0x5c0aac
cmp dword [ebp + 0x80], 0
jne 0x5c0a8e
test byte [eax + 0x50], 8
jne 0x5c0a8e
mov byte [ebp + 0x17], 1
push ebp
call fcn.005d3190
mov esi, eax
add esp, 4
mov dword [esp + 0x40], esi
mov dword [esp + 0x88], esi
test esi, esi
je 0x5c0e25
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x5c0aca
push 0
push 1
push 1
push 0xa6
push esi
call fcn.005815b0
add esp, 0x14
jmp 0x5c0afd
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xa6
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebp]
mov dword [ebp + 0x2c], 2
cmp dword [edi + 4], 0
jbe 0x5c0b4e
cmp byte [eax + 0xb1], 0
je 0x5c0b26
push str.corrupt_database
push ebp
call fcn.005abd70
jmp 0x5c0e22
push ebx
push eax
call fcn.005b1980
mov ecx, eax
add esp, 8
mov dword [esp + 0x38], ecx
test ecx, ecx
jns 0x5c0b5b
push ebx
push str.unknown_database__T
push ebp
call fcn.005abd70
add esp, 0xc
jmp 0x5c0e25
movzx ecx, byte [eax + 0xb0]
mov dword [esp + 0x38], ecx
jmp 0x5c0b5d
mov ebx, edi
test ecx, ecx
js 0x5c0e25
mov eax, dword [esp + 0x10]
mov ebp, ecx
shl ebp, 4
add ebp, dword [eax + 0x10]
mov dword [esp + 0x80], ebp
cmp ecx, 1
jne 0x5c0b91
push dword [esp + 0x14]
call fcn.005bddc0
add esp, 4
test eax, eax
jne 0x5c0e25
push ebx
mov ebx, dword [esp + 0x14]
push ebx
call fcn.005bd710
add esp, 8
mov dword [esp + 0x34], eax
test eax, eax
je 0x5c0e25
cmp dword [esp + 0xcc], 0
push dword [esp + 0x68]
je 0x5c0bc9
push 0x691c90
push ebx
call fcn.005bcc60
add esp, 0xc
jmp 0x5c0bd2
push ebx
call fcn.005bd710
add esp, 8
cmp dword [edi + 4], 0
mov dword [esp + 0x18], eax
jbe 0x5c0be1
mov ebx, dword [ebp]
jmp 0x5c0be3
xor ebx, ebx
push ebx
push eax
push dword [esp + 0x3c]
mov dword [esp + 0x28], ebx
push 0x13
push dword [esp + 0x24]
call fcn.005a05a0
add esp, 0x14
test eax, eax
jne 0x5c0dff
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], 0
mov eax, dword [ecx + 0xc]
mov dword [ecx + 0x1c8], 0
mov dword [esp + 0x2c], 1
test eax, eax
je 0x5c0c56
push eax
call dword [0x6d4c88]
mov ecx, dword [esp + 0x14]
add esp, 4
test ebx, ebx
je 0x5c0c6f
push ebx
push ecx
call fcn.005b1a00
mov ebx, eax
add esp, 8
test ebx, ebx
jns 0x5c0c71
jmp 0x5c0cfa
xor ebx, ebx
mov eax, dword [esp + 0x10]
add ebx, ebx
mov eax, dword [eax + 0x10]
mov ebx, dword [eax + ebx*8 + 4]
test ebx, ebx
je 0x5c0cfa
cmp byte [ebx + 9], 0
je 0x5c0c9a
inc dword [ebx + 0xc]
cmp byte [ebx + 0xa], 0
jne 0x5c0c9a
push ebx
call fcn.0056df20
add esp, 4
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax]
mov ecx, dword [ecx + 0x1c8]
mov dword [esp + 0x28], ecx
mov eax, dword [eax + 0x40]
mov ecx, dword [eax]
test ecx, ecx
jne 0x5c0cc0
mov dword [esp + 0x2c], 0xc
jmp 0x5c0cd7
lea edx, [esp + 0xa4]
push edx
push 0xe
push eax
mov eax, dword [ecx + 0x28]
call eax
add esp, 0xc
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
mov dword [ecx + 0x1c8], eax
cmp byte [ebx + 9], 0
je 0x5c0cfa
add dword [ebx + 0xc], 0xffffffff
jne 0x5c0cfa
push ebx
call fcn.005ebdb0
add esp, 4
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x5c0d0f
push eax
call dword [0x6d4c90]
add esp, 4
mov ebx, dword [esp + 0x2c]
test ebx, ebx
jne 0x5c0e47
push 1
push esi
call fcn.005df3f0
push 0xffffffffffffffff
push dword [esp + 0xb0]
push ebx
push ebx
push esi
call fcn.005df3a0
mov edi, dword [esp + 0xc0]
add esp, 0x1c
test edi, edi
je 0x5c0dff
push ebx
push edi
push ebx
push 1
push ebx
push 0x75
push esi
call fcn.005d2c80
mov ecx, dword [esi + 0x6c]
add esp, 0x1c
cmp dword [esi + 0x70], ecx
jg 0x5c0d71
push ebx
push 1
push 1
push 0x54
push esi
call fcn.005815b0
add esp, 0x14
jmp 0x5c0da4
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [esp + 0xa4]
test edi, edi
je 0x5c0dff
cmp dword [0x6d4c38], 0
je 0x5c0e3e
mov eax, dword [0x6ecdc0]
test eax, eax
je 0x5c0dcf
push eax
call dword [0x6d4c88]
add esp, 4
push edi
call dword [0x6d4c64]
sub dword [0x6ecd58], eax
dec dword [0x6ecd7c]
push edi
call dword [0x6d4c5c]
mov eax, dword [0x6ecdc0]
add esp, 8
test eax, eax
je 0x5c0dff
push eax
call dword [0x6d4c90]
add esp, 4
mov ebp, dword [esp + 0x10]
push dword [esp + 0x34]
push ebp
call fcn.005a9be0
mov eax, dword [esp + 0x20]
add esp, 8
test eax, eax
je 0x5c0e25
push eax
push dword [esp + 0x14]
call fcn.005a9be0
add esp, 8
mov ecx, dword [esp + 0xb4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0061f478
add esp, 0xa8
ret
push edi
call dword [0x6d4c5c]
jmp 0x5c0dfc
cmp ebx, 0xc
je 0x5c0ef0
mov eax, dword [esp + 0xa4]
test eax, eax
je 0x5c0ee1
push eax
push 0x679638
push dword [esp + 0x1c]
call fcn.005abd70
mov esi, dword [esp + 0xb0]
add esp, 0xc
test esi, esi
je 0x5c0ee1
cmp dword [0x6d4c38], 0
je 0x5c0ed7
mov eax, dword [0x6ecdc0]
test eax, eax
je 0x5c0e98
push eax
call dword [0x6d4c88]
add esp, 4
push esi
call dword [0x6d4c64]
sub dword [0x6ecd58], eax
dec dword [0x6ecd7c]
push esi
call dword [0x6d4c5c]
mov eax, dword [0x6ecdc0]
add esp, 8
test eax, eax
je 0x5c0ee1
push eax
call dword [0x6d4c90]
mov eax, dword [esp + 0x18]
add esp, 4
inc dword [eax + 0x24]
mov dword [eax + 0xc], ebx
jmp 0x5c0dff
push esi
call dword [0x6d4c5c]
add esp, 4
mov eax, dword [esp + 0x14]
inc dword [eax + 0x24]
mov dword [eax + 0xc], ebx
jmp 0x5c0dff
push dword [esp + 0x34]
call fcn.005945e0
mov ebx, eax
add esp, 4
mov dword [esp + 0x7c], ebx
test ebx, ebx
je 0x5c0dff
test byte [ebx + 5], 1
je 0x5c0f24
push dword [esp + 0x14]
call fcn.005c6670
add esp, 4
test eax, eax
jne 0x5c0dff
mov al, byte [ebx + 5]
test al, 2
jne 0x5c0f41
test al, 4
je 0x5c0f37
mov edx, dword [esp + 0x18]
test edx, edx
jne 0x5c0f45
push ebx
push esi
call fcn.0059c910
add esp, 8
mov edx, dword [esp + 0x18]
movzx eax, byte [ebx + 4]
dec eax
cmp eax, 0x2a
ja case.0x5c0f53.5
jmp dword [eax*4 + 0x5c54f0]
mov ebx, dword [esp + 0x38]
push ebx
push esi
call fcn.005dfd20
mov eax, dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x5c0fa8
mov ecx, dword [esp + 0x14]
push eax
push 0x68c3a0
push 9
add dword [ecx + 0x2c], 2
push esi
call fcn.005d2d60
push dword [esp + 0x44]
push dword [esp + 0x24]
mov dword [eax + 4], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x7c], 0xfffff830
call fcn.005a9be0
add esp, 0x18
jmp 0x5c0e25
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], 0
push ecx
push eax
call fcn.005b80a0
push dword [esp + 0x28]
call fcn.0059cde0
push ebx
push 0
push dword [esp + 0x28]
mov edi, eax
call fcn.005a1080
push edi
push 3
push ebx
push 0x64
push esi
call fcn.005d2c20
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x50], edi
mov eax, dword [ebp + 0xc]
push dword [eax + 0x50]
push dword [ebp + 4]
call fcn.005a47b0
push dword [esp + 0x68]
push dword [esp + 0x48]
call fcn.005a9be0
mov eax, dword [esp + 0x54]
add esp, 0x3c
jmp 0x5c0e18
mov edi, dword [ebp + 4]
test edx, edx
jne 0x5c102a
test edi, edi
je 0x5c1022
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x24]
cdq
jmp 0x5c1a72
xor eax, eax
cdq
jmp 0x5c1a72
lea eax, [esp + 0x20]
mov dword [esp + 0x20], 0
push eax
push edx
call fcn.005b80a0
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
push 0
push 0
push eax
push edi
mov dword [ecx + 0x64], eax
call fcn.005a4850
add esp, 0x18
cmp eax, 7
jne 0x5c0dff
mov edi, dword [esp + 0x10]
push edi
call fcn.005bd9c0
push dword [esp + 0x38]
push edi
call fcn.005a9be0
mov eax, dword [esp + 0x24]
add esp, 0xc
jmp 0x5c0e18
mov eax, dword [ebp + 4]
or ebp, 0xffffffff
mov dword [esp + 0x28], eax
test edx, edx
je 0x5c10b5
push str.fast
push edx
call fcn.005cdec0
add esp, 8
test eax, eax
jne 0x5c10a4
lea ebp, [eax + 2]
jmp 0x5c10b5
push 0
push dword [esp + 0x1c]
call fcn.005b7e40
add esp, 8
movzx ebp, al
cmp dword [edi + 4], 0
jne 0x5c10ed
test ebp, ebp
js 0x5c10ed
mov eax, dword [esp + 0x10]
xor ebx, ebx
cmp dword [eax + 0x14], ebx
jle 0x5c10ed
xor edi, edi
mov esi, eax
nop
mov eax, dword [esi + 0x10]
push ebp
push dword [edi + eax + 4]
call fcn.005a46c0
inc ebx
lea edi, [edi + 0x10]
add esp, 8
cmp ebx, dword [esi + 0x14]
jl 0x5c10d0
mov esi, dword [esp + 0x40]
push ebp
push dword [esp + 0x2c]
call fcn.005a46c0
cdq
push edx
push eax
push esi
call fcn.00599ee0
add esp, 0x14
jmp 0x5c0dff
mov ebp, dword [esp + 0x38]
xorps xmm0, xmm0
mov ebx, dword [esp + 0x14]
push ebp
push ebx
movlpd qword [esp + 0x74], xmm0
call fcn.005a6b80
mov edi, dword [ebx + 0x2c]
add esp, 8
mov eax, dword [esp + 0x34]
inc edi
mov dword [ebx + 0x2c], edi
movzx eax, byte [eax]
cmp byte [eax + 0x68b3e0], 0x70
jne 0x5c115d
push edi
push ebp
push 0xb2
push esi
call fcn.005d2bc0
add esp, 0x10
push 1
push edi
push 0x54
push esi
call fcn.005d2bc0
add esp, 0x10
jmp 0x5c0dff
mov eax, dword [esp + 0x18]
test eax, eax
je 0x5c11a3
lea ecx, [esp + 0x6c]
push ecx
push eax
call fcn.005aa0c0
add esp, 8
test eax, eax
jne 0x5c11a3
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x6c]
test ecx, ecx
jg 0x5c1194
jl 0x5c11a3
test eax, eax
jb 0x5c11a3
test ecx, ecx
jl 0x5c11b0
jg 0x5c1194
cmp eax, 0xfffffffe
jbe 0x5c11b0
mov eax, 0xfffffffe
mov dword [esp + 0x70], 0
jmp 0x5c11b0
xorps xmm0, xmm0
movlpd qword [esp + 0x6c], xmm0
mov eax, dword [esp + 0x6c]
push eax
push edi
push ebp
push 0xb3
push esi
call fcn.005d2c20
add esp, 0x14
push 1
push edi
push 0x54
push esi
call fcn.005d2bc0
add esp, 0x10
jmp 0x5c0dff
test edx, edx
je 0x5c1208
push str.exclusive
push edx
call fcn.005cdec0
add esp, 8
test eax, eax
jne 0x5c11ef
lea ecx, [eax + 1]
jmp 0x5c120b
push str.normal
push dword [esp + 0x1c]
call fcn.005cdec0
add esp, 8
test eax, eax
jne 0x5c1208
xor ecx, ecx
jmp 0x5c120b
or ecx, 0xffffffff
cmp dword [edi + 4], 0
jne 0x5c1271
mov eax, dword [esp + 0x10]
cmp ecx, 0xffffffff
jne 0x5c1220
movzx eax, byte [eax + 0x59]
jmp 0x5c1282
mov edx, 2
cmp dword [eax + 0x14], edx
jle 0x5c126e
mov edi, 0x20
mov ebp, eax
mov eax, dword [ebp + 0x10]
mov eax, dword [edi + eax + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax]
test ecx, ecx
js 0x5c125a
cmp byte [eax + 0xc], 0
jne 0x5c125a
mov ebx, dword [eax + 0xe8]
test ebx, ebx
je 0x5c1257
cmp byte [ebx + 0x2b], 2
je 0x5c125a
mov byte [eax + 4], cl
inc edx
add edi, 0x10
cmp edx, dword [ebp + 0x14]
jl 0x5c1231
mov ebp, dword [esp + 0x80]
mov eax, dword [esp + 0x10]
mov byte [eax + 0x59], cl
mov eax, dword [ebp + 4]
push ecx
mov eax, dword [eax + 4]
push dword [eax]
call fcn.005be570
add esp, 8
cmp eax, 1
mov edx, str.exclusive
mov ecx, str.normal
cmove ecx, edx
push ecx
push esi
call fcn.00599f70
add esp, 8
jmp 0x5c0dff
test edx, edx
je 0x5c1301
mov edi, edx
lea ecx, [edi + 1]
nop word [eax + eax]
mov al, byte [edi]
inc edi
test al, al
jne 0x5c12b0
sub edi, ecx
and edi, 0x3fffffff
xor ebx, ebx
cmp ebx, 6
je 0x5c12fd
mov eax, dword [ebx*4 + 0x68c384]
test eax, eax
je 0x5c12fd
push edi
push eax
push edx
call fcn.00553e30
add esp, 0xc
test eax, eax
je 0x5c12e7
mov edx, dword [esp + 0x18]
inc ebx
jmp 0x5c12c1
cmp ebx, 2
jne 0x5c1319
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
and eax, 0x10000000
or eax, 0
je 0x5c1324
mov edi, dword [esp + 0x24]
or ebx, 0xffffffff
cmp dword [edi + 4], 0
jne 0x5c1324
xor ecx, ecx
mov dword [edi + 4], 1
mov dword [esp + 0x38], ecx
jmp 0x5c1328
cmp ebx, 0xffffffff
jne 0x5c1324
mov edi, dword [esp + 0x24]
jmp 0x5c1304
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x14]
sub edi, 1
js 0x5c137e
mov ebp, edi
shl ebp, 4
nop dword [eax]
mov eax, dword [eax + 0x10]
cmp dword [eax + ebp + 4], 0
je 0x5c136e
cmp edi, ecx
je 0x5c1358
mov eax, dword [esp + 0x24]
cmp dword [eax + 4], 0
jne 0x5c136e
push edi
push esi
call fcn.005dfd20
push ebx
push 1
push edi
push 4
push esi
call fcn.005d2c20
add esp, 0x1c
mov eax, dword [esp + 0x10]
sub ebp, 0x10
sub edi, 1
mov ecx, dword [esp + 0x38]
jns 0x5c1340
push 1
push 1
push 0x54
push esi
call fcn.005d2bc0
add esp, 0x10
jmp 0x5c0dff
mov eax, dword [ebp + 4]
or ecx, 0xffffffff
mov dword [esp + 0x70], ecx
mov eax, dword [eax + 4]
mov edi, dword [eax]
mov eax, 0xfffffffe
mov dword [esp + 0x6c], eax
test edx, edx
je 0x5c13db
lea eax, [esp + 0x6c]
push eax
push edx
call fcn.005aa0c0
mov ecx, dword [esp + 0x78]
add esp, 8
cmp ecx, 0xffffffff
jg 0x5c13d7
jl 0x5c13d0
mov eax, dword [esp + 0x6c]
cmp eax, 0xffffffff
jae 0x5c13db
or eax, 0xffffffff
or ecx, eax
jmp 0x5c13db
mov eax, dword [esp + 0x6c]
cmp ecx, 0xffffffff
jl 0x5c1403
jg 0x5c13e7
cmp eax, 0xffffffff
jb 0x5c1403
mov edx, dword [edi + 0xe8]
mov dword [edi + 0xb0], eax
mov dword [edi + 0xb4], ecx
test edx, edx
je 0x5c1403
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
push dword [edi + 0xb4]
push dword [edi + 0xb0]
push esi
call fcn.00599ee0
add esp, 0xc
jmp 0x5c0dff
mov edi, dword [ebp + 4]
test edx, edx
jne 0x5c1448
push edi
call fcn.005a28e0
cdq
push edx
push eax
push esi
call fcn.00599ee0
push dword [esp + 0x44]
push dword [esp + 0x24]
call fcn.005a9be0
add esp, 0x18
jmp 0x5c0e25
push str.none
push edx
call fcn.005cdec0
add esp, 8
test eax, eax
jne 0x5c145e
xor ebx, ebx
jmp 0x5c14b8
mov ebx, dword [esp + 0x18]
push str.full
push ebx
call fcn.005cdec0
add esp, 8
test eax, eax
jne 0x5c1479
lea ebx, [eax + 1]
jmp 0x5c14b8
push str.incremental
push ebx
call fcn.005cdec0
add esp, 8
test eax, eax
jne 0x5c1490
lea ebx, [eax + 2]
jmp 0x5c14b8
lea eax, [esp + 0x20]
mov dword [esp + 0x20], 0
push eax
push ebx
call fcn.005b80a0
mov eax, dword [esp + 0x28]
xor edx, edx
add esp, 8
movzx ecx, al
cmp eax, 2
cmova ecx, edx
movzx ebx, cl
mov eax, dword [esp + 0x10]
push ebx
push edi
mov byte [eax + 0x5a], bl
call fcn.005a4730
add esp, 8
test eax, eax
jne 0x5c0dff
cmp ebx, 1
je 0x5c14df
cmp ebx, 2
jne 0x5c0dff
mov edi, dword [esi + 0x6c]
push 0
push 0x68c3c8
push 5
push esi
call fcn.005d2d60
mov edx, dword [esp + 0x48]
lea ecx, [edi + 4]
push edx
push esi
mov dword [eax + 0x30], ecx
lea ecx, [ebx - 1]
mov dword [eax + 4], edx
mov dword [eax + 0x18], edx
mov dword [eax + 0x54], edx
mov dword [eax + 0x5c], ecx
call fcn.005dfd20
push dword [esp + 0x4c]
push dword [esp + 0x2c]
call fcn.005a9be0
mov eax, dword [esp + 0x38]
add esp, 0x20
jmp 0x5c0e18
mov dword [esp + 0x20], 0
test edx, edx
je 0x5c1550
lea eax, [esp + 0x20]
push eax
push edx
call fcn.005b80a0
add esp, 8
test eax, eax
je 0x5c1550
mov edi, dword [esp + 0x20]
test edi, edi
jg 0x5c1555
mov edi, SysReAllocString
mov ebx, dword [esp + 0x38]
push ebx
push 0
push dword [esp + 0x1c]
call fcn.005a1080
push 1
push edi
push 0x47
push esi
call fcn.005d2bc0
push ebx
push 0x3e
push esi
call fcn.005d2b60
push 1
push 0x54
push esi
mov edi, eax
call fcn.005d2b60
push 0xffffffffffffffff
push 1
push 0x56
push esi
call fcn.005d2bc0
add esp, 0x44
push edi
push 1
push 0x3b
push esi
call fcn.005d2bc0
push edi
push esi
call fcn.005dcb50
add esp, 0x18
jmp 0x5c0dff
test edx, edx
jne 0x5c15be
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x50]
cdq
jmp 0x5c1a72
lea eax, [esp + 0x20]
mov dword [esp + 0x20], 0
push eax
push edx
call fcn.005b80a0
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0x28]
mov dword [ecx + 0x50], eax
mov eax, dword [ebp + 0xc]
push dword [eax + 0x50]
push dword [ebp + 4]
call fcn.005a47b0
push dword [esp + 0x44]
push dword [esp + 0x24]
call fcn.005a9be0
mov eax, dword [esp + 0x30]
add esp, 0x18
jmp 0x5c0e18
test edx, edx
jne 0x5c162a
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x20]
and eax, 0x20
or eax, edx
je 0x5c181c
push 0
push dword [ebp + 4]
call fcn.005a4980
add esp, 8
jmp 0x5c181c
lea eax, [esp + 0x20]
mov dword [esp + 0x20], 1
push eax
push edx
call fcn.005b80a0
mov esi, dword [esp + 0x28]
add esp, 8
test eax, eax
je 0x5c1654
push esi
push dword [ebp + 4]
call fcn.005a4980
add esp, 8
test esi, esi
setne al
movzx eax, al
push eax
push dword [esp + 0x1c]
call fcn.005b7e40
mov edx, dword [esp + 0x18]
add esp, 8
mov ebx, dword [esp + 0x10]
test al, al
mov eax, ebx
mov ecx, dword [edx + 0x20]
mov edx, dword [edx + 0x24]
je 0x5c1682
or ecx, 0x20
jmp 0x5c1685
and ecx, 0xffffffdf
mov dword [eax + 0x20], ecx
push ebx
mov dword [eax + 0x24], edx
call fcn.0059c6a0
push dword [esp + 0x38]
push ebx
call fcn.005a9be0
mov eax, dword [esp + 0x24]
add esp, 0xc
jmp 0x5c0e18
test edx, edx
je 0x5c17af
lea eax, [esp + 0x6c]
push eax
push edx
call fcn.005aa0c0
add esp, 8
cmp dword [esp + 0x70], 0
jg 0x5c16e0
jl 0x5c16cd
cmp dword [esp + 0x6c], 0
jae 0x5c16e0
mov eax, dword [0x6d4ce0]
mov ecx, dword [0x6d4ce4]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ecx
cmp dword [edi + 4], 0
mov edx, dword [esp + 0x10]
jne 0x5c16f8
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
mov dword [edx + 0x30], eax
mov dword [edx + 0x34], ecx
mov ebx, dword [edx + 0x14]
sub ebx, 1
js 0x5c17af
mov ebp, ebx
mov esi, edi
shl ebp, 4
nop dword [eax + eax]
mov eax, dword [edx + 0x10]
mov edi, dword [eax + ebp + 4]
test edi, edi
je 0x5c179f
cmp ebx, dword [esp + 0x38]
je 0x5c172b
cmp dword [esi + 4], 0
jne 0x5c179f
cmp byte [edi + 9], 0
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x7c], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x28], eax
je 0x5c1761
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x5c1761
push edi
call fcn.0056df20
mov eax, dword [esp + 0x2c]
add esp, 4
mov eax, dword [eax]
mov ecx, dword [esp + 0x80]
push eax
mov dword [eax + 0x88], ecx
mov ecx, dword [esp + 0x80]
mov dword [eax + 0x8c], ecx
call fcn.0058f6c0
add esp, 4
cmp byte [edi + 9], 0
je 0x5c179b
add dword [edi + 0xc], 0xffffffff
jne 0x5c179b
push edi
call fcn.005ebdb0
add esp, 4
mov edx, dword [esp + 0x10]
sub ebp, 0x10
sub ebx, 1
jns 0x5c1710
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x1c]
lea eax, [esp + 0x6c]
push eax
push 0x12
push edi
push dword [esp + 0x1c]
mov dword [esp + 0x7c], 0xffffffff
mov dword [esp + 0x80], 0xffffffff
call fcn.0054ff40
add esp, 0x10
test eax, eax
jne 0x5c17f4
push dword [esp + 0x70]
push dword [esp + 0x70]
push esi
call fcn.00599ee0
add esp, 0xc
jmp 0x5c0dff
mov ebp, dword [esp + 0x10]
cmp eax, 0xc
je 0x5c0e03
mov ecx, dword [esp + 0x14]
inc dword [ecx + 0x24]
mov dword [ecx + 0xc], eax
jmp 0x5c0e03
test edx, edx
jne 0x5c1837
mov ebx, dword [esp + 0x10]
movzx eax, byte [ebx + 0x56]
cdq
push edx
push eax
push esi
call fcn.00599ee0
push dword [esp + 0x40]
push ebx
call fcn.005a9be0
add esp, 0x14
jmp 0x5c0e25
mov cl, byte [edx]
mov al, cl
sub al, 0x30
cmp al, 2
ja 0x5c1849
movsx ebx, cl
sub ebx, 0x30
jmp 0x5c187b
push str.file
push edx
call fcn.005cdec0
add esp, 8
test eax, eax
jne 0x5c1860
lea ebx, [eax + 1]
jmp 0x5c187b
push str.memory
push dword [esp + 0x1c]
call fcn.005cdec0
add esp, 8
neg eax
sbb ebx, ebx
and ebx, 0xfffffffe
add ebx, 2
mov ecx, dword [esp + 0x14]
mov esi, dword [ecx]
movzx eax, byte [esi + 0x56]
cmp eax, ebx
je 0x5c0dff
push ecx
call fcn.00582a00
add esp, 4
test eax, eax
jne 0x5c0dff
mov byte [esi + 0x56], bl
jmp 0x5c1a0c
cmp byte [0x6d4c3c], 0
je 0x5c18c8
push 0xb
call dword [0x6d4c80]
add esp, 4
test eax, eax
je 0x5c18c8
push eax
call dword [0x6d4c88]
add esp, 4
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x5c18e1
push dword [0x6ecce8]
push esi
call fcn.00599f70
add esp, 8
jmp 0x5c195b
cmp byte [ecx], 0
je 0x5c190f
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x28]
push edx
push 1
push ecx
mov eax, dword [eax]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x5c19d9
cmp dword [esp + 0x28], eax
je 0x5c19d9
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x56], 1
ja 0x5c1925
push dword [esp + 0x14]
call fcn.00582a00
add esp, 4
push dword [0x6ecce8]
call fcn.00564ca0
mov eax, dword [esp + 0x1c]
add esp, 4
cmp byte [eax], 0
je 0x5c1951
push eax
push 0x679638
call fcn.00564970
add esp, 8
mov dword [0x6ecce8], eax
jmp 0x5c195b
mov dword [0x6ecce8], 0
cmp byte [0x6d4c3c], 0
je 0x5c0dff
push 0xb
call dword [0x6d4c80]
add esp, 4
jmp 0x5c0df1
cmp byte [0x6d4c3c], 0
je 0x5c199a
push 0xb
call dword [0x6d4c80]
add esp, 4
test eax, eax
je 0x5c199a
push eax
call dword [0x6d4c88]
add esp, 4
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x5c19b3
push dword [0x6eccec]
push esi
call fcn.00599f70
add esp, 8
jmp 0x5c195b
cmp byte [ecx], 0
je 0x5c1a25
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x28]
push edx
push 1
push ecx
mov eax, dword [eax]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x5c19d9
cmp dword [esp + 0x28], eax
jne 0x5c1a25
push str.not_a_writable_directory
push dword [esp + 0x18]
call fcn.005abd70
add esp, 8
cmp byte [0x6d4c3c], 0
je 0x5c1a0c
push 0xb
call dword [0x6d4c80]
add esp, 4
test eax, eax
je 0x5c1a0c
push eax
call dword [0x6d4c90]
add esp, 4
push dword [esp + 0x34]
push dword [esp + 0x14]
call fcn.005a9be0
mov eax, dword [esp + 0x20]
add esp, 8
jmp 0x5c0e18
push dword [0x6eccec]
call fcn.00564ca0
mov eax, dword [esp + 0x1c]
add esp, 4
cmp byte [eax], 0
je 0x5c1a54
push eax
push 0x679638
call fcn.00564970
add esp, 8
mov dword [0x6eccec], eax
jmp 0x5c195b
mov dword [0x6eccec], 0
jmp 0x5c195b
test edx, edx
jne 0x5c1a8f
movzx eax, byte [ebp + 8]
cdq
sub eax, 1
sbb edx, 0
push edx
push eax
push esi
call fcn.00599ee0
push dword [esp + 0x40]
push dword [esp + 0x20]
call fcn.005a9be0
add esp, 0x14
jmp 0x5c0e25
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x55], 0
jne 0x5c1ac0
push str.Safety_level_may_not_be_changed_inside_a_transaction
push dword [esp + 0x18]
call fcn.005abd70
push dword [esp + 0x3c]
push dword [esp + 0x1c]
call fcn.005a9be0
mov eax, dword [esp + 0x28]
add esp, 0x10
jmp 0x5c0e18
cmp dword [esp + 0x38], 1
je 0x5c54e9
push 1
push 0
push edx
call fcn.00581470
inc eax
mov ecx, 1
and eax, 7
mov byte [ebp + 9], cl
cmove eax, ecx
mov byte [ebp + 8], al
mov ebp, dword [esp + 0x1c]
push ebp
call fcn.0059c6a0
push dword [esp + 0x44]
push ebp
call fcn.005a9be0
mov eax, dword [esp + 0x30]
add esp, 0x18
jmp 0x5c0e18
test edx, edx
jne 0x5c1b5d
push ebx
push esi
call fcn.0059c910
mov edi, dword [esp + 0x18]
add esp, 8
mov ecx, dword [edi + 0x20]
mov eax, dword [edi + 0x24]
and ecx, dword [ebx + 8]
and eax, dword [ebx + 0xc]
or ecx, eax
je 0x5c1b32
mov eax, 1
xor ecx, ecx
jmp 0x5c1b43
xorps xmm0, xmm0
movlpd qword [esp + 0x6c], xmm0
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x6c]
push ecx
push eax
push esi
call fcn.00599ee0
push dword [esp + 0x40]
push edi
call fcn.005a9be0
add esp, 0x14
jmp 0x5c0e25
mov ebp, dword [esp + 0x10]
mov edi, dword [ebx + 8]
mov ebx, dword [ebx + 0xc]
cmp byte [ebp + 0x55], 0
jne 0x5c1b73
and edi, 0xffffbfff
push 0
push edx
call fcn.005b7e40
add esp, 8
test al, al
je 0x5c1ba3
mov eax, edi
and eax, 1
or eax, 0
je 0x5c1b99
mov eax, dword [ebp + 0x20]
and eax, 0x10000000
or eax, 0
jne 0x5c1bf3
mov eax, ebp
or dword [eax + 0x20], edi
or dword [eax + 0x24], ebx
jmp 0x5c1bf3
mov edx, ebp
mov ecx, edi
mov eax, ebx
not ecx
not eax
and dword [edx + 0x20], ecx
and dword [edx + 0x24], eax
cmp edi, 0x80000
jne 0x5c1bcd
test ebx, ebx
jne 0x5c1bcd
mov dword [edx + 0x208], ebx
mov dword [edx + 0x20c], ebx
jmp 0x5c1bf3
and edi, 1
or edi, 0
je 0x5c1bf3
push str.reset
push dword [esp + 0x1c]
call fcn.005cdec0
add esp, 8
test eax, eax
jne 0x5c1bf3
push ebp
call fcn.005c7170
add esp, 4
push 0xa6
push esi
call fcn.005d2b10
mov esi, ebp
push esi
call fcn.0059c6a0
push dword [esp + 0x40]
push esi
call fcn.005a9be0
mov eax, dword [esp + 0x2c]
add esp, 0x14
jmp 0x5c0e18
test edx, edx
je 0x5c0dff
mov ebp, dword [esp + 0x1c]
push ebp
push dword [esp + 0x18]
call fcn.005a6b00
push ebp
push dword [esp + 0x24]
mov ebp, dword [esp + 0x24]
push 2
push ebp
call fcn.005bc6d0
mov edi, eax
add esp, 0x18
mov dword [esp + 0x68], edi
test edi, edi
je 0x5c0dff
push edi
mov dword [esp + 0x30], 0
call fcn.005c5b40
push edi
push ebp
mov dword [esp + 0x34], eax
mov dword [ebp + 0x2c], 7
call fcn.005dfe10
movzx eax, word [edi + 0x22]
xor ecx, ecx
mov ebp, dword [edi + 4]
xor edx, edx
add esp, 0xc
mov dword [esp + 0x24], ecx
cmp dx, ax
jge 0x5c0dff
mov dword [esp + 0x50], eax
movzx edx, word [ebp + 0xe]
xor edi, edi
test dl, 0x62
je 0x5c1ccb
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
jne 0x5c1caf
inc dword [esp + 0x2c]
jmp 0x5c1de1
mov eax, dword [esp + 0x50]
test dl, 0x20
je 0x5c1cbf
mov edi, 2
jmp 0x5c1ccb
movzx edi, dl
and edi, 0x40
or edi, 0x20
shr edi, 5
test dl, 1
jne 0x5c1cd4
xor edx, edx
jmp 0x5c1d07
mov ecx, dword [esp + 0x28]
mov edx, 1
test ecx, ecx
je 0x5c1d07
cwde
mov dword [esp + 0x80], eax
cmp eax, edx
jl 0x5c1d07
mov ecx, dword [ecx + 4]
mov ebx, eax
movsx eax, word [ecx]
cmp eax, dword [esp + 0x24]
je 0x5c1d03
inc edx
add ecx, 2
cmp edx, ebx
jle 0x5c1cf2
mov ebx, dword [esp + 0x7c]
movzx eax, word [ebp + 0xc]
test ax, ax
jne 0x5c1d14
xor eax, eax
jmp 0x5c1d3c
mov ecx, dword [esp + 0x68]
cmp byte [ecx + 0x2b], 0
je 0x5c1d22
xor eax, eax
jmp 0x5c1d3c
mov ecx, dword [ecx + 0x34]
test ecx, ecx
jne 0x5c1d2d
xor eax, eax
jmp 0x5c1d3c
cmp dword [ecx], eax
jge 0x5c1d35
xor eax, eax
jmp 0x5c1d3c
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 - 0xc]
cmp edi, 2
jae 0x5c1d4e
test eax, eax
je 0x5c1d4e
mov ecx, dword [eax + 8]
mov dword [esp + 0x20], ecx
jmp 0x5c1d56
mov dword [esp + 0x20], 0
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
mov dword [esp + 0x44], str.issisii
jne 0x5c1d6e
mov dword [esp + 0x44], str.issisi
test byte [ebp + 0xe], 4
je 0x5c1d95
mov ecx, dword [ebp]
lea eax, [ecx + 1]
mov dword [esp + 0x80], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x5c1d81
sub ecx, dword [esp + 0x80]
inc ecx
add ecx, dword [ebp]
jmp 0x5c1dae
mov eax, dword [ebp + 4]
shr eax, 4
and eax, 0xf
je 0x5c1da9
mov ecx, dword [eax*4 + 0x6d4e28]
jmp 0x5c1dae
mov ecx, 0x6a5e52
test byte [ebp + 4], 0xf
mov eax, 0
push edi
push edx
push dword [esp + 0x28]
setne al
push eax
mov eax, dword [esp + 0x34]
sub eax, dword [esp + 0x3c]
push ecx
push dword [ebp]
push eax
push dword [esp + 0x60]
push 1
push esi
call fcn.005de3e0
mov ecx, dword [esp + 0x4c]
add esp, 0x28
mov eax, dword [esp + 0x68]
inc ecx
add ebp, 0x10
mov dword [esp + 0x24], ecx
movzx eax, word [eax + 0x22]
mov edx, eax
cwde
cmp ecx, eax
mov dword [esp + 0x50], edx
mov eax, edx
jl 0x5c1c93
jmp 0x5c1a0c
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
push ebx
push eax
mov dword [eax + 0x2c], 6
call fcn.005a6b00
mov ebp, dword [esp + 0x18]
add esp, 8
mov dword [esp + 0x68], 0
cmp dword [ebp + 0x14], 0
jle 0x5c0e03
xor edi, edi
mov dword [esp + 0x50], edi
nop dword [eax]
test ebx, ebx
je 0x5c1e64
mov eax, dword [ebp + 0x10]
mov eax, dword [edi + eax]
test eax, eax
je 0x5c2132
push eax
push ebx
call fcn.005cdec0
add esp, 8
test eax, eax
jne 0x5c2132
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x10]
mov edx, dword [edi + eax + 0xc]
add edx, 8
mov ebx, dword [edx + 4]
test ebx, ebx
je 0x5c1fde
nop dword [eax]
mov eax, dword [edx + 8]
dec ebx
mov dword [esp + 0x2c], ebx
test eax, eax
je 0x5c1fde
mov ecx, dword [eax + 8]
cmp word [ecx + 0x22], 0
je 0x5c1ea5
mov eax, dword [eax]
test eax, eax
jne 0x5c1e90
jmp 0x5c1fde
push dword [ecx]
push str.SELECTFROM__w_
push dword [esp + 0x18]
call fcn.005bcc60
mov ebp, eax
add esp, 0xc
test ebp, ebp
je 0x5c1f9a
push 0
lea eax, [esp + 0x24]
mov dword [esp + 0x24], 0
push eax
push 0
push 0
push 0xffffffffffffffff
push ebp
push dword [esp + 0x28]
call fcn.005bc8f0
mov edi, dword [esp + 0x3c]
add esp, 0x1c
test edi, edi
je 0x5c1f89
mov ebx, dword [edi]
test ebx, ebx
jne 0x5c1f22
push str.API_called_with_finalized_prepared_statement
push 0x15
call fcn.00553fa0
push 0x69379c
push 0x16174
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.00553fa0
add esp, 0x1c
jmp 0x5c1f85
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x5c1f33
push eax
call dword [0x6d4c88]
add esp, 4
cmp dword [edi + 0x8c], 0
jl 0x5c1f51
jg 0x5c1f47
cmp dword [edi + 0x88], 0
jbe 0x5c1f51
push edi
push ebx
call fcn.00582a50
add esp, 8
push edi
call fcn.005df010
push edi
mov dword [esp + 0x4c], eax
call fcn.005d3250
mov eax, dword [esp + 0x4c]
add esp, 8
cmp byte [ebx + 0x57], 0
jne 0x5c1f72
test eax, eax
je 0x5c1f7c
push eax
push ebx
call fcn.0056a480
add esp, 8
push ebx
call fcn.005bbc60
add esp, 4
mov ebx, dword [esp + 0x2c]
push ebp
push dword [esp + 0x14]
call fcn.005a9be0
mov edi, dword [esp + 0x58]
add esp, 8
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x57], 0
je 0x5c1fcc
push str.out_of_memory
push dword [eax + 0x10c]
call fcn.005abd70
mov eax, dword [esp + 0x18]
add esp, 8
mov eax, dword [eax + 0x10c]
mov dword [eax + 0xc], 7
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
mov edx, dword [edi + eax + 0xc]
add edx, 8
test ebx, ebx
jne 0x5c1e80
mov edi, dword [edx + 8]
mov dword [esp + 0x24], edi
test edi, edi
je 0x5c2126
mov ecx, dword [esp + 0x18]
mov ebx, dword [edi + 8]
test ecx, ecx
je 0x5c2014
mov eax, dword [ebx]
test eax, eax
je 0x5c2118
push eax
push ecx
call fcn.005cdec0
add esp, 8
test eax, eax
jne 0x5c2114
mov al, byte [ebx + 0x2b]
cmp al, 2
jne 0x5c2025
mov dword [esp + 0x2c], str.view
jmp 0x5c204b
cmp al, 1
jne 0x5c2033
mov dword [esp + 0x2c], 0x6910cc
jmp 0x5c204b
test dword [ebx + 0x1c], 0x1000
mov eax, str.shadow
mov ecx, str.table
cmove eax, ecx
mov dword [esp + 0x2c], eax
mov ebp, dword [ebx]
mov edx, 7
test ebp, ebp
je 0x5c20d6
mov edi, ebp
mov ebx, str.sqlite_
mov al, byte [edi]
dec edx
test al, al
je 0x5c2083
movzx ecx, byte [ebx]
movzx eax, al
mov al, byte [eax + 0x68b3e0]
cmp al, byte [ecx + 0x68b3e0]
jne 0x5c2083
inc edi
inc ebx
test edx, edx
jg 0x5c2061
dec edx
test edx, edx
js 0x5c209f
movzx eax, byte [ebx]
movzx ecx, byte [eax + 0x68b3e0]
movzx eax, byte [edi]
movzx eax, byte [eax + 0x68b3e0]
sub eax, ecx
jne 0x5c20d2
lea edi, [ebp + 7]
push 0x68f60b
push edi
call fcn.005cdec0
add esp, 8
test eax, eax
jne 0x5c20bb
mov ebp, str.sqlite_schema
jmp 0x5c20d2
push 0x68f7ef
push edi
call fcn.005cdec0
add esp, 8
test eax, eax
jne 0x5c20d2
mov ebp, str.sqlite_temp_schema
mov edi, dword [esp + 0x24]
mov edx, dword [edi + 8]
mov ecx, dword [edx + 0x1c]
mov eax, ecx
shr eax, 0x10
and eax, 1
shr ecx, 7
push eax
movsx eax, word [edx + 0x22]
and ecx, 1
push ecx
mov ecx, dword [esp + 0x58]
push eax
mov eax, dword [esp + 0x1c]
push dword [esp + 0x38]
push ebp
mov eax, dword [eax + 0x10]
push dword [ecx + eax]
push str.sssiii
push 1
push esi
call fcn.005de3e0
add esp, 0x24
mov ecx, dword [esp + 0x18]
mov edi, dword [edi]
mov dword [esp + 0x24], edi
test edi, edi
jne 0x5c1ff1
mov ebp, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x50]
mov eax, dword [esp + 0x68]
add edi, 0x10
inc eax
mov dword [esp + 0x50], edi
mov dword [esp + 0x68], eax
cmp eax, dword [ebp + 0x14]
jl 0x5c1e40
jmp 0x5c0e03
test edx, edx
je 0x5c0dff
mov edi, dword [esp + 0x1c]
push edi
push edx
push dword [esp + 0x18]
call fcn.005b25a0
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x5c21a8
push edi
push dword [esp + 0x1c]
push 2
push dword [esp + 0x20]
call fcn.005bc6d0
add esp, 0x10
test eax, eax
je 0x5c0dff
test byte [eax + 0x1c], 0x80
je 0x5c0dff
push eax
call fcn.005c5b40
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x5c0dff
push dword [ebp + 0x18]
push dword [esp + 0x14]
call fcn.005c8d70
mov ecx, dword [ebx + 8]
add esp, 8
or ecx, dword [ebx + 0xc]
mov edi, eax
mov edx, dword [esp + 0x14]
je 0x5c21d0
movzx eax, word [ebp + 0x34]
mov ecx, 6
jmp 0x5c21d9
movzx eax, word [ebp + 0x32]
mov ecx, 3
mov dword [esp + 0x2c], eax
mov dword [edx + 0x2c], ecx
mov eax, dword [ebp + 0xc]
push edi
push dword [esp + 0x18]
mov dword [esp + 0x30], eax
call fcn.005a6b80
xor edi, edi
add esp, 8
cmp word [esp + 0x2c], di
je 0x5c0dff
mov eax, dword [ebp + 4]
movzx eax, word [eax + edi*2]
movsx edx, ax
test ax, ax
jns 0x5c2214
xor eax, eax
jmp 0x5c2222
mov eax, dword [esp + 0x28]
mov ecx, edx
add ecx, ecx
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*8]
push eax
push edx
push edi
push str.iisX
push 1
push esi
call fcn.005de3e0
mov eax, dword [ebx + 8]
add esp, 0x18
or eax, dword [ebx + 0xc]
je 0x5c2266
movzx eax, word [ebp + 0x32]
cmp edi, eax
sbb eax, eax
neg eax
push eax
mov eax, dword [ebp + 0x20]
push dword [eax + edi*4]
mov eax, dword [ebp + 0x1c]
movzx eax, byte [eax + edi]
push eax
push str.isiX
push 4
push esi
call fcn.005de3e0
add esp, 0x18
mov eax, dword [esp + 0x14]
push dword [eax + 0x2c]
push 1
push 0x54
push esi
call fcn.005d2bc0
mov ecx, dword [esp + 0x3c]
inc edi
movzx eax, cx
add esp, 0x10
cmp edi, eax
jl 0x5c2201
jmp 0x5c1a0c
test edx, edx
je 0x5c0dff
mov edi, dword [esp + 0x1c]
push edi
push edx
push dword [esp + 0x18]
call fcn.005b2630
mov edi, eax
add esp, 0xc
test edi, edi
je 0x5c0dff
push dword [edi + 0x3c]
push dword [esp + 0x14]
call fcn.005c8d70
mov ecx, dword [esp + 0x1c]
push eax
push ecx
mov dword [ecx + 0x2c], 5
call fcn.005a6b80
mov edi, dword [edi + 8]
add esp, 0x10
xor ebx, ebx
test edi, edi
je 0x5c0dff
mov dword [esp + 0x6c], 0x691d38
mov dword [esp + 0x70], 0x691d3c
mov dword [esp + 0x74], 0x68da8c
nop dword [eax]
xor eax, eax
cmp dword [edi + 0x24], eax
setne al
push eax
mov eax, dword [edi + 0x38]
and eax, 3
push dword [esp + eax*4 + 0x70]
xor eax, eax
cmp byte [edi + 0x36], al
setne al
push eax
push dword [edi]
push ebx
push str.isisi
push 1
push esi
call fcn.005de3e0
mov edi, dword [edi + 0x14]
add esp, 0x20
inc ebx
test edi, edi
jne 0x5c2300
jmp 0x5c1a0c
mov eax, dword [esp + 0x14]
xor edi, edi
mov ebp, dword [esp + 0x10]
mov dword [eax + 0x2c], 3
cmp dword [ebp + 0x14], edi
jle 0x5c0e03
xor ebx, ebx
nop dword [eax + eax]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + ebx + 4]
test eax, eax
je 0x5c23a0
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp byte [eax + 0xf], 0
jne 0x5c2386
cmp dword [eax], 0x6d56b8
je 0x5c2386
mov eax, dword [eax + 0xb8]
jmp 0x5c238b
mov eax, 0x68b814
push eax
push dword [ecx + ebx]
push edi
push 0x691d48
push 1
push esi
call fcn.005de3e0
add esp, 0x18
inc edi
add ebx, 0x10
cmp edi, dword [ebp + 0x14]
jl 0x5c2360
jmp 0x5c0e03
mov eax, dword [esp + 0x14]
xor ebx, ebx
mov edi, dword [esp + 0x10]
mov dword [eax + 0x2c], 2
mov edi, dword [edi + 0x1b8]
test edi, edi
je 0x5c0dff
nop dword [eax]
mov eax, dword [edi + 8]
push dword [eax]
push ebx
push 0x691d4c
push 1
push esi
call fcn.005de3e0
mov edi, dword [edi]
add esp, 0x14
inc ebx
test edi, edi
jne 0x5c23d0
jmp 0x5c0dff
mov eax, dword [esp + 0x10]
mov ebp, 0x6eccf8
mov ebx, dword [eax + 0x18]
mov eax, dword [esp + 0x14]
shr ebx, 5
and ebx, 1
mov dword [eax + 0x2c], 6
nop
mov edi, dword [ebp]
test edi, edi
je 0x5c242b
push ebx
push 1
push edi
push esi
call fcn.00594550
mov edi, dword [edi + 0x24]
add esp, 0x10
test edi, edi
jne 0x5c2417
add ebp, 4
cmp ebp, 0x6ecd54
jl 0x5c2410
mov edi, dword [esp + 0x10]
mov edi, dword [edi + 0x1a8]
test edi, edi
je 0x5c0dff
push ebx
push 0
push dword [edi + 8]
push esi
call fcn.00594550
mov edi, dword [edi]
add esp, 0x10
test edi, edi
jne 0x5c2448
jmp 0x5c0dff
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
mov dword [eax + 0x2c], 1
mov edi, dword [edi + 0x18c]
test edi, edi
je 0x5c0dff
nop
mov eax, dword [edi + 8]
push dword [eax + 4]
push 0x6b0ae0
push 1
push esi
call fcn.005de3e0
mov edi, dword [edi]
add esp, 0x10
test edi, edi
jne 0x5c2480
jmp 0x5c0dff
mov edi, 0x68bf10
push dword [edi]
push 0x6b0ae0
push 1
push esi
call fcn.005de3e0
add edi, 0x10
add esp, 0x10
cmp edi, 0x68c340
jl 0x5c24a6
jmp 0x5c0dff
test edx, edx
je 0x5c0dff
mov edi, dword [esp + 0x1c]
push edi
push edx
push dword [esp + 0x18]
call fcn.005b2630
add esp, 0xc
mov dword [esp + 0x28], eax
test eax, eax
je 0x5c0dff
cmp byte [eax + 0x2b], 0
jne 0x5c0dff
mov edi, dword [eax + 0x30]
test edi, edi
je 0x5c0dff
push dword [eax + 0x3c]
push dword [esp + 0x14]
call fcn.005c8d70
mov ecx, dword [esp + 0x1c]
xor ebp, ebp
push eax
push ecx
mov dword [esp + 0x3c], ebp
mov dword [ecx + 0x2c], 8
call fcn.005a6b80
add esp, 0x10
nop word [eax + eax]
xor ebx, ebx
cmp dword [edi + 0x14], ebx
jle 0x5c2598
lea ebp, [edi + 0x24]
nop word [eax + eax]
movzx eax, byte [edi + 0x19]
push str.NONE
push eax
call fcn.00567b20
add esp, 4
push eax
movzx eax, byte [edi + 0x1a]
push eax
call fcn.00567b20
mov ecx, dword [ebp]
add esp, 4
add ecx, ecx
push eax
push dword [ebp + 4]
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 4]
push dword [eax + ecx*8]
push dword [edi + 8]
push ebx
push dword [esp + 0x48]
push str.iissssss
push 1
push esi
call fcn.005de3e0
inc ebx
lea ebp, [ebp + 8]
add esp, 0x2c
cmp ebx, dword [edi + 0x14]
jl 0x5c2540
mov ebp, dword [esp + 0x2c]
mov edi, dword [edi + 4]
inc ebp
mov dword [esp + 0x2c], ebp
test edi, edi
jne 0x5c2530
jmp 0x5c1a0c
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x2c]
lea ecx, [eax + 1]
add eax, 5
mov dword [edx + 0x2c], eax
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x38]
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 0xc]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x5c0dff
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
test eax, eax
je 0x5c25fe
push edi
push eax
push 0
push edx
call fcn.005bc6d0
mov edx, dword [esp + 0x24]
add esp, 0x10
xor ecx, ecx
jmp 0x5c2603
mov eax, dword [ecx + 8]
mov ecx, dword [ecx]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x64], eax
test eax, eax
je 0x5c2c9f
cmp byte [eax + 0x2b], 0
jne 0x5c2c9f
cmp dword [eax + 0x30], 0
je 0x5c2c9f
mov ecx, dword [eax + 0x3c]
mov edi, 0xffff8000
test ecx, ecx
je 0x5c264b
mov eax, dword [esp + 0x10]
xor edi, edi
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], ecx
je 0x5c264b
lea eax, [eax + 0x10]
inc edi
cmp dword [eax], ecx
jne 0x5c2643
mov eax, dword [esp + 0x10]
mov ebp, edi
add ebp, ebp
mov ecx, edi
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ebp*8]
mov dword [esp + 0x1c], eax
mov eax, dword [edx + 0x80]
test eax, eax
cmovne edx, eax
mov eax, 1
shl eax, cl
mov ebx, dword [edx + 0x5c]
test ebx, eax
jne 0x5c2786
bts ebx, edi
mov dword [edx + 0x5c], ebx
cmp edi, 1
jne 0x5c278f
push edx
call fcn.005bddc0
add esp, 4
mov ebx, dword [esp + 0x64]
mov ecx, dword [esp + 0x14]
movsx eax, word [ebx + 0x22]
add eax, dword [esp + 0x78]
cmp dword [ecx + 0x2c], eax
jge 0x5c26ac
mov dword [ecx + 0x2c], eax
push 0x70
push ebx
push edi
push 0
push ecx
call fcn.005bda50
push 0
push dword [ebx]
push 0
push dword [esp + 0x80]
push 0
push 0x75
push esi
call fcn.005d2c80
mov ebp, dword [ebx + 0x30]
add esp, 0x30
mov eax, 1
mov dword [esp + 0x24], eax
test ebp, ebp
je 0x5c27fb
mov eax, edi
shl eax, 4
mov dword [esp + 0x28], eax
nop
push dword [esp + 0x1c]
push dword [ebp + 8]
push dword [esp + 0x18]
call fcn.005b2630
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x5c27e3
mov dword [esp + 0x88], 0
cmp edi, 1
je 0x5c2745
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
mov ecx, dword [edx]
mov ecx, dword [ecx + 0x10]
mov eax, dword [ecx + eax + 4]
cmp byte [eax + 9], 0
je 0x5c2745
push dword [ebx]
push 0
push dword [ebx + 0x14]
push edi
push edx
call fcn.0058a980
add esp, 0x14
push 0
lea eax, [esp + 0x8c]
push eax
push ebp
push ebx
push dword [esp + 0x24]
call fcn.005b3f80
add esp, 0x14
test eax, eax
jne 0x5c0dff
mov eax, dword [esp + 0x88]
test eax, eax
jne 0x5c27c0
push 0x70
push ebx
push edi
push dword [esp + 0x30]
push dword [esp + 0x24]
call fcn.005bda50
add esp, 0x14
jmp 0x5c27e3
cmp edi, 1
je 0x5c2694
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x64]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ebp*8 + 4]
cmp byte [eax + 9], 0
je 0x5c269c
push dword [ebx]
push 0
push dword [ebx + 0x14]
push edi
push ecx
call fcn.0058a980
add esp, 0x14
jmp 0x5c2698
push edi
push dword [eax + 0x2c]
push dword [esp + 0x2c]
push 0x70
push esi
call fcn.005d2c20
push dword [esp + 0x9c]
push dword [esp + 0x2c]
call fcn.005df470
add esp, 0x1c
mov eax, dword [esp + 0x24]
mov ebp, dword [ebp + 4]
inc eax
mov dword [esp + 0x24], eax
test ebp, ebp
jne 0x5c26f0
mov ebx, dword [esp + 0x64]
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0x28], eax
jge 0x5c2807
mov dword [ecx + 0x28], eax
push 0
push 0x24
push esi
call fcn.005d2b60
mov ebp, dword [ebx + 0x30]
add esp, 0xc
mov dword [esp + 0x48], 1
mov edi, eax
mov dword [esp + 0x7c], edi
mov dword [esp + 0x5c], ebp
test ebp, ebp
je 0x5c2c2d
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x10]
add eax, 2
mov dword [esp + 0x80], eax
push dword [esp + 0x1c]
push dword [ebp + 8]
push ecx
call fcn.005b2630
xor edi, edi
mov dword [esp + 0x34], eax
add esp, 0xc
mov dword [esp + 0x88], 0
mov dword [esp + 0x20], edi
test eax, eax
je 0x5c288b
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x8c]
push ecx
push ebp
push eax
push dword [esp + 0x24]
call fcn.005b3f80
mov edi, dword [esp + 0x34]
add esp, 0x14
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x78]
dec dword [edx + 0x38]
mov eax, dword [ebp + 0x14]
mov ebx, dword [edx + 0x38]
add eax, ecx
mov dword [esp + 0x2c], ebx
cmp dword [edx + 0x2c], eax
jge 0x5c28aa
mov dword [edx + 0x2c], eax
mov eax, dword [esp + 0x5c]
xor ebp, ebp
cmp dword [eax + 0x14], ebp
jle 0x5c2940
add eax, 0x24
mov ebx, ecx
mov dword [esp + 0x20], eax
test edi, edi
je 0x5c28c9
lea eax, [edi + ebp*4]
push ebx
push dword [eax]
push 0
push dword [esp + 0x70]
push esi
call fcn.005ad0c0
mov ecx, dword [esi + 0x6c]
add esp, 0x14
cmp dword [esi + 0x70], ecx
jg 0x5c28f7
push 0
push dword [esp + 0x30]
push ebx
push 0x32
push esi
call fcn.005815b0
add esp, 0x14
jmp 0x5c2926
mov edx, dword [esp + 0x2c]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x5c]
inc ebp
mov eax, dword [esp + 0x20]
inc ebx
add eax, 8
mov dword [esp + 0x20], eax
cmp ebp, dword [ecx + 0x14]
jl 0x5c28c2
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x88]
test eax, eax
je 0x5c29d5
mov ecx, dword [eax + 0x10]
test ecx, ecx
jne 0x5c2965
push eax
push dword [esp + 0x14]
call fcn.00572c00
add esp, 8
mov ecx, eax
mov ebp, dword [esp + 0x5c]
mov eax, dword [ebp + 0x14]
push eax
push ecx
push 0
push eax
push dword [esp + 0x88]
push 0x60
push esi
call fcn.005d2c80
mov ecx, dword [esi + 0x6c]
add esp, 0x1c
mov edx, dword [ebp + 0x14]
cmp dword [esi + 0x70], ecx
jg 0x5c29a8
push edx
push dword [esp + 0x7c]
push ebx
push dword [esp + 0x54]
push 0x1d
push esi
call fcn.00567cb0
add esp, 0x18
jmp 0x5c2a3a
mov ebp, dword [esp + 0x48]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], ebp
mov ebp, dword [esp + 0x78]
mov dword [eax + ecx*4], 0xfd1d
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], ebp
mov dword [eax + ecx*4 + 0x10], edx
jmp 0x5c2a36
cmp dword [esp + 0x28], 0
je 0x5c2a36
mov ecx, dword [esi + 0x6c]
lea edx, [ecx + 2]
cmp dword [esi + 0x70], ecx
jg 0x5c29fd
push dword [esp + 0x78]
push edx
push dword [esp + 0x50]
push 0x1e
push esi
call fcn.005815b0
add esp, 0x14
jmp 0x5c2a2c
mov ebp, dword [esp + 0x48]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], ebp
mov ebp, dword [esp + 0x78]
mov dword [eax + ecx*4], 0x1e
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], ebp
mov dword [eax + ecx*4 + 0x10], 0
push ebx
push esi
call fcn.005dc590
add esp, 8
mov ebp, dword [esp + 0x5c]
mov edx, dword [esp + 0x64]
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
test byte [edx + 0x1c], 0x80
jne 0x5c2a7d
cmp eax, ecx
jg 0x5c2a68
mov eax, dword [esp + 0x60]
push 0
inc eax
push eax
push 0
push 0x87
push esi
call fcn.005815b0
add esp, 0x14
jmp 0x5c2ad0
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x87
jmp 0x5c2aab
cmp eax, ecx
jg 0x5c2a98
mov eax, dword [esp + 0x60]
push 0
inc eax
push eax
push 0
push 0x4b
push esi
call fcn.005815b0
add esp, 0x14
jmp 0x5c2ad0
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x4b
mov edx, dword [esp + 0x60]
mov ebp, dword [esp + 0x5c]
inc edx
mov dword [eax + ecx*4 + 0x10], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 4], 0
mov eax, dword [esp + 0x48]
dec eax
push eax
push dword [ebp + 8]
push 0x691d64
push dword [esp + 0x8c]
push esi
call fcn.005de3e0
mov ecx, dword [esi + 0x6c]
add esp, 0x14
cmp dword [esi + 0x70], ecx
jg 0x5c2b0b
push 0
push 4
push dword [esp + 0x68]
push 0x54
push esi
call fcn.005815b0
add esp, 0x14
jmp 0x5c2b3e
mov edx, dword [esp + 0x60]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 4
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0xc]
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x5c2b58
push ebx
push esi
push ecx
call fcn.00598020
add esp, 0xc
jmp 0x5c2b61
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x6c]
mov dword [ecx + ebx*4], eax
mov ecx, dword [esp + 0x10]
test edi, edi
je 0x5c2c16
cmp edi, dword [ecx + 0x164]
jae 0x5c2ba8
cmp edi, dword [ecx + 0x15c]
jb 0x5c2b90
mov eax, dword [ecx + 0x158]
mov dword [edi], eax
mov dword [ecx + 0x158], edi
jmp 0x5c2c16
cmp edi, dword [ecx + 0x160]
jb 0x5c2ba8
mov eax, dword [ecx + 0x150]
mov dword [edi], eax
mov dword [ecx + 0x150], edi
jmp 0x5c2c16
cmp dword [ecx + 0x210], 0
je 0x5c2bbd
push edi
push ecx
call fcn.0058bbf0
add esp, 8
jmp 0x5c2c12
cmp dword [0x6d4c38], 0
je 0x5c2c08
mov eax, dword [0x6ecdc0]
test eax, eax
je 0x5c2bd9
push eax
call dword [0x6d4c88]
add esp, 4
push edi
call dword [0x6d4c64]
sub dword [0x6ecd58], eax
dec dword [0x6ecd7c]
push edi
call dword [0x6d4c5c]
mov eax, dword [0x6ecdc0]
add esp, 8
test eax, eax
je 0x5c2c12
push eax
call dword [0x6d4c90]
jmp 0x5c2c0f
push edi
call dword [0x6d4c5c]
add esp, 4
mov ecx, dword [esp + 0x10]
mov ebp, dword [ebp + 4]
inc dword [esp + 0x48]
mov dword [esp + 0x5c], ebp
test ebp, ebp
jne 0x5c2843
mov edi, dword [esp + 0x7c]
mov ecx, dword [esi + 0x6c]
lea edx, [edi + 1]
cmp dword [esi + 0x70], ecx
jg 0x5c2c4a
push 0
push edx
push 0
push 0x27
push esi
call fcn.005815b0
add esp, 0x14
jmp 0x5c2c79
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x27
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [esi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x5c2c8b
mov eax, 0x6ecf90
jmp 0x5c2c94
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x44]
mov edi, dword [esp + 0x1c]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x14]
test ecx, ecx
jne 0x5c25e1
jmp 0x5c0dff
test edx, edx
je 0x5c0dff
push 0
push edx
call fcn.005b7e40
mov ebp, dword [esp + 0x18]
add esp, 8
test al, al
mov edi, 0x68a628
mov ecx, 0x68a62c
mov esi, 2
cmovne edi, ecx
xor ebx, ebx
test al, al
setne bl
lea ebx, [ebx*8 + 4]
nop dword [eax]
push 0
push 0
push 0
push 0
push 0
push 0x559420
push edi
push 1
push esi
push str.like
push ebp
call fcn.005a88d0
push 0
push 1
push esi
push str.like
push ebp
call fcn.005b1a60
inc esi
add esp, 0x40
mov ecx, dword [eax + 4]
or ecx, ebx
and ecx, 0xffdfffff
mov dword [eax + 4], ecx
cmp esi, 3
jle 0x5c2cf0
push dword [esp + 0x34]
push ebp
call fcn.005a9be0
mov eax, dword [esp + 0x20]
add esp, 8
jmp 0x5c0e18
mov eax, dword [esp + 0x34]
xor ecx, ecx
mov ebx, dword [esp + 0x14]
mov ebp, 0x64
mov dword [esp + 0x3c], 0
mov dword [esp + 0x2c], ebp
movzx eax, byte [eax]
mov dword [esp + 0x54], ebp
mov al, byte [eax + 0x68b3e0]
cmp al, 0x71
mov byte [esp + 0x87], al
mov eax, 0xffffffff
sete cl
cmp dword [edi], 0
mov edi, dword [esp + 0x38]
cmove edi, eax
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x38], edi
mov dword [ebx + 0x2c], 6
test edx, edx
je 0x5c2dfd
lea eax, [esp + 0x54]
push eax
mov eax, dword [esp + 0x6c]
push dword [eax]
call fcn.005b80a0
add esp, 8
test eax, eax
je 0x5c2dcb
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x2c], ebp
test ebp, ebp
jg 0x5c2dfd
mov ebp, 0x64
jmp 0x5c2df9
test edi, edi
js 0x5c2ddf
mov eax, dword [esp + 0x10]
mov ecx, edi
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8]
jmp 0x5c2de1
xor eax, eax
push eax
push dword [esp + 0x1c]
push 0
push ebx
call fcn.005bc6d0
mov ebp, dword [esp + 0x64]
add esp, 0x10
mov dword [esp + 0x3c], eax
mov dword [esp + 0x2c], ebp
push 1
lea ecx, [ebp - 1]
push ecx
push 0x47
push esi
call fcn.005d2bc0
mov eax, dword [esp + 0x20]
xor ecx, ecx
add esp, 0x10
mov dword [esp + 0x64], ecx
cmp dword [eax + 0x14], ecx
jle 0x5c4bf3
lea eax, [esi + 0x70]
mov dword [esp + 0x98], 0x10
lea ebp, [esi + 0x6c]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x78], ebp
nop
test edi, edi
js 0x5c2e4c
cmp ecx, edi
jne 0x5c4be1
mov eax, dword [ebx + 0x80]
mov edx, ebx
test eax, eax
cmovne edx, eax
mov eax, 1
shl eax, cl
mov edi, dword [edx + 0x5c]
test edi, eax
jne 0x5c2e7f
bts edi, ecx
mov dword [edx + 0x5c], edi
cmp ecx, 1
jne 0x5c2e7f
push edx
call fcn.005bddc0
mov ecx, dword [esp + 0x68]
add esp, 4
mov edi, dword [esp + 0x10]
add ecx, ecx
mov byte [ebx + 0x17], 0
mov eax, dword [edi + 0x10]
mov eax, dword [eax + ecx*8 + 0xc]
xor ecx, ecx
mov dword [esp + 0x68], eax
mov edx, dword [eax + 0x10]
test edx, edx
je 0x5c4bd7
cmp dword [esp + 0x3c], 0
mov eax, dword [edx + 8]
je 0x5c2eb1
cmp dword [esp + 0x3c], eax
jne 0x5c2ec8
test byte [eax + 0x1c], 0x80
jne 0x5c2eb8
inc ecx
mov eax, dword [eax + 8]
test eax, eax
je 0x5c2ec8
nop
mov eax, dword [eax + 0x14]
inc ecx
test eax, eax
jne 0x5c2ec0
mov edx, dword [edx]
test edx, edx
jne 0x5c2ea1
test ecx, ecx
je 0x5c4bd7
mov ebx, dword [esp + 0x3c]
lea eax, [ecx + 1]
test ebx, ebx
push edx
cmove eax, ecx
lea eax, [eax*4 + 4]
push eax
push edi
call fcn.005a9cf0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x5c4bef
xor edx, edx
test ebx, ebx
je 0x5c2f10
mov edx, 1
mov dword [edi + 4], 0
mov ebx, dword [esp + 0x68]
mov ebx, dword [ebx + 0x10]
test ebx, ebx
je 0x5c2f58
mov ebp, dword [esp + 0x3c]
nop
mov ecx, dword [ebx + 8]
test ebp, ebp
je 0x5c2f2b
cmp ebp, ecx
jne 0x5c2f4e
test byte [ecx + 0x1c], 0x80
jne 0x5c2f38
mov eax, dword [ecx + 0x14]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x5c2f4e
nop
mov eax, dword [ecx + 0x2c]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x5c2f40
mov ebx, dword [ebx]
test ebx, ebx
jne 0x5c2f20
mov ebp, dword [esp + 0x78]
mov ecx, dword [esp + 0x14]
lea eax, [edx + 8]
mov dword [edi], edx
cmp dword [ecx + 0x2c], eax
jge 0x5c2f69
mov dword [ecx + 0x2c], eax
push 0xfffffffffffffff2
push edi
push 8
push edx
push 1
push 0x9b
push esi
mov byte [ecx + 0x13], 0
mov dword [ecx + 0x1c], 0
call fcn.005d2c80
mov eax, dword [ebp]
add esp, 0x1c
test eax, eax
jle 0x5c2fa3
mov ecx, dword [esp + 0x64]
movzx edx, cl
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov ebx, dword [esp + 0x30]
mov edi, dword [ebp]
cmp dword [ebx], edi
jg 0x5c2fc3
push 0
push 0
push 2
push 0x32
push esi
call fcn.005815b0
add esp, 0x14
mov edi, eax
jmp 0x5c2ff6
lea eax, [edi + 1]
mov dword [ebp], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], 2
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x64]
add ecx, ecx
push 0xfffffffffffffffa
mov eax, dword [edx + 0x10]
push dword [eax + ecx*8]
push str._in_database__s__n
push edx
call fcn.005bcc60
add esp, 0xc
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.005d2c80
mov ecx, dword [ebp]
add esp, 0x1c
cmp dword [ebx], ecx
jg 0x5c3042
push 3
push 3
push 2
push 0x6f
push esi
call fcn.005815b0
add esp, 0x14
jmp 0x5c3075
lea eax, [ecx + 1]
mov dword [ebp], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 2
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
push esi
call fcn.00582890
mov eax, dword [esi]
add esp, 4
mov edx, dword [ebp]
cmp byte [eax + 0x57], 0
je 0x5c3090
mov eax, 0x6ecf90
jmp 0x5c3099
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov edi, dword [esp + 0x3c]
push 0
push str.wrong__of_entries_in_index
push 0
mov dword [eax + 8], edx
xor eax, eax
push 2
push 0
test edi, edi
push 0x75
setne al
push esi
mov dword [esp + 0x64], eax
call fcn.005d2c80
mov eax, dword [esp + 0x84]
add esp, 0x1c
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x50], ecx
test ecx, ecx
je 0x5c326d
nop dword [eax]
mov ebx, dword [ecx + 8]
test edi, edi
je 0x5c30ef
cmp edi, ebx
jne 0x5c3257
test byte [ebx + 0x1c], 0x80
mov eax, dword [esp + 0x48]
mov edi, eax
mov dword [esp + 0x24], edi
jne 0x5c3106
inc eax
mov dword [esp + 0x48], eax
jmp 0x5c312d
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x5c3129
nop dword [eax]
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x5c3121
mov ecx, dword [ecx + 0x14]
inc edi
test ecx, ecx
jne 0x5c3110
mov eax, dword [esp + 0x48]
mov dword [esp + 0x24], edi
mov ecx, dword [esp + 0x50]
mov ebx, dword [ebx + 8]
test ebx, ebx
je 0x5c3253
lea edx, [eax + 8]
mov dword [esp + 0x20], edx
nop
cmp dword [ebx + 0x24], 0
jne 0x5c3236
mov ecx, dword [esp + 0x30]
lea eax, [edi + 8]
mov edi, dword [ebp]
cmp dword [ecx], edi
jg 0x5c316b
push eax
push 0
push edx
push 0x35
push esi
call fcn.005815b0
add esp, 0x14
mov edi, eax
jmp 0x5c31a1
lea eax, [edi + 1]
mov dword [ebp], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov ebp, dword [esp + 0x78]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x24]
add edx, 8
mov dword [eax + ecx*4], 0x35
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
push 0
push dword [ebx]
push 0
push 4
push 0
push 0x75
push esi
call fcn.005d2c80
mov eax, dword [esp + 0x4c]
add esp, 0x1c
mov ecx, dword [ebp]
cmp dword [eax], ecx
jg 0x5c31d4
push 3
push 2
push 4
push 0x6f
push esi
call fcn.005815b0
add esp, 0x14
jmp 0x5c3207
lea eax, [ecx + 1]
mov dword [ebp], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 4
mov dword [eax + ecx*4 + 8], 2
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
push esi
call fcn.00582890
mov eax, dword [esi]
add esp, 4
mov edx, dword [ebp]
cmp byte [eax + 0x57], 0
je 0x5c3222
mov eax, 0x6ecf90
jmp 0x5c322b
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x48]
mov ebx, dword [ebx + 0x14]
inc eax
mov edi, dword [esp + 0x24]
inc edx
mov dword [esp + 0x48], eax
mov dword [esp + 0x20], edx
test ebx, ebx
jne 0x5c3140
mov ecx, dword [esp + 0x50]
mov edi, dword [esp + 0x3c]
mov ecx, dword [ecx]
mov dword [esp + 0x50], ecx
test ecx, ecx
jne 0x5c30e0
mov ebx, dword [esp + 0x30]
mov eax, dword [esp + 0x68]
mov edi, dword [eax + 0x10]
mov dword [esp + 0x28], edi
test edi, edi
je 0x5c4a9f
mov eax, dword [esp + 0x3c]
mov edi, dword [edi + 8]
mov dword [esp + 0x58], edi
mov dword [esp + 0x80], 0
mov dword [esp + 0x60], 0xffffffff
test eax, eax
je 0x5c32a6
cmp eax, edi
jne 0x5c4a89
cmp byte [edi + 0x2b], 0
jne 0x5c4a89
cmp byte [esp + 0x87], 0x71
je 0x5c335e
test byte [edi + 0x1c], 0x80
je 0x5c335e
mov ecx, dword [edi + 8]
mov dword [esp + 0x90], ecx
test ecx, ecx
je 0x5c32ed
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x5c32e6
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x5c32d6
mov dword [esp + 0x90], ecx
movzx eax, word [ecx + 0x32]
push eax
push dword [esp + 0x18]
call fcn.005b8220
mov edx, eax
add esp, 8
mov eax, dword [esp + 0x90]
mov dword [esp + 0x5c], edx
movzx ecx, word [eax + 0x32]
dec ecx
add edx, ecx
mov ecx, dword [ebp]
cmp dword [ebx], ecx
jg 0x5c332d
push edx
push dword [esp + 0x60]
push 1
push 0x4b
push esi
call fcn.005815b0
add esp, 0x14
jmp 0x5c3371
mov ebx, dword [esp + 0x5c]
lea eax, [ecx + 1]
mov dword [ebp], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x4b
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x5c3371
mov dword [esp + 0x90], 0
mov dword [esp + 0x5c], 0
lea eax, [esp + 0x9c]
push eax
lea eax, [esp + 0x90]
push eax
push 0
push 1
push 0
push 0x70
push edi
push dword [esp + 0x30]
call fcn.005bdb90
mov edx, dword [esp + 0x50]
add esp, 0x20
mov ecx, dword [ebp]
cmp dword [edx], ecx
jg 0x5c33b8
push 0
push 7
push 0
push 0x47
push esi
call fcn.005815b0
mov edx, dword [esp + 0x44]
add esp, 0x14
jmp 0x5c33eb
lea eax, [ecx + 1]
mov dword [ebp], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 7
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [edi + 8]
test ebx, ebx
je 0x5c3453
mov edi, 8
mov ecx, dword [ebp]
cmp dword [edx], ecx
jg 0x5c3414
push 0
push edi
push 0
push 0x47
push esi
call fcn.005815b0
mov edx, dword [esp + 0x44]
add esp, 0x14
jmp 0x5c3447
lea eax, [ecx + 1]
mov dword [ebp], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [ebx + 0x14]
inc edi
test ebx, ebx
jne 0x5c33f7
mov edi, dword [esp + 0x58]
mov ecx, dword [ebp]
cmp dword [edx], ecx
jg 0x5c3476
push 0
push 0
push dword [esp + 0x94]
push 0x24
push esi
call fcn.005815b0
mov edx, dword [esp + 0x44]
add esp, 0x14
jmp 0x5c34ac
mov ebx, dword [esp + 0x8c]
lea eax, [ecx + 1]
mov dword [ebp], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x24
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [ebp]
mov dword [esp + 0x20], ebx
cmp dword [edx], ebx
jg 0x5c34ce
push 0
push 1
push 7
push 0x56
push esi
call fcn.005815b0
add esp, 0x14
mov dword [esp + 0x20], eax
jmp 0x5c3501
lea eax, [ebx + 1]
mov dword [ebp], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x56
mov dword [eax + ecx*4 + 4], 7
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
test byte [edi + 0x1c], 0x80
jne 0x5c3541
movsx edi, word [edi + 0x22]
or ecx, 0xffffffff
mov ebx, dword [esp + 0x58]
test edi, edi
jle 0x5c3533
mov edx, dword [ebx + 4]
add edx, 0xe
nop dword [eax]
test byte [edx], 0x20
lea eax, [ecx + 1]
lea edx, [edx + 0x10]
cmovne eax, ecx
mov ecx, eax
sub edi, 1
jne 0x5c3520
movsx eax, word [ebx + 0x20]
lea edx, [ecx - 1]
cmp ecx, eax
cmovne edx, ecx
jmp 0x5c355d
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x5c3558
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x5c3558
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x5c3548
movzx edx, word [ecx + 0x34]
dec edx
mov ebx, dword [esp + 0x30]
test edx, edx
js 0x5c35eb
mov ecx, dword [ebp]
cmp dword [ebx], ecx
jg 0x5c3587
push 3
push edx
push dword [esp + 0x94]
push 0x5e
push esi
call fcn.005815b0
add esp, 0x14
jmp 0x5c35b9
mov edi, dword [esp + 0x8c]
lea eax, [ecx + 1]
mov dword [ebp], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x5e
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x5c35c8
mov eax, 0x6ecf90
jmp 0x5c35d7
mov eax, dword [ebp]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + ecx*4]
add eax, 0xffffffec
cmp dword [eax + 0xc], 3
jne 0x5c35eb
cmp byte [eax], 0x5e
jne 0x5c35eb
mov ecx, 0x80
or word [eax + 2], cx
cmp byte [esp + 0x87], 0x71
je 0x5c3764
mov eax, dword [esp + 0x90]
test eax, eax
je 0x5c3764
mov edi, dword [ebp]
movzx edx, word [eax + 0x32]
cmp dword [ebx], edi
jg 0x5c3630
push edx
push dword [esp + 0x60]
push 0
push dword [esp + 0x98]
push 0x29
push esi
call fcn.00567cb0
add esp, 0x18
mov edi, eax
jmp 0x5c3666
mov ebx, dword [esp + 0x8c]
lea eax, [edi + 1]
mov dword [ebp], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x5c]
mov dword [eax + ecx*4 + 0xc], ebx
mov ebx, dword [esp + 0x30]
mov dword [eax + ecx*4], 0xfd29
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0x10], edx
mov ecx, dword [ebp]
cmp dword [ebx], ecx
jg 0x5c3682
push 0
push 0
push dword [esp + 0x64]
push 0x32
push esi
call fcn.005815b0
add esp, 0x14
jmp 0x5c36b5
mov edx, dword [esp + 0x5c]
lea eax, [ecx + 1]
mov dword [ebp], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x58]
push dword [eax]
push str.row_not_in_PRIMARY_KEY_order_for__s
push dword [esp + 0x18]
call fcn.005bcc60
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.005d2c80
push esi
call fcn.00582890
mov eax, dword [esi]
add esp, 0x2c
mov edx, dword [ebp]
cmp byte [eax + 0x57], 0
je 0x5c36f5
mov eax, 0x6ecf90
jmp 0x5c36fe
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esi]
mov edx, dword [ebp]
cmp byte [eax + 0x57], 0
je 0x5c3713
mov eax, 0x6ecf98
jmp 0x5c371f
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
add eax, 0x1c
mov ebx, dword [esp + 0x90]
xor edi, edi
mov dword [eax], edx
xor eax, eax
cmp ax, word [ebx + 0x32]
jae 0x5c3764
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x8c]
nop dword [eax]
mov eax, dword [esp + 0x5c]
add eax, edi
push eax
push edi
push esi
push ebx
push ebp
call fcn.005ade90
movzx eax, word [ebx + 0x32]
inc edi
add esp, 0x14
cmp edi, eax
jl 0x5c3740
mov esi, dword [esp + 0x40]
mov ebp, dword [esp + 0x78]
mov edi, dword [esp + 0x58]
xor ebx, ebx
xor eax, eax
mov dword [esp + 0x48], ebx
movzx ecx, word [edi + 0x1e]
and ecx, 1
mov dword [esp + 0x44], ecx
cmp ax, word [edi + 0x22]
jge 0x5c3f4b
movsx eax, word [edi + 0x20]
mov edx, ebx
shl edx, 4
add edx, dword [edi + 4]
mov dword [esp + 0x24], edx
cmp ebx, eax
je 0x5c3f36
test ecx, ecx
je 0x5c37b6
mov eax, dword [edx + 4]
and eax, 0xf0
cmp dword [esp + 0x98], eax
sbb eax, eax
neg eax
jmp 0x5c37bf
xor eax, eax
cmp byte [edx + 8], 0x41
setg al
test byte [edx + 4], 0xf
mov dword [esp + 0x94], eax
jne 0x5c37d4
test eax, eax
je 0x5c3f36
test byte [edx + 0xe], 0x20
mov dword [esp + 0x40], 5
je 0x5c3805
push 3
push ebx
push dword [esp + 0x94]
push edi
push esi
call fcn.005ad0c0
add esp, 0x14
or edi, 0xffffffff
mov dword [esp + 0x4c], edi
lea edx, [edi + 4]
jmp 0x5c39b0
movzx eax, word [edx + 0xc]
test ax, ax
je 0x5c3948
cmp byte [edi + 0x2b], 0
mov dword [esp + 0x54], 0
jne 0x5c3948
mov ecx, dword [edi + 0x34]
test ecx, ecx
je 0x5c3948
cmp dword [ecx], eax
jl 0x5c3948
lea eax, [eax + eax*4]
mov ecx, dword [ecx + eax*4 - 0xc]
test ecx, ecx
je 0x5c3948
push 0
lea eax, [esp + 0x58]
push eax
movzx eax, byte [edx + 8]
mov edx, dword [esp + 0x18]
push eax
movzx eax, byte [edx + 0x54]
push eax
push ecx
push edx
call fcn.005edc70
mov edi, dword [esp + 0x6c]
add esp, 0x18
test edi, edi
je 0x5c3948
movzx ecx, word [edi + 0x10]
mov eax, ecx
and eax, 0x3f
movzx eax, byte [eax + 0x68b830]
mov dword [esp + 0x40], eax
test ecx, 0x9000
jne 0x5c3893
cmp dword [edi + 0x18], 0
je 0x5c389c
push edi
call fcn.005ef4c0
add esp, 4
mov ecx, dword [edi + 0x14]
test ecx, ecx
je 0x5c38f3
cmp edi, dword [ecx + 0x164]
jae 0x5c38de
cmp edi, dword [ecx + 0x15c]
jb 0x5c38c6
mov eax, dword [ecx + 0x158]
mov dword [edi], eax
mov dword [ecx + 0x158], edi
jmp 0x5c3948
cmp edi, dword [ecx + 0x160]
jb 0x5c38de
mov eax, dword [ecx + 0x150]
mov dword [edi], eax
mov dword [ecx + 0x150], edi
jmp 0x5c3948
cmp dword [ecx + 0x210], 0
je 0x5c38f3
push edi
push ecx
call fcn.0058bbf0
add esp, 8
jmp 0x5c3948
cmp dword [0x6d4c38], 0
je 0x5c393e
mov eax, dword [0x6ecdc0]
test eax, eax
je 0x5c390f
push eax
call dword [0x6d4c88]
add esp, 4
push edi
call dword [0x6d4c64]
sub dword [0x6ecd58], eax
dec dword [0x6ecd7c]
push edi
call dword [0x6d4c5c]
mov eax, dword [0x6ecdc0]
add esp, 8
test eax, eax
je 0x5c3948
push eax
call dword [0x6d4c90]
jmp 0x5c3945
push edi
call dword [0x6d4c5c]
add esp, 4
mov eax, dword [esp + 0x58]
mov edi, dword [esp + 0x8c]
mov dword [esp + 0x4c], edi
test byte [eax + 0x1c], 0x80
je 0x5c39a3
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x5c3974
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x5c3974
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x5c3964
movzx edi, word [ecx + 0x34]
xor edx, edx
test edi, edi
je 0x5c3991
mov eax, dword [ecx + 4]
movzx ebx, bx
cmp bx, word [eax]
je 0x5c399a
inc edx
add eax, 2
cmp edx, edi
jl 0x5c3984
mov edi, dword [esp + 0x4c]
or eax, 0xffffffff
jmp 0x5c39ad
mov edi, dword [esp + 0x4c]
movzx eax, dx
jmp 0x5c39ad
push ebx
push eax
call fcn.005ce530
add esp, 8
movsx edx, ax
mov eax, dword [esp + 0x14]
mov ecx, esi
mov dword [esp + 0x1c], edx
mov dword [esp + 0x54], ecx
mov eax, dword [eax + 0x38]
dec eax
mov dword [esp + 0x7c], eax
lea ebx, [eax - 1]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x50], ebx
mov dword [eax + 0x38], ebx
mov eax, dword [esp + 0x24]
test byte [eax + 4], 0xf
je 0x5c3bc3
mov eax, dword [esp + 0x30]
mov ebx, dword [ebp]
cmp dword [eax], ebx
jg 0x5c3a0a
push dword [esp + 0x40]
push edx
push dword [esp + 0x58]
push edi
push 0x12
push esi
call fcn.00567cb0
mov edx, dword [esp + 0x34]
add esp, 0x18
mov ebx, eax
jmp 0x5c3a3d
lea eax, [ebx + 1]
mov dword [ebp], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 0x68]
mov ebp, dword [esp + 0x78]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x50]
mov dword [eax + ecx*4 + 8], edi
mov edi, dword [esp + 0x40]
mov dword [eax + ecx*4 + 0x10], edi
mov edi, dword [esp + 0x4c]
mov dword [eax + ecx*4], 0xfd12
mov dword [eax + ecx*4 + 0xc], edx
mov eax, dword [esp + 0x88]
mov eax, dword [eax + 0x6c]
test edi, edi
jns 0x5c3a66
test eax, eax
jle 0x5c3a5f
lea ecx, [eax + eax*4]
mov edx, 0xf
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov edi, ebx
jmp 0x5c3b31
test eax, eax
jle 0x5c3a7e
lea ecx, [eax + eax*4]
mov ebp, 0xd
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], bp
mov ebp, dword [esp + 0x78]
mov eax, dword [esp + 0x30]
mov ecx, dword [ebp]
cmp dword [eax], ecx
jg 0x5c3a9a
push 3
push edx
push edi
push 0x5e
push esi
call fcn.005815b0
add esp, 0x14
jmp 0x5c3ac9
lea eax, [ecx + 1]
mov dword [ebp], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov ebp, dword [esp + 0x78]
mov dword [eax + ecx*4], 0x5e
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
push 3
push dword [esp + 0x4c]
push dword [esp + 0x60]
push esi
call fcn.005a6cd0
mov eax, dword [esp + 0x40]
add esp, 0x10
mov edi, dword [ebp]
cmp dword [eax], edi
jg 0x5c3afe
push 0
push dword [esp + 0x54]
push 3
push 0x33
push esi
call fcn.005815b0
add esp, 0x14
mov edi, eax
jmp 0x5c3b31
mov edx, dword [esp + 0x50]
lea eax, [edi + 1]
mov dword [ebp], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x33
mov dword [eax + ecx*4 + 4], 3
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x5c]
push dword [eax]
push str.NULL_value_in__s._s
push dword [esp + 0x1c]
call fcn.005bcc60
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.005d2c80
mov edx, dword [esp + 0xc0]
add esp, 0x2c
test edx, edx
je 0x5c3c0b
push dword [esp + 0x7c]
push esi
call fcn.005dc590
mov eax, dword [esi]
add esp, 8
mov edx, dword [ebp]
cmp byte [eax + 0x57], 0
je 0x5c3b8d
mov eax, 0x6ecf90
jmp 0x5c3b96
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esi]
mov edx, dword [ebp]
cmp byte [eax + 0x57], 0
je 0x5c3bab
mov eax, 0x6ecf90
jmp 0x5c3bb4
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov ebx, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x94]
cmp dword [esp + 0x44], 0
mov edi, dword [esp + 0x88]
je 0x5c3cea
test edx, edx
je 0x5c3cb8
mov eax, dword [esp + 0x30]
mov ecx, dword [ebp]
cmp dword [eax], ecx
jg 0x5c3c19
push dword [esp + 0x40]
mov edx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x54]
push ebx
push edx
push 0x12
push esi
call fcn.00567cb0
add esp, 0x18
jmp 0x5c3c48
mov ebx, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x24]
jmp 0x5c3bca
mov edx, dword [esp + 0x4c]
lea eax, [ecx + 1]
mov dword [ebp], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x1c]
mov dword [eax + ecx*4 + 0xc], edx
mov edx, dword [esp + 0x40]
mov dword [eax + ecx*4], 0xfd12
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0x10], edx
mov ecx, dword [ebp]
test ecx, ecx
jle 0x5c3c6e
mov eax, dword [esp + 0x24]
lea ecx, [ecx + ecx*4]
mov eax, dword [eax + 4]
shr eax, 4
and eax, 0xf
movzx edx, byte [eax + 0x6d6447]
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x48]
add ecx, ecx
mov eax, dword [edi + 4]
push dword [eax + ecx*8]
mov eax, dword [esp + 0x28]
push dword [edi]
mov eax, dword [eax + 4]
shr eax, 4
and eax, 0xf
push dword [eax*4 + 0x6d4e28]
push str.non__s_value_in__s._s
push dword [esp + 0x20]
call fcn.005bcc60
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.005d2c80
add esp, 0x30
jmp 0x5c3cc5
mov esi, ecx
mov dword [esp + 0x88], edi
mov edi, dword [esp + 0x58]
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x7c]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x5c3ef9
push edx
push esi
push ecx
call fcn.00598020
add esp, 0xc
jmp 0x5c3f02
cmp byte [eax + 8], 0x42
mov esi, ecx
mov dword [esp + 0x88], edi
jne 0x5c3da7
mov eax, dword [esp + 0x30]
mov ecx, dword [ebp]
mov esi, dword [esp + 0x54]
cmp dword [eax], ecx
jg 0x5c3d28
push dword [esp + 0x40]
mov edx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x54]
push ebx
push edx
push 0x12
push esi
call fcn.00567cb0
add esp, 0x18
jmp 0x5c3d57
mov edx, dword [esp + 0x4c]
lea eax, [ecx + 1]
mov dword [ebp], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x1c]
mov dword [eax + ecx*4 + 0xc], edx
mov edx, dword [esp + 0x40]
mov dword [eax + ecx*4], 0xfd12
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [ebp]
test eax, eax
jle 0x5c3d6e
lea ecx, [eax + eax*4]
mov edx, 0x1c
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x48]
add ecx, ecx
mov eax, dword [edx + 4]
push dword [eax + ecx*8]
push dword [edx]
push str.NUMERIC_value_in__s._s
push dword [esp + 0x1c]
call fcn.005bcc60
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.005d2c80
add esp, 0x2c
jmp 0x5c3cba
cmp byte [eax + 8], 0x43
jl 0x5c3cc1
mov eax, dword [esp + 0x30]
mov ecx, dword [ebp]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x4c]
cmp dword [eax], ecx
jg 0x5c3dd8
push dword [esp + 0x40]
push edx
push ebx
push edi
push 0x12
push esi
call fcn.00567cb0
add esp, 0x18
jmp 0x5c3dff
lea eax, [ecx + 1]
mov dword [ebp], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 0xc], edx
mov edx, dword [esp + 0x40]
mov dword [eax + ecx*4], 0xfd12
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [ebp]
test eax, eax
jle 0x5c3e16
lea ecx, [eax + eax*4]
mov edx, 0x1b
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
test edi, edi
mov edi, dword [esp + 0x48]
js 0x5c3e35
push 3
push edi
push dword [esp + 0x94]
push dword [esp + 0x64]
push esi
call fcn.005ad0c0
add esp, 0x14
push 0xffffffffffffffff
push 0x6a5e50
push 0
push 1
push 3
push 0x60
push esi
call fcn.005d2c80
mov eax, dword [esp + 0x4c]
add esp, 0x1c
mov ecx, dword [ebp]
cmp dword [eax], ecx
jg 0x5c3e6e
push dword [esp + 0x40]
push 3
push ebx
push 0xffffffffffffffff
push 0x12
push esi
call fcn.00567cb0
add esp, 0x18
jmp 0x5c3e9d
mov edx, dword [esp + 0x40]
lea eax, [ecx + 1]
mov dword [ebp], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xfd12
mov dword [eax + ecx*4 + 4], 0xffffffff
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [ebp]
test eax, eax
jle 0x5c3eb4
lea ecx, [eax + eax*4]
mov edx, 0x1c
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov ecx, edi
mov edi, dword [esp + 0x58]
add ecx, ecx
mov eax, dword [edi + 4]
push dword [eax + ecx*8]
push dword [edi]
push str.TEXT_value_in__s._s
push dword [esp + 0x1c]
call fcn.005bcc60
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.005d2c80
mov eax, dword [esp + 0xb4]
add esp, 0x2c
mov dword [esp + 0x88], eax
jmp 0x5c3cc5
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebp]
mov dword [ecx + edx*4], eax
push esi
call fcn.00582890
mov ecx, dword [esi + 0xc]
add esp, 4
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x5c3f25
push ebx
push esi
push ecx
call fcn.00598020
add esp, 0xc
jmp 0x5c3f2e
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebp]
mov dword [ecx + ebx*4], eax
mov ecx, dword [esp + 0x44]
mov ebx, dword [esp + 0x48]
movsx eax, word [edi + 0x22]
inc ebx
mov dword [esp + 0x48], ebx
cmp ebx, eax
jl 0x5c3785
mov dword [esp + 0x40], esi
mov ecx, dword [edi + 0x10]
test ecx, ecx
je 0x5c4094
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x20]
and eax, 0x200
or eax, 0
jne 0x5c4094
push eax
push ecx
push ebx
call fcn.005b0cf0
add esp, 0xc
mov edx, eax
cmp byte [ebx + 0x57], 0
mov dword [esp + 0x44], edx
jne 0x5c4086
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x8c]
inc eax
mov ebx, dword [edi + 0x38]
dec ebx
mov dword [edi + 0x34], eax
mov dword [esp + 0x7c], ebx
lea ecx, [ebx - 1]
mov dword [edi + 0x38], ecx
mov edi, dword [edx]
dec edi
mov dword [esp + 0x54], ecx
test edi, edi
jle 0x5c3fe8
mov ebp, dword [esp + 0x7c]
lea ebx, [edi*4 + 2]
mov esi, dword [esp + 0x14]
add ebx, edi
lea ebx, [edx + ebx*4]
push 0
push ebp
push dword [ebx]
push esi
call fcn.005afdc0
dec edi
lea ebx, [ebx - 0x14]
add esp, 0x10
test edi, edi
jg 0x5c3fc2
mov esi, dword [esp + 0x40]
mov ebp, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
mov edx, dword [esp + 0x44]
mov edi, dword [esp + 0x54]
push 0x10
push edi
push dword [edx + 8]
push dword [esp + 0x20]
call fcn.005b0180
mov ecx, dword [esi + 0xc]
add esp, 0x10
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x5c4018
push ebx
push esi
push ecx
call fcn.00598020
add esp, 0xc
jmp 0x5c4021
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebp]
mov dword [ecx + ebx*4], eax
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov dword [eax + 0x34], 0
mov eax, dword [esp + 0x58]
push dword [eax]
push str.CHECK_constraint_failed_in__s
push ebx
call fcn.005bcc60
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.005d2c80
push esi
call fcn.00582890
mov ecx, dword [esi + 0xc]
add esp, 0x2c
not edi
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x5c4075
push edi
push esi
push ecx
call fcn.00598020
add esp, 0xc
jmp 0x5c407e
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebp]
mov dword [ecx + edi*4], eax
mov edi, dword [esp + 0x58]
mov edx, dword [esp + 0x44]
test edx, edx
je 0x5c4094
push edx
push ebx
call fcn.00579c60
add esp, 8
cmp byte [esp + 0x87], 0x71
je 0x5c49c4
mov edi, dword [edi + 8]
mov dword [esp + 0x1c], edi
test edi, edi
je 0x5c49c4
mov eax, dword [esp + 0x9c]
mov ecx, 8
sub ecx, eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x90]
dec dword [eax + 0x38]
mov ebx, dword [eax + 0x38]
cmp ecx, edi
je 0x5c49b1
push dword [esp + 0x60]
lea ecx, [esp + 0xa4]
push dword [esp + 0x84]
push ecx
push 0
push 0
push dword [esp + 0xa0]
push edi
push eax
call fcn.005b76f0
mov edx, dword [esp + 0x9c]
add esp, 0x20
mov ecx, dword [ebp]
add edx, dword [esp + 0x4c]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x80], edi
cmp dword [eax], ecx
jg 0x5c413b
push 0
push 1
push edx
push 0x56
push esi
call fcn.005815b0
add esp, 0x14
jmp 0x5c416e
mov edi, dword [esp + 0x1c]
lea eax, [ecx + 1]
mov dword [ebp], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x56
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x30]
movzx edx, word [edi + 0x34]
mov edi, dword [ebp]
cmp dword [eax], edi
jg 0x5c4196
push edx
push dword [esp + 0x64]
push ebx
push dword [esp + 0x58]
push 0x1d
push esi
call fcn.00567cb0
add esp, 0x18
mov edi, eax
jmp 0x5c41c5
lea eax, [edi + 1]
mov dword [ebp], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov ebp, dword [esp + 0x4c]
mov dword [eax + ecx*4 + 8], ebx
mov ebx, dword [esp + 0x60]
mov dword [eax + ecx*4 + 4], ebp
mov ebp, dword [esp + 0x78]
mov dword [eax + ecx*4], 0xfd1d
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], edx
push 0
push str.row
push 0
push 3
push 0
push 0x75
push esi
call fcn.005d2c80
mov ebx, dword [esp + 0x4c]
add esp, 0x1c
mov ecx, dword [ebp]
cmp dword [ebx], ecx
jg 0x5c41fb
push 3
push 3
push 7
push 0x6f
push esi
call fcn.005815b0
add esp, 0x14
jmp 0x5c422e
lea eax, [ecx + 1]
mov dword [ebp], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 7
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
push 0
push str._missing_from_index
push 0
push 4
push 0
push 0x75
push esi
call fcn.005d2c80
mov ecx, dword [ebp]
add esp, 0x1c
cmp dword [ebx], ecx
jg 0x5c4260
push 3
push 3
push 4
push 0x6f
push esi
call fcn.005815b0
add esp, 0x14
jmp 0x5c4293
lea eax, [ecx + 1]
mov dword [ebp], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 4
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [esp + 0x1c]
push 0
push dword [ebx]
push 0
push 4
push 0
push 0x75
push esi
call fcn.005d2c80
mov ecx, dword [ebp]
add esp, 0x1c
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x30]
cmp dword [eax], ecx
jg 0x5c42ce
push 3
push 3
push 4
push 0x6f
push esi
call fcn.005815b0
add esp, 0x14
jmp 0x5c4301
lea eax, [ecx + 1]
mov dword [ebp], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 4
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
push esi
call fcn.00582890
mov ecx, dword [esi]
add esp, 4
mov edx, dword [ebp]
mov dword [esp + 0x94], eax
cmp byte [ecx + 0x57], 0
je 0x5c4323
mov ecx, 0x6ecf90
jmp 0x5c432c
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x58]
mov dword [ecx + 8], edx
test byte [eax + 0x1c], 0x80
jne 0x5c4497
mov eax, dword [esp + 0x30]
mov ecx, dword [ebp]
cmp dword [eax], ecx
jg 0x5c4360
push 0
push 3
push dword [esp + 0x54]
push 0x8e
push esi
call fcn.005815b0
add esp, 0x14
jmp 0x5c4393
mov edx, dword [esp + 0x4c]
lea eax, [ecx + 1]
mov dword [ebp], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x8e
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
movzx eax, word [ebx + 0x34]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x30]
dec edx
mov edi, dword [ebp]
add edx, eax
cmp dword [ebx], edi
jg 0x5c43bd
push edx
push 0
push 3
push 0x35
push esi
call fcn.005815b0
add esp, 0x14
mov edi, eax
jmp 0x5c43f0
mov ebx, dword [esp + 0x30]
lea eax, [edi + 1]
mov dword [ebp], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x35
mov dword [eax + ecx*4 + 4], 3
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
push 0
push str.rowid_not_at_end_of_record_for_row
push 0
push 3
push 0
push 0x75
push esi
call fcn.005d2c80
mov ecx, dword [ebp]
add esp, 0x1c
cmp dword [ebx], ecx
jg 0x5c4422
push 3
push 3
push 7
push 0x6f
push esi
call fcn.005815b0
add esp, 0x14
jmp 0x5c4455
lea eax, [ecx + 1]
mov dword [ebp], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 7
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
push 0
push str._of_index
push 0
push 4
push 0
push 0x75
push esi
call fcn.005d2c80
mov eax, dword [esp + 0x70]
dec eax
push eax
push esi
call fcn.005dc590
mov eax, dword [esi]
add esp, 0x24
mov edx, dword [ebp]
cmp byte [eax + 0x57], 0
je 0x5c448b
mov eax, 0x6ecf90
jmp 0x5c4494
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x1c]
xor ecx, ecx
xor ebx, ebx
xor edi, edi
cmp cx, word [eax + 0x32]
jae 0x5c46f0
nop dword [eax + eax]
mov eax, dword [eax + 0x20]
cmp dword [eax + edi*4], str.BINARY
je 0x5c456d
test ebx, ebx
jne 0x5c44ce
mov eax, dword [esp + 0x14]
dec dword [eax + 0x38]
mov ebx, dword [eax + 0x38]
mov eax, dword [esp + 0x30]
mov ecx, dword [ebp]
cmp dword [eax], ecx
jg 0x5c44ed
push 3
push edi
push dword [esp + 0x54]
push 0x5e
push esi
call fcn.005815b0
add esp, 0x14
jmp 0x5c451c
mov edx, dword [esp + 0x4c]
lea eax, [ecx + 1]
mov dword [ebp], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x5e
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x60]
mov ecx, dword [ebp]
add edx, edi
cmp dword [eax], ecx
jg 0x5c453e
push edx
push ebx
push 3
push 0x34
push esi
call fcn.005815b0
add esp, 0x14
jmp 0x5c456d
lea eax, [ecx + 1]
mov dword [ebp], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4], 0x34
mov dword [eax + ecx*4 + 4], 3
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x1c]
inc edi
movzx eax, word [eax + 0x32]
cmp edi, eax
mov eax, dword [esp + 0x1c]
jl 0x5c44b0
test ebx, ebx
je 0x5c46ec
mov eax, dword [esp + 0x30]
mov edi, dword [ebp]
cmp dword [eax], edi
jg 0x5c45aa
push 0
push 0
push 0
push 9
push esi
call fcn.005815b0
add esp, 0x14
mov edi, eax
jmp 0x5c45dd
lea eax, [edi + 1]
mov dword [ebp], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0xc]
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x5c45f7
push ebx
push esi
push ecx
call fcn.00598020
add esp, 0xc
jmp 0x5c4600
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebp]
mov dword [ecx + ebx*4], eax
push 0
push str.row
push 0
push 3
push 0
push 0x75
push esi
call fcn.005d2c80
mov ebx, dword [esp + 0x4c]
add esp, 0x1c
mov ecx, dword [ebp]
cmp dword [ebx], ecx
jg 0x5c4636
push 3
push 3
push 7
push 0x6f
push esi
call fcn.005815b0
add esp, 0x14
jmp 0x5c4669
lea eax, [ecx + 1]
mov dword [ebp], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 7
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
push 0
push str._values_differ_from_index
push 0
push 4
push 0
push 0x75
push esi
call fcn.005d2c80
mov edx, dword [esp + 0x70]
add esp, 0x1c
mov ecx, dword [ebp]
dec edx
cmp dword [ebx], ecx
jg 0x5c469f
push 0
push edx
push 0
push 9
push esi
call fcn.005815b0
add esp, 0x14
jmp 0x5c46ce
lea eax, [ecx + 1]
mov dword [ebp], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [ebp]
cmp byte [eax + 0x57], 0
je 0x5c46e0
mov eax, 0x6ecf90
jmp 0x5c46e9
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x1c]
cmp byte [eax + 0x36], 0
je 0x5c4944
mov ecx, dword [esp + 0x14]
xor ebx, ebx
dec dword [ecx + 0x38]
mov edx, dword [ecx + 0x38]
xor ecx, ecx
mov dword [esp + 0x44], edx
cmp cx, word [eax + 0x32]
jae 0x5c479c
mov edi, dword [esp + 0x60]
jmp 0x5c4724
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 4]
movsx ecx, word [eax + ebx*2]
test ecx, ecx
js 0x5c473f
mov eax, dword [esp + 0x58]
add ecx, ecx
mov eax, dword [eax + 4]
test byte [eax + ecx*8 + 4], 0xf
jne 0x5c478e
mov eax, dword [esp + 0x30]
mov ecx, dword [ebp]
cmp dword [eax], ecx
jg 0x5c475f
push 0
push edx
push edi
push 0x32
push esi
call fcn.005815b0
mov edx, dword [esp + 0x58]
add esp, 0x14
jmp 0x5c478e
lea eax, [ecx + 1]
mov dword [ebp], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x1c]
inc ebx
inc edi
movzx eax, word [eax + 0x32]
cmp ebx, eax
jl 0x5c4720
mov ebx, dword [esp + 0x30]
mov edi, dword [ebp]
cmp dword [ebx], edi
jg 0x5c47be
push 0
push 0
push dword [esp + 0x54]
push 0x27
push esi
call fcn.005815b0
add esp, 0x14
mov edi, eax
jmp 0x5c47f1
mov edx, dword [esp + 0x4c]
lea eax, [edi + 1]
mov dword [ebp], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x27
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [ebp]
cmp dword [ebx], ecx
mov ebx, dword [esp + 0x44]
jg 0x5c480e
push 0
push ebx
push 0
push 9
push esi
call fcn.005815b0
add esp, 0x14
jmp 0x5c483d
lea eax, [ecx + 1]
mov dword [ebp], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [ebp]
cmp byte [eax + 0x57], 0
je 0x5c484f
mov eax, 0x6ecf90
jmp 0x5c4858
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov edi, dword [esp + 0x1c]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x30]
mov ecx, dword [ebp]
movzx edx, word [edi + 0x32]
cmp dword [eax], ecx
jg 0x5c4885
push edx
push dword [esp + 0x64]
push ebx
push dword [esp + 0x58]
push 0x29
push esi
call fcn.00567cb0
add esp, 0x18
jmp 0x5c48b4
mov edi, dword [esp + 0x4c]
lea eax, [ecx + 1]
mov dword [ebp], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x60]
mov dword [eax + ecx*4 + 0xc], edi
mov edi, dword [esp + 0x1c]
mov dword [eax + ecx*4], 0xfd29
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0x10], edx
push 0
push str.non_unique_entry_in_index
push 0
push 3
push 0
push 0x75
push esi
call fcn.005d2c80
mov eax, dword [esp + 0x4c]
add esp, 0x1c
mov ecx, dword [ebp]
cmp dword [eax], ecx
jg 0x5c48ec
push 0
push dword [esp + 0x58]
push 0
push 9
push esi
call fcn.005815b0
add esp, 0x14
jmp 0x5c491f
mov edx, dword [esp + 0x54]
lea eax, [ecx + 1]
mov dword [ebp], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0xc]
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x5c4939
push ebx
push esi
push ecx
call fcn.00598020
add esp, 0xc
jmp 0x5c4948
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebp]
mov dword [ecx + ebx*4], eax
jmp 0x5c4948
mov edi, dword [esp + 0x1c]
mov eax, dword [esi]
mov edx, dword [ebp]
cmp byte [eax + 0x57], 0
je 0x5c495a
mov eax, 0x6ecf90
jmp 0x5c496a
mov eax, dword [esp + 0x94]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0x14]
test edx, edx
je 0x5c49aa
mov edi, dword [eax + 8]
not edx
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x5c4999
push edx
push edi
push ecx
call fcn.00598020
add esp, 0xc
jmp 0x5c49a2
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi + 0x6c]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x90]
mov edi, dword [edi + 0x14]
inc dword [esp + 0x4c]
mov dword [esp + 0x1c], edi
test edi, edi
jne 0x5c40d2
mov ebx, dword [esp + 0x30]
mov ecx, dword [ebp]
mov edi, dword [esp + 0x20]
cmp dword [ebx], ecx
jg 0x5c49ea
push 0
push edi
push dword [esp + 0x94]
push 0x27
push esi
call fcn.005815b0
add esp, 0x14
jmp 0x5c4a1c
mov edx, dword [esp + 0x8c]
lea eax, [ecx + 1]
mov dword [ebp], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x27
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [ebp]
cmp byte [eax + 0x57], 0
je 0x5c4a2e
mov eax, 0x6ecf98
jmp 0x5c4a3a
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
add eax, 0xfffffff4
mov dword [eax], edx
mov eax, dword [esp + 0x90]
test eax, eax
je 0x5c4a85
movzx eax, word [eax + 0x32]
cmp eax, 1
jne 0x5c4a72
mov edx, dword [esp + 0x5c]
test edx, edx
je 0x5c4a85
mov ecx, dword [esp + 0x14]
mov al, byte [ecx + 0x13]
cmp al, 8
jae 0x5c4a85
movzx eax, al
mov dword [ecx + eax*4 + 0xa4], edx
inc byte [ecx + 0x13]
jmp 0x5c4a85
mov ecx, dword [esp + 0x14]
cmp eax, dword [ecx + 0x1c]
jle 0x5c4a85
mov dword [ecx + 0x1c], eax
mov eax, dword [esp + 0x5c]
mov dword [ecx + 0x20], eax
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x28]
mov edi, dword [edi]
mov dword [esp + 0x28], edi
test edi, edi
jne 0x5c3280
mov eax, dword [esp + 0x68]
mov ebx, dword [eax + 0x10]
test ebx, ebx
je 0x5c4bcd
mov eax, dword [esp + 0x3c]
nop
mov edi, dword [ebx + 8]
test eax, eax
je 0x5c4abf
cmp eax, edi
jne 0x5c4bc3
mov al, byte [edi + 0x2b]
test al, al
je 0x5c4bbf
cmp al, 1
jne 0x5c4bbf
cmp word [edi + 0x22], 0
jg 0x5c4afc
mov eax, dword [edi + 0x30]
push 0
push dword [eax]
mov eax, dword [esp + 0x18]
add eax, 0x184
push eax
call fcn.0057b610
add esp, 0xc
cmp dword [eax + 8], 0
je 0x5c4bbf
cmp byte [edi + 0x2b], 1
je 0x5c4b09
cmp word [edi + 0x22], 0
jg 0x5c4b16
push edi
push dword [esp + 0x18]
call fcn.005f1e00
add esp, 8
mov eax, dword [edi + 0x34]
test eax, eax
je 0x5c4bbf
mov eax, dword [eax + 8]
test eax, eax
je 0x5c4bbf
mov eax, dword [eax]
test eax, eax
je 0x5c4bbf
cmp dword [eax], 4
jl 0x5c4bbf
cmp dword [eax + 0x60], 0
je 0x5c4bbf
push dword [esp + 0x6c]
push 3
push dword [esp + 0x6c]
push 0xae
push esi
call fcn.005d2c20
inc dword [edi + 0x18]
add esp, 0x14
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x5c4b7a
push edi
push 0xfffffffffffffff0
push eax
call fcn.0057e980
add esp, 0xc
jmp 0x5c4b8c
mov eax, dword [ebp]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
mov byte [eax + ecx*4 - 0x13], 0xf0
mov dword [eax + ecx*4 - 4], edi
push 3
push 0x32
push esi
call fcn.005d2b60
push esi
mov edi, eax
call fcn.00582890
mov ecx, dword [esi]
add esp, 0x10
mov edx, dword [ebp]
cmp byte [ecx + 0x57], 0
je 0x5c4bb3
mov eax, 0x6ecf90
jmp 0x5c4bbc
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x3c]
mov ebx, dword [ebx]
test ebx, ebx
jne 0x5c4ab0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
jmp 0x5c4bd9
mov eax, edi
mov ecx, dword [esp + 0x64]
mov edi, dword [esp + 0x38]
inc ecx
mov dword [esp + 0x64], ecx
cmp ecx, dword [eax + 0x14]
jl 0x5c2e40
mov ebp, dword [esp + 0x2c]
push 0
push 0x68c474
push 7
push esi
call fcn.005d2d60
add esp, 0x10
test eax, eax
je 0x5c4c29
mov ecx, 1
mov byte [eax + 0x29], 0xff
sub ecx, ebp
mov dword [eax + 0x38], 0x691ec4
mov dword [eax + 8], ecx
mov byte [eax + 0x65], 0xff
mov dword [eax + 0x74], str.database_disk_image_is_malformed
mov eax, dword [esi + 0x6c]
sub eax, 2
push eax
push 0
push esi
call fcn.005d2ff0
add esp, 0xc
jmp 0x5c0dff
test edx, edx
jne 0x5c4c81
mov ebx, dword [esp + 0x14]
push ebx
call fcn.005c6670
add esp, 4
test eax, eax
jne 0x5c0dff
mov eax, dword [ebx]
movzx eax, byte [eax + 0x54]
push dword [eax*8 + 0x68c4b8]
push esi
call fcn.00599f70
push dword [esp + 0x3c]
push dword [esp + 0x1c]
call fcn.005a9be0
add esp, 0x10
jmp 0x5c0e25
mov ebp, dword [esp + 0x10]
test byte [ebp + 0x18], 0x40
jne 0x5c0e03
mov eax, dword [str.UTF8]
mov esi, 0x68c4b8
test eax, eax
je 0x5c4cea
nop dword [eax]
push eax
push edx
call fcn.005cdec0
add esp, 8
test eax, eax
je 0x5c4cbe
mov eax, dword [esi + 8]
add esi, 8
mov edx, dword [esp + 0x18]
test eax, eax
jne 0x5c4ca0
jmp 0x5c4cf3
mov cl, byte [esi + 4]
mov edx, 2
movzx eax, cl
test cl, cl
mov ecx, ebp
cmovne edx, eax
mov byte [esp + 0x6c], dl
push dword [esp + 0x6c]
mov eax, dword [ecx + 0x10]
push ecx
mov eax, dword [eax + 0xc]
mov byte [eax + 0x4d], dl
call fcn.005cc610
add esp, 8
cmp dword [esi], 0
jne 0x5c0e03
push dword [esp + 0x18]
push str.unsupported_encoding:__s
push dword [esp + 0x1c]
call fcn.005abd70
push dword [esp + 0x40]
push dword [esp + 0x20]
call fcn.005a9be0
mov eax, dword [esp + 0x2c]
add esp, 0x14
jmp 0x5c0e18
mov ebp, dword [esp + 0x38]
mov edi, dword [ebx + 8]
push ebp
push esi
call fcn.005dfd20
add esp, 8
cmp dword [esp + 0x18], 0
je 0x5c4da5
test byte [ebx + 5], 8
jne 0x5c4da5
push 0
push 0x68c500
push 2
push esi
call fcn.005d2d60
mov esi, eax
mov dword [esp + 0x38], 0
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x2c]
mov dword [esi + 4], ebp
mov dword [esi + 0x18], ebp
mov dword [esi + 0x1c], edi
call fcn.005b80a0
mov eax, dword [esp + 0x40]
add esp, 0x18
mov dword [esi + 0x20], eax
mov eax, 1
mov word [esi + 0x16], ax
cmp edi, eax
jne 0x5c0dff
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
and eax, 0x10000000
or eax, 0
je 0x5c0dff
mov byte [esi + 0x14], 0xbb
jmp 0x5c1a0c
push 0
push 0x68c508
push 3
push esi
call fcn.005d2d60
push esi
mov dword [eax + 4], ebp
mov dword [eax + 0x18], ebp
mov dword [eax + 0x20], edi
call fcn.005df0b0
add esp, 0x14
jmp 0x5c0dff
mov eax, dword [esp + 0x14]
xor edi, edi
mov dword [eax + 0x2c], 1
cmp edi, 0x27
ja 0x5c4e0b
mov eax, dword [edi*4 + 0x68b2c0]
inc edi
test eax, eax
je 0x5c4e0b
push 0
push eax
push 0
push 1
push 0
push 0x75
push esi
call fcn.005d2c80
push 1
push 1
push 0x54
push esi
call fcn.005d2bc0
add esp, 0x2c
jmp 0x5c4dd8
push esi
call fcn.005df0b0
jmp 0x5c0dfc
cmp dword [edi], 0
mov ebx, 0xc
cmovne ebx, dword [esp + 0x38]
xor edi, edi
test edx, edx
je 0x5c4e73
push str.full
push edx
call fcn.005cdec0
add esp, 8
test eax, eax
jne 0x5c4e40
lea edi, [eax + 1]
jmp 0x5c4e73
mov ebp, dword [esp + 0x18]
push str.restart
push ebp
call fcn.005cdec0
add esp, 8
test eax, eax
jne 0x5c4e5b
lea edi, [eax + 2]
jmp 0x5c4e73
push str.truncate
push ebp
call fcn.005cdec0
add esp, 8
mov ecx, 3
test eax, eax
cmove edi, ecx
mov eax, dword [esp + 0x14]
push 1
push edi
push ebx
push 3
push esi
mov dword [eax + 0x2c], 3
call fcn.005d2c20
push 3
push 1
push 0x54
push esi
call fcn.005d2bc0
add esp, 0x24
jmp 0x5c0dff
test edx, edx
je 0x5c4ec5
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0
push eax
push edx
call fcn.005b80a0
push dword [esp + 0x30]
push dword [esp + 0x1c]
call fcn.00554130
add esp, 0x10
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x110], 0x5e1280
jne 0x5c4eec
mov eax, dword [eax + 0x114]
cdq
push edx
push eax
push esi
call fcn.00599ee0
add esp, 0xc
jmp 0x5c0dff
xor eax, eax
cdq
push edx
push eax
push esi
call fcn.00599ee0
add esp, 0xc
jmp 0x5c0dff
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x5c4f14
push eax
call dword [0x6d4c88]
add esp, 4
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x5f], 0
jne 0x5c4f2b
push eax
call fcn.0056dbc0
mov eax, dword [esp + 0x14]
add esp, 4
xor esi, esi
cmp dword [eax + 0x14], esi
jle 0x5c4f63
xor edi, edi
mov eax, dword [eax + 0x10]
mov eax, dword [edi + eax + 4]
test eax, eax
je 0x5c4f56
mov eax, dword [eax + 4]
mov eax, dword [eax]
mov eax, dword [eax + 0xe4]
push dword [eax + 0x34]
call dword [0x6d4ccc]
add esp, 4
mov eax, dword [esp + 0x10]
inc esi
add edi, 0x10
cmp esi, dword [eax + 0x14]
jl 0x5c4f34
cmp byte [eax + 0x5f], 0
jne 0x5c4f76
push eax
call fcn.0056dee0
mov eax, dword [esp + 0x14]
add esp, 4
mov eax, dword [eax + 0xc]
jmp 0x5c0df1
xor ebp, ebp
mov dword [esp + 0x80], 0
mov dword [esp + 0x54], ebp
test edx, edx
je 0x5c4fbf
lea eax, [esp + 0x28]
mov dword [esp + 0x28], ebp
push eax
push edx
call fcn.005b80a0
mov ebx, dword [esp + 0x30]
add esp, 8
test bl, 2
je 0x5c0dff
test bl, 0x10
jne 0x5c4fc4
mov edx, dword [esp + 0x10]
xor edi, edi
jmp 0x5c4fde
mov ebx, 0xfffe
mov edx, dword [esp + 0x10]
mov ecx, 0x7ce
mov eax, dword [edx + 0x1f0]
dec eax
cmp ecx, eax
sbb edi, edi
and edi, 0x7d0
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], edi
mov eax, dword [ecx + 0x28]
mov dword [esp + 0x20], eax
inc eax
mov dword [ecx + 0x28], eax
mov ecx, dword [esp + 0x38]
cmp dword [esp + 0x1c], ebp
je 0x5c5001
mov dword [esp + 0x2c], ecx
jmp 0x5c5011
mov eax, dword [edx + 0x14]
dec eax
mov dword [esp + 0x2c], eax
cmp ecx, eax
jg 0x5c525d
mov ebp, 1
lea eax, [esi + 0x6c]
rol ebp, cl
mov edx, ecx
shl edx, 4
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x68], ebp
mov dword [esp + 0x44], edx
cmp ecx, 1
je 0x5c523f
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x80]
test eax, eax
cmovne ecx, eax
mov eax, dword [ecx + 0x5c]
test ebp, eax
jne 0x5c5059
mov ebp, dword [esp + 0x38]
bts eax, ebp
mov dword [ecx + 0x5c], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
mov eax, dword [edx + eax + 0xc]
mov ebp, dword [eax + 0x10]
mov dword [esp + 0x94], ebp
test ebp, ebp
je 0x5c5233
nop word [eax + eax]
mov ebp, dword [ebp + 8]
mov dword [esp + 0x6c], ebp
cmp byte [ebp + 0x2b], 0
jne 0x5c5216
push 7
push str.sqlite_
push dword [ebp]
call fcn.00553e30
add esp, 0xc
test eax, eax
je 0x5c5216
mov eax, dword [ebp + 8]
xor ecx, ecx
movzx edi, word [ebp + 0x26]
mov dword [esp + 0x28], ecx
test eax, eax
je 0x5c50d3
or edx, 0xffffffff
nop
inc ecx
test byte [eax + 0x38], 0x80
mov eax, dword [eax + 0x14]
cmove edi, edx
test eax, eax
jne 0x5c50c0
mov dword [esp + 0x28], ecx
test dword [ebp + 0x1c], 0x100
jne 0x5c50f7
test ebx, 0x10000
jne 0x5c50f7
cmp dword [ebp + 8], 0
je 0x5c5212
test di, di
jns 0x5c5212
mov eax, dword [esp + 0x80]
inc eax
mov dword [esp + 0x80], eax
cmp eax, 2
jne 0x5c5121
push dword [esp + 0x38]
push 0
push dword [esp + 0x1c]
call fcn.005a1080
mov ecx, dword [esp + 0x34]
add esp, 0xc
mov eax, dword [esp + 0x54]
push 0x70
push ebp
push dword [esp + 0x40]
inc eax
push dword [esp + 0x2c]
add eax, ecx
push dword [esp + 0x24]
mov dword [esp + 0x68], eax
call fcn.005bda50
add esp, 0x14
test di, di
js 0x5c5186
cmp di, 0x21
jl 0x5c5156
movsx ecx, di
sub ecx, 0x21
jmp 0x5c5159
or ecx, 0xffffffff
movsx eax, di
mov ebp, ebx
add eax, 0x21
and ebp, 1
push eax
mov eax, dword [esp + 0x80]
push ecx
mov eax, dword [eax]
add eax, 2
add eax, ebp
push eax
push dword [esp + 0x2c]
push 0x21
push esi
call fcn.005d2d00
add esp, 0x18
jmp 0x5c51a6
mov eax, dword [esp + 0x7c]
mov ebp, ebx
and ebp, 1
mov eax, dword [eax]
add eax, 2
add eax, ebp
push eax
push dword [esp + 0x24]
push 0x24
push esi
call fcn.005d2bc0
add esp, 0x10
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x44]
push dword [eax]
mov eax, dword [edx + 0x10]
push dword [ecx + eax]
push str.ANALYZE___w_.__w_
push edx
call fcn.005bcc60
add esp, 0x10
mov edx, eax
test ebp, ebp
je 0x5c52c7
mov edi, dword [esp + 0x14]
mov cl, byte [edi + 0x13]
test cl, cl
jne 0x5c51e5
inc dword [edi + 0x2c]
mov edi, dword [edi + 0x2c]
jmp 0x5c51f4
dec cl
movzx eax, cl
mov byte [edi + 0x13], cl
mov edi, dword [edi + eax*4 + 0xa4]
push 0xfffffffffffffffa
push edx
push 0
push edi
push 0
push 0x75
push esi
call fcn.005d2c80
push 1
push edi
push 0x54
push esi
call fcn.005d2bc0
add esp, 0x2c
mov edi, dword [esp + 0x24]
mov ebp, dword [esp + 0x94]
mov ebp, dword [ebp]
mov dword [esp + 0x94], ebp
test ebp, ebp
jne 0x5c5080
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x2c]
mov ebp, dword [esp + 0x68]
inc ecx
rol ebp, 1
add edx, 0x10
mov dword [esp + 0x38], ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x68], ebp
cmp ecx, eax
jle 0x5c5030
mov ebp, dword [esp + 0x54]
push 0xa6
push esi
call fcn.005d2b10
mov eax, dword [esp + 0x18]
add esp, 8
cmp byte [eax + 0x57], 0
jne 0x5c54e9
test edi, edi
je 0x5c54e9
cmp ebp, 0x64
jle 0x5c54e9
imul eax, edi, 0x64
push 0
push esi
cdq
idiv ebp
mov edi, eax
mov eax, 0x64
cmp edi, eax
cmovl edi, eax
call fcn.005dc570
mov ecx, dword [esi + 0x6c]
add esp, 8
test ecx, ecx
jle 0x5c0dff
cmp byte [eax], 0x94
jne 0x5c52ba
mov dword [eax + 8], edi
add eax, 0x14
sub ecx, 1
jne 0x5c52b2
jmp 0x5c0dff
mov edi, dword [esp + 0x24]
mov eax, edi
push 0xfffffffffffffffa
push edx
neg eax
push 0
sbb eax, eax
push edi
and eax, 2
push eax
push 0x94
push esi
call fcn.005d2c80
add esp, 0x1c
jmp 0x5c5216
test edx, edx
je 0x5c5314
lea eax, [esp + 0x6c]
push eax
push edx
call fcn.005aa0c0
add esp, 8
test eax, eax
jne 0x5c5314
push dword [esp + 0x70]
push dword [esp + 0x70]
call fcn.0054e650
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0054e650
push edx
push eax
push esi
call fcn.00599ee0
add esp, 0x14
jmp 0x5c0dff
test edx, edx
je 0x5c537d
lea eax, [esp + 0x6c]
push eax
push edx
call fcn.005aa0c0
add esp, 8
test eax, eax
jne 0x5c537d
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0054e760
mov edi, dword [esp + 0x78]
add esp, 8
mov ebx, eax
test edi, edi
jl 0x5c537d
mov ecx, dword [esp + 0x6c]
jg 0x5c5363
test ecx, ecx
je 0x5c537d
mov eax, ebx
or eax, edx
je 0x5c5373
cmp edx, edi
jl 0x5c537d
jg 0x5c5373
cmp ebx, ecx
jbe 0x5c537d
push edi
push ecx
call fcn.0054e760
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0054e760
push edx
push eax
push esi
call fcn.00599ee0
add esp, 0x14
jmp 0x5c0dff
test edx, edx
je 0x5c53d0
lea eax, [esp + 0x6c]
push eax
push edx
call fcn.005aa0c0
add esp, 8
test eax, eax
jne 0x5c53d0
cmp dword [esp + 0x70], eax
jl 0x5c53d0
mov eax, dword [esp + 0x6c]
jg 0x5c53bc
test eax, eax
jb 0x5c53d0
and eax, 0x7fffffff
push eax
push 0xb
push dword [esp + 0x18]
call fcn.00565cd0
add esp, 0xc
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xa4]
cdq
push edx
push eax
push esi
call fcn.00599ee0
add esp, 0xc
jmp 0x5c0dff
test edx, edx
je 0x5c5420
lea eax, [esp + 0x6c]
push eax
push edx
call fcn.005aa0c0
add esp, 8
test eax, eax
jne 0x5c5420
cmp dword [esp + 0x70], eax
jl 0x5c5420
mov eax, dword [esp + 0x6c]
jg 0x5c5411
test eax, eax
jb 0x5c5420
mov ecx, dword [esp + 0x10]
and eax, 0x7fffffff
mov dword [ecx + 0x1f0], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x1f0]
cdq
push edx
push eax
push esi
call fcn.00599ee0
add esp, 0xc
jmp 0x5c0dff
test edx, edx
je 0x5c54ce
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0
push eax
push edx
call fcn.005b80a0
mov edi, dword [esp + 0x30]
add esp, 8
mov eax, dword [esp + 0x10]
test edi, edi
jle 0x5c5480
push eax
push 0x5eac60
push eax
call fcn.00564470
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov dword [eax + 0x1f4], edi
jmp 0x5c54d2
mov eax, dword [eax + 0xc]
test eax, eax
je 0x5c5491
push eax
call dword [0x6d4c88]
add esp, 4
mov eax, dword [esp + 0x10]
mov dword [eax + 0x1c0], 0
mov dword [eax + 0x1c4], 0
mov dword [eax + 0x1c8], 0
mov dword [eax + 0x1f4], 0
mov eax, dword [eax + 0xc]
test eax, eax
je 0x5c54ce
push eax
call dword [0x6d4c90]
add esp, 4
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x1f4]
cdq
push edx
push eax
push esi
call fcn.00599ee0
add esp, 0xc
jmp 0x5c0dff
mov ebp, eax
jmp 0x5c0e03