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

Disassembly:
sub esp, 0xa8
mov eax, dword [0x6d5ec0]
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 0x5c01eb
mov dword [esp + 0x88], esi
jmp 0x5c021c
cmp dword [ebp + 0x80], 0
jne 0x5c01fe
test byte [eax + 0x50], 8
jne 0x5c01fe
mov byte [ebp + 0x17], 1
push ebp
call fcn.005d28f0
mov esi, eax
add esp, 4
mov dword [esp + 0x40], esi
mov dword [esp + 0x88], esi
test esi, esi
je 0x5c0595
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x5c023a
push 0
push 1
push 1
push 0xa6
push esi
call fcn.00580cd0
add esp, 0x14
jmp 0x5c026d
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 0x5c02be
cmp byte [eax + 0xb1], 0
je 0x5c0296
push str.corrupt_database
push ebp
call fcn.005ab4e0
jmp 0x5c0592
push ebx
push eax
call fcn.005b10f0
mov ecx, eax
add esp, 8
mov dword [esp + 0x38], ecx
test ecx, ecx
jns 0x5c02cb
push ebx
push str.unknown_database__T
push ebp
call fcn.005ab4e0
add esp, 0xc
jmp 0x5c0595
movzx ecx, byte [eax + 0xb0]
mov dword [esp + 0x38], ecx
jmp 0x5c02cd
mov ebx, edi
test ecx, ecx
js 0x5c0595
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 0x5c0301
push dword [esp + 0x14]
call fcn.005bd530
add esp, 4
test eax, eax
jne 0x5c0595
push ebx
mov ebx, dword [esp + 0x14]
push ebx
call fcn.005bce80
add esp, 8
mov dword [esp + 0x34], eax
test eax, eax
je 0x5c0595
cmp dword [esp + 0xcc], 0
push dword [esp + 0x68]
je 0x5c0339
push 0x690c90
push ebx
call fcn.005bc3d0
add esp, 0xc
jmp 0x5c0342
push ebx
call fcn.005bce80
add esp, 8
cmp dword [edi + 4], 0
mov dword [esp + 0x18], eax
jbe 0x5c0351
mov ebx, dword [ebp]
jmp 0x5c0353
xor ebx, ebx
push ebx
push eax
push dword [esp + 0x3c]
mov dword [esp + 0x28], ebx
push 0x13
push dword [esp + 0x24]
call fcn.0059fd10
add esp, 0x14
test eax, eax
jne 0x5c056f
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 0x5c03c6
push eax
call dword [0x6d3c88]
mov ecx, dword [esp + 0x14]
add esp, 4
test ebx, ebx
je 0x5c03df
push ebx
push ecx
call fcn.005b1170
mov ebx, eax
add esp, 8
test ebx, ebx
jns 0x5c03e1
jmp 0x5c046a
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 0x5c046a
cmp byte [ebx + 9], 0
je 0x5c040a
inc dword [ebx + 0xc]
cmp byte [ebx + 0xa], 0
jne 0x5c040a
push ebx
call fcn.0056d650
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 0x5c0430
mov dword [esp + 0x2c], 0xc
jmp 0x5c0447
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 0x5c046a
add dword [ebx + 0xc], 0xffffffff
jne 0x5c046a
push ebx
call fcn.005eb510
add esp, 4
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x5c047f
push eax
call dword [0x6d3c90]
add esp, 4
mov ebx, dword [esp + 0x2c]
test ebx, ebx
jne 0x5c05b7
push 1
push esi
call fcn.005deb50
push 0xffffffffffffffff
push dword [esp + 0xb0]
push ebx
push ebx
push esi
call fcn.005deb00
mov edi, dword [esp + 0xc0]
add esp, 0x1c
test edi, edi
je 0x5c056f
push ebx
push edi
push ebx
push 1
push ebx
push 0x75
push esi
call fcn.005d23e0
mov ecx, dword [esi + 0x6c]
add esp, 0x1c
cmp dword [esi + 0x70], ecx
jg 0x5c04e1
push ebx
push 1
push 1
push 0x54
push esi
call fcn.00580cd0
add esp, 0x14
jmp 0x5c0514
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 0x5c056f
cmp dword [0x6d3c38], 0
je 0x5c05ae
mov eax, dword [0x6ebdc0]
test eax, eax
je 0x5c053f
push eax
call dword [0x6d3c88]
add esp, 4
push edi
call dword [0x6d3c64]
sub dword [0x6ebd58], eax
dec dword [0x6ebd7c]
push edi
call dword [0x6d3c5c]
mov eax, dword [0x6ebdc0]
add esp, 8
test eax, eax
je 0x5c056f
push eax
call dword [0x6d3c90]
add esp, 4
mov ebp, dword [esp + 0x10]
push dword [esp + 0x34]
push ebp
call fcn.005a9350
mov eax, dword [esp + 0x20]
add esp, 8
test eax, eax
je 0x5c0595
push eax
push dword [esp + 0x14]
call fcn.005a9350
add esp, 8
mov ecx, dword [esp + 0xb4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0061eb08
add esp, 0xa8
ret
push edi
call dword [0x6d3c5c]
jmp 0x5c056c
cmp ebx, 0xc
je 0x5c0660
mov eax, dword [esp + 0xa4]
test eax, eax
je 0x5c0651
push eax
push 0x678638
push dword [esp + 0x1c]
call fcn.005ab4e0
mov esi, dword [esp + 0xb0]
add esp, 0xc
test esi, esi
je 0x5c0651
cmp dword [0x6d3c38], 0
je 0x5c0647
mov eax, dword [0x6ebdc0]
test eax, eax
je 0x5c0608
push eax
call dword [0x6d3c88]
add esp, 4
push esi
call dword [0x6d3c64]
sub dword [0x6ebd58], eax
dec dword [0x6ebd7c]
push esi
call dword [0x6d3c5c]
mov eax, dword [0x6ebdc0]
add esp, 8
test eax, eax
je 0x5c0651
push eax
call dword [0x6d3c90]
mov eax, dword [esp + 0x18]
add esp, 4
inc dword [eax + 0x24]
mov dword [eax + 0xc], ebx
jmp 0x5c056f
push esi
call dword [0x6d3c5c]
add esp, 4
mov eax, dword [esp + 0x14]
inc dword [eax + 0x24]
mov dword [eax + 0xc], ebx
jmp 0x5c056f
push dword [esp + 0x34]
call fcn.00593d00
mov ebx, eax
add esp, 4
mov dword [esp + 0x7c], ebx
test ebx, ebx
je 0x5c056f
test byte [ebx + 5], 1
je 0x5c0694
push dword [esp + 0x14]
call fcn.005c5de0
add esp, 4
test eax, eax
jne 0x5c056f
mov al, byte [ebx + 5]
test al, 2
jne 0x5c06b1
test al, 4
je 0x5c06a7
mov edx, dword [esp + 0x18]
test edx, edx
jne 0x5c06b5
push ebx
push esi
call fcn.0059c040
add esp, 8
mov edx, dword [esp + 0x18]
movzx eax, byte [ebx + 4]
dec eax
cmp eax, 0x2a
ja case.0x5c06c3.5
jmp dword [eax*4 + 0x5c4c60]
mov ebx, dword [esp + 0x38]
push ebx
push esi
call fcn.005df480
mov eax, dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x5c0718
mov ecx, dword [esp + 0x14]
push eax
push 0x68b3a0
push 9
add dword [ecx + 0x2c], 2
push esi
call fcn.005d24c0
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.005a9350
add esp, 0x18
jmp 0x5c0595
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], 0
push ecx
push eax
call fcn.005b7810
push dword [esp + 0x28]
call fcn.0059c510
push ebx
push 0
push dword [esp + 0x28]
mov edi, eax
call fcn.005a07f0
push edi
push 3
push ebx
push 0x64
push esi
call fcn.005d2380
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.005a3f20
push dword [esp + 0x68]
push dword [esp + 0x48]
call fcn.005a9350
mov eax, dword [esp + 0x54]
add esp, 0x3c
jmp 0x5c0588
mov edi, dword [ebp + 4]
test edx, edx
jne 0x5c079a
test edi, edi
je 0x5c0792
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x24]
cdq
jmp 0x5c11e2
xor eax, eax
cdq
jmp 0x5c11e2
lea eax, [esp + 0x20]
mov dword [esp + 0x20], 0
push eax
push edx
call fcn.005b7810
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.005a3fc0
add esp, 0x18
cmp eax, 7
jne 0x5c056f
mov edi, dword [esp + 0x10]
push edi
call fcn.005bd130
push dword [esp + 0x38]
push edi
call fcn.005a9350
mov eax, dword [esp + 0x24]
add esp, 0xc
jmp 0x5c0588
mov eax, dword [ebp + 4]
or ebp, 0xffffffff
mov dword [esp + 0x28], eax
test edx, edx
je 0x5c0825
push str.fast
push edx
call fcn.005cd620
add esp, 8
test eax, eax
jne 0x5c0814
lea ebp, [eax + 2]
jmp 0x5c0825
push 0
push dword [esp + 0x1c]
call fcn.005b75b0
add esp, 8
movzx ebp, al
cmp dword [edi + 4], 0
jne 0x5c085d
test ebp, ebp
js 0x5c085d
mov eax, dword [esp + 0x10]
xor ebx, ebx
cmp dword [eax + 0x14], ebx
jle 0x5c085d
xor edi, edi
mov esi, eax
nop
mov eax, dword [esi + 0x10]
push ebp
push dword [edi + eax + 4]
call fcn.005a3e30
inc ebx
lea edi, [edi + 0x10]
add esp, 8
cmp ebx, dword [esi + 0x14]
jl 0x5c0840
mov esi, dword [esp + 0x40]
push ebp
push dword [esp + 0x2c]
call fcn.005a3e30
cdq
push edx
push eax
push esi
call fcn.00599600
add esp, 0x14
jmp 0x5c056f
mov ebp, dword [esp + 0x38]
xorps xmm0, xmm0
mov ebx, dword [esp + 0x14]
push ebp
push ebx
movlpd qword [esp + 0x74], xmm0
call fcn.005a62f0
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 + 0x68a3e0], 0x70
jne 0x5c08cd
push edi
push ebp
push 0xb2
push esi
call fcn.005d2320
add esp, 0x10
push 1
push edi
push 0x54
push esi
call fcn.005d2320
add esp, 0x10
jmp 0x5c056f
mov eax, dword [esp + 0x18]
test eax, eax
je 0x5c0913
lea ecx, [esp + 0x6c]
push ecx
push eax
call fcn.005a9830
add esp, 8
test eax, eax
jne 0x5c0913
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x6c]
test ecx, ecx
jg 0x5c0904
jl 0x5c0913
test eax, eax
jb 0x5c0913
test ecx, ecx
jl 0x5c0920
jg 0x5c0904
cmp eax, 0xfffffffe
jbe 0x5c0920
mov eax, 0xfffffffe
mov dword [esp + 0x70], 0
jmp 0x5c0920
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.005d2380
add esp, 0x14
push 1
push edi
push 0x54
push esi
call fcn.005d2320
add esp, 0x10
jmp 0x5c056f
test edx, edx
je 0x5c0978
push str.exclusive
push edx
call fcn.005cd620
add esp, 8
test eax, eax
jne 0x5c095f
lea ecx, [eax + 1]
jmp 0x5c097b
push str.normal
push dword [esp + 0x1c]
call fcn.005cd620
add esp, 8
test eax, eax
jne 0x5c0978
xor ecx, ecx
jmp 0x5c097b
or ecx, 0xffffffff
cmp dword [edi + 4], 0
jne 0x5c09e1
mov eax, dword [esp + 0x10]
cmp ecx, 0xffffffff
jne 0x5c0990
movzx eax, byte [eax + 0x59]
jmp 0x5c09f2
mov edx, 2
cmp dword [eax + 0x14], edx
jle 0x5c09de
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 0x5c09ca
cmp byte [eax + 0xc], 0
jne 0x5c09ca
mov ebx, dword [eax + 0xe8]
test ebx, ebx
je 0x5c09c7
cmp byte [ebx + 0x2b], 2
je 0x5c09ca
mov byte [eax + 4], cl
inc edx
add edi, 0x10
cmp edx, dword [ebp + 0x14]
jl 0x5c09a1
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.005bdce0
add esp, 8
cmp eax, 1
mov edx, str.exclusive
mov ecx, str.normal
cmove ecx, edx
push ecx
push esi
call fcn.00599690
add esp, 8
jmp 0x5c056f
test edx, edx
je 0x5c0a71
mov edi, edx
lea ecx, [edi + 1]
nop word [eax + eax]
mov al, byte [edi]
inc edi
test al, al
jne 0x5c0a20
sub edi, ecx
and edi, 0x3fffffff
xor ebx, ebx
cmp ebx, 6
je 0x5c0a6d
mov eax, dword [ebx*4 + 0x68b384]
test eax, eax
je 0x5c0a6d
push edi
push eax
push edx
call fcn.00553540
add esp, 0xc
test eax, eax
je 0x5c0a57
mov edx, dword [esp + 0x18]
inc ebx
jmp 0x5c0a31
cmp ebx, 2
jne 0x5c0a89
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
and eax, 0x10000000
or eax, 0
je 0x5c0a94
mov edi, dword [esp + 0x24]
or ebx, 0xffffffff
cmp dword [edi + 4], 0
jne 0x5c0a94
xor ecx, ecx
mov dword [edi + 4], 1
mov dword [esp + 0x38], ecx
jmp 0x5c0a98
cmp ebx, 0xffffffff
jne 0x5c0a94
mov edi, dword [esp + 0x24]
jmp 0x5c0a74
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x14]
sub edi, 1
js 0x5c0aee
mov ebp, edi
shl ebp, 4
nop dword [eax]
mov eax, dword [eax + 0x10]
cmp dword [eax + ebp + 4], 0
je 0x5c0ade
cmp edi, ecx
je 0x5c0ac8
mov eax, dword [esp + 0x24]
cmp dword [eax + 4], 0
jne 0x5c0ade
push edi
push esi
call fcn.005df480
push ebx
push 1
push edi
push 4
push esi
call fcn.005d2380
add esp, 0x1c
mov eax, dword [esp + 0x10]
sub ebp, 0x10
sub edi, 1
mov ecx, dword [esp + 0x38]
jns 0x5c0ab0
push 1
push 1
push 0x54
push esi
call fcn.005d2320
add esp, 0x10
jmp 0x5c056f
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 0x5c0b4b
lea eax, [esp + 0x6c]
push eax
push edx
call fcn.005a9830
mov ecx, dword [esp + 0x78]
add esp, 8
cmp ecx, 0xffffffff
jg 0x5c0b47
jl 0x5c0b40
mov eax, dword [esp + 0x6c]
cmp eax, 0xffffffff
jae 0x5c0b4b
or eax, 0xffffffff
or ecx, eax
jmp 0x5c0b4b
mov eax, dword [esp + 0x6c]
cmp ecx, 0xffffffff
jl 0x5c0b73
jg 0x5c0b57
cmp eax, 0xffffffff
jb 0x5c0b73
mov edx, dword [edi + 0xe8]
mov dword [edi + 0xb0], eax
mov dword [edi + 0xb4], ecx
test edx, edx
je 0x5c0b73
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
push dword [edi + 0xb4]
push dword [edi + 0xb0]
push esi
call fcn.00599600
add esp, 0xc
jmp 0x5c056f
mov edi, dword [ebp + 4]
test edx, edx
jne 0x5c0bb8
push edi
call fcn.005a2050
cdq
push edx
push eax
push esi
call fcn.00599600
push dword [esp + 0x44]
push dword [esp + 0x24]
call fcn.005a9350
add esp, 0x18
jmp 0x5c0595
push str.none
push edx
call fcn.005cd620
add esp, 8
test eax, eax
jne 0x5c0bce
xor ebx, ebx
jmp 0x5c0c28
mov ebx, dword [esp + 0x18]
push str.full
push ebx
call fcn.005cd620
add esp, 8
test eax, eax
jne 0x5c0be9
lea ebx, [eax + 1]
jmp 0x5c0c28
push str.incremental
push ebx
call fcn.005cd620
add esp, 8
test eax, eax
jne 0x5c0c00
lea ebx, [eax + 2]
jmp 0x5c0c28
lea eax, [esp + 0x20]
mov dword [esp + 0x20], 0
push eax
push ebx
call fcn.005b7810
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.005a3ea0
add esp, 8
test eax, eax
jne 0x5c056f
cmp ebx, 1
je 0x5c0c4f
cmp ebx, 2
jne 0x5c056f
mov edi, dword [esi + 0x6c]
push 0
push 0x68b3c8
push 5
push esi
call fcn.005d24c0
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.005df480
push dword [esp + 0x4c]
push dword [esp + 0x2c]
call fcn.005a9350
mov eax, dword [esp + 0x38]
add esp, 0x20
jmp 0x5c0588
mov dword [esp + 0x20], 0
test edx, edx
je 0x5c0cc0
lea eax, [esp + 0x20]
push eax
push edx
call fcn.005b7810
add esp, 8
test eax, eax
je 0x5c0cc0
mov edi, dword [esp + 0x20]
test edi, edi
jg 0x5c0cc5
mov edi, SysReAllocString
mov ebx, dword [esp + 0x38]
push ebx
push 0
push dword [esp + 0x1c]
call fcn.005a07f0
push 1
push edi
push 0x47
push esi
call fcn.005d2320
push ebx
push 0x3e
push esi
call fcn.005d22c0
push 1
push 0x54
push esi
mov edi, eax
call fcn.005d22c0
push 0xffffffffffffffff
push 1
push 0x56
push esi
call fcn.005d2320
add esp, 0x44
push edi
push 1
push 0x3b
push esi
call fcn.005d2320
push edi
push esi
call fcn.005dc2b0
add esp, 0x18
jmp 0x5c056f
test edx, edx
jne 0x5c0d2e
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x50]
cdq
jmp 0x5c11e2
lea eax, [esp + 0x20]
mov dword [esp + 0x20], 0
push eax
push edx
call fcn.005b7810
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.005a3f20
push dword [esp + 0x44]
push dword [esp + 0x24]
call fcn.005a9350
mov eax, dword [esp + 0x30]
add esp, 0x18
jmp 0x5c0588
test edx, edx
jne 0x5c0d9a
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x20]
and eax, 0x20
or eax, edx
je 0x5c0f8c
push 0
push dword [ebp + 4]
call fcn.005a40f0
add esp, 8
jmp 0x5c0f8c
lea eax, [esp + 0x20]
mov dword [esp + 0x20], 1
push eax
push edx
call fcn.005b7810
mov esi, dword [esp + 0x28]
add esp, 8
test eax, eax
je 0x5c0dc4
push esi
push dword [ebp + 4]
call fcn.005a40f0
add esp, 8
test esi, esi
setne al
movzx eax, al
push eax
push dword [esp + 0x1c]
call fcn.005b75b0
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 0x5c0df2
or ecx, 0x20
jmp 0x5c0df5
and ecx, 0xffffffdf
mov dword [eax + 0x20], ecx
push ebx
mov dword [eax + 0x24], edx
call fcn.0059bdc0
push dword [esp + 0x38]
push ebx
call fcn.005a9350
mov eax, dword [esp + 0x24]
add esp, 0xc
jmp 0x5c0588
test edx, edx
je 0x5c0f1f
lea eax, [esp + 0x6c]
push eax
push edx
call fcn.005a9830
add esp, 8
cmp dword [esp + 0x70], 0
jg 0x5c0e50
jl 0x5c0e3d
cmp dword [esp + 0x6c], 0
jae 0x5c0e50
mov eax, dword [0x6d3ce0]
mov ecx, dword [0x6d3ce4]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ecx
cmp dword [edi + 4], 0
mov edx, dword [esp + 0x10]
jne 0x5c0e68
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 0x5c0f1f
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 0x5c0f0f
cmp ebx, dword [esp + 0x38]
je 0x5c0e9b
cmp dword [esi + 4], 0
jne 0x5c0f0f
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 0x5c0ed1
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x5c0ed1
push edi
call fcn.0056d650
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.0058ede0
add esp, 4
cmp byte [edi + 9], 0
je 0x5c0f0b
add dword [edi + 0xc], 0xffffffff
jne 0x5c0f0b
push edi
call fcn.005eb510
add esp, 4
mov edx, dword [esp + 0x10]
sub ebp, 0x10
sub ebx, 1
jns 0x5c0e80
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.0054f650
add esp, 0x10
test eax, eax
jne 0x5c0f64
push dword [esp + 0x70]
push dword [esp + 0x70]
push esi
call fcn.00599600
add esp, 0xc
jmp 0x5c056f
mov ebp, dword [esp + 0x10]
cmp eax, 0xc
je 0x5c0573
mov ecx, dword [esp + 0x14]
inc dword [ecx + 0x24]
mov dword [ecx + 0xc], eax
jmp 0x5c0573
test edx, edx
jne 0x5c0fa7
mov ebx, dword [esp + 0x10]
movzx eax, byte [ebx + 0x56]
cdq
push edx
push eax
push esi
call fcn.00599600
push dword [esp + 0x40]
push ebx
call fcn.005a9350
add esp, 0x14
jmp 0x5c0595
mov cl, byte [edx]
mov al, cl
sub al, 0x30
cmp al, 2
ja 0x5c0fb9
movsx ebx, cl
sub ebx, 0x30
jmp 0x5c0feb
push str.file
push edx
call fcn.005cd620
add esp, 8
test eax, eax
jne 0x5c0fd0
lea ebx, [eax + 1]
jmp 0x5c0feb
push str.memory
push dword [esp + 0x1c]
call fcn.005cd620
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 0x5c056f
push ecx
call fcn.00582120
add esp, 4
test eax, eax
jne 0x5c056f
mov byte [esi + 0x56], bl
jmp 0x5c117c
cmp byte [0x6d3c3c], 0
je 0x5c1038
push 0xb
call dword [0x6d3c80]
add esp, 4
test eax, eax
je 0x5c1038
push eax
call dword [0x6d3c88]
add esp, 4
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x5c1051
push dword [0x6ebce8]
push esi
call fcn.00599690
add esp, 8
jmp 0x5c10cb
cmp byte [ecx], 0
je 0x5c107f
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 0x5c1149
cmp dword [esp + 0x28], eax
je 0x5c1149
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x56], 1
ja 0x5c1095
push dword [esp + 0x14]
call fcn.00582120
add esp, 4
push dword [0x6ebce8]
call fcn.005643d0
mov eax, dword [esp + 0x1c]
add esp, 4
cmp byte [eax], 0
je 0x5c10c1
push eax
push 0x678638
call fcn.005640a0
add esp, 8
mov dword [0x6ebce8], eax
jmp 0x5c10cb
mov dword [0x6ebce8], 0
cmp byte [0x6d3c3c], 0
je 0x5c056f
push 0xb
call dword [0x6d3c80]
add esp, 4
jmp 0x5c0561
cmp byte [0x6d3c3c], 0
je 0x5c110a
push 0xb
call dword [0x6d3c80]
add esp, 4
test eax, eax
je 0x5c110a
push eax
call dword [0x6d3c88]
add esp, 4
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x5c1123
push dword [0x6ebcec]
push esi
call fcn.00599690
add esp, 8
jmp 0x5c10cb
cmp byte [ecx], 0
je 0x5c1195
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 0x5c1149
cmp dword [esp + 0x28], eax
jne 0x5c1195
push str.not_a_writable_directory
push dword [esp + 0x18]
call fcn.005ab4e0
add esp, 8
cmp byte [0x6d3c3c], 0
je 0x5c117c
push 0xb
call dword [0x6d3c80]
add esp, 4
test eax, eax
je 0x5c117c
push eax
call dword [0x6d3c90]
add esp, 4
push dword [esp + 0x34]
push dword [esp + 0x14]
call fcn.005a9350
mov eax, dword [esp + 0x20]
add esp, 8
jmp 0x5c0588
push dword [0x6ebcec]
call fcn.005643d0
mov eax, dword [esp + 0x1c]
add esp, 4
cmp byte [eax], 0
je 0x5c11c4
push eax
push 0x678638
call fcn.005640a0
add esp, 8
mov dword [0x6ebcec], eax
jmp 0x5c10cb
mov dword [0x6ebcec], 0
jmp 0x5c10cb
test edx, edx
jne 0x5c11ff
movzx eax, byte [ebp + 8]
cdq
sub eax, 1
sbb edx, 0
push edx
push eax
push esi
call fcn.00599600
push dword [esp + 0x40]
push dword [esp + 0x20]
call fcn.005a9350
add esp, 0x14
jmp 0x5c0595
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x55], 0
jne 0x5c1230
push str.Safety_level_may_not_be_changed_inside_a_transaction
push dword [esp + 0x18]
call fcn.005ab4e0
push dword [esp + 0x3c]
push dword [esp + 0x1c]
call fcn.005a9350
mov eax, dword [esp + 0x28]
add esp, 0x10
jmp 0x5c0588
cmp dword [esp + 0x38], 1
je 0x5c4c59
push 1
push 0
push edx
call fcn.00580b90
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.0059bdc0
push dword [esp + 0x44]
push ebp
call fcn.005a9350
mov eax, dword [esp + 0x30]
add esp, 0x18
jmp 0x5c0588
test edx, edx
jne 0x5c12cd
push ebx
push esi
call fcn.0059c040
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 0x5c12a2
mov eax, 1
xor ecx, ecx
jmp 0x5c12b3
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.00599600
push dword [esp + 0x40]
push edi
call fcn.005a9350
add esp, 0x14
jmp 0x5c0595
mov ebp, dword [esp + 0x10]
mov edi, dword [ebx + 8]
mov ebx, dword [ebx + 0xc]
cmp byte [ebp + 0x55], 0
jne 0x5c12e3
and edi, 0xffffbfff
push 0
push edx
call fcn.005b75b0
add esp, 8
test al, al
je 0x5c1313
mov eax, edi
and eax, 1
or eax, 0
je 0x5c1309
mov eax, dword [ebp + 0x20]
and eax, 0x10000000
or eax, 0
jne 0x5c1363
mov eax, ebp
or dword [eax + 0x20], edi
or dword [eax + 0x24], ebx
jmp 0x5c1363
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 0x5c133d
test ebx, ebx
jne 0x5c133d
mov dword [edx + 0x208], ebx
mov dword [edx + 0x20c], ebx
jmp 0x5c1363
and edi, 1
or edi, 0
je 0x5c1363
push str.reset
push dword [esp + 0x1c]
call fcn.005cd620
add esp, 8
test eax, eax
jne 0x5c1363
push ebp
call fcn.005c68d0
add esp, 4
push 0xa6
push esi
call fcn.005d2270
mov esi, ebp
push esi
call fcn.0059bdc0
push dword [esp + 0x40]
push esi
call fcn.005a9350
mov eax, dword [esp + 0x2c]
add esp, 0x14
jmp 0x5c0588
test edx, edx
je 0x5c056f
mov ebp, dword [esp + 0x1c]
push ebp
push dword [esp + 0x18]
call fcn.005a6270
push ebp
push dword [esp + 0x24]
mov ebp, dword [esp + 0x24]
push 2
push ebp
call fcn.005bbe40
mov edi, eax
add esp, 0x18
mov dword [esp + 0x68], edi
test edi, edi
je 0x5c056f
push edi
mov dword [esp + 0x30], 0
call fcn.005c52b0
push edi
push ebp
mov dword [esp + 0x34], eax
mov dword [ebp + 0x2c], 7
call fcn.005df570
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 0x5c056f
mov dword [esp + 0x50], eax
movzx edx, word [ebp + 0xe]
xor edi, edi
test dl, 0x62
je 0x5c143b
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
jne 0x5c141f
inc dword [esp + 0x2c]
jmp 0x5c1551
mov eax, dword [esp + 0x50]
test dl, 0x20
je 0x5c142f
mov edi, 2
jmp 0x5c143b
movzx edi, dl
and edi, 0x40
or edi, 0x20
shr edi, 5
test dl, 1
jne 0x5c1444
xor edx, edx
jmp 0x5c1477
mov ecx, dword [esp + 0x28]
mov edx, 1
test ecx, ecx
je 0x5c1477
cwde
mov dword [esp + 0x80], eax
cmp eax, edx
jl 0x5c1477
mov ecx, dword [ecx + 4]
mov ebx, eax
movsx eax, word [ecx]
cmp eax, dword [esp + 0x24]
je 0x5c1473
inc edx
add ecx, 2
cmp edx, ebx
jle 0x5c1462
mov ebx, dword [esp + 0x7c]
movzx eax, word [ebp + 0xc]
test ax, ax
jne 0x5c1484
xor eax, eax
jmp 0x5c14ac
mov ecx, dword [esp + 0x68]
cmp byte [ecx + 0x2b], 0
je 0x5c1492
xor eax, eax
jmp 0x5c14ac
mov ecx, dword [ecx + 0x34]
test ecx, ecx
jne 0x5c149d
xor eax, eax
jmp 0x5c14ac
cmp dword [ecx], eax
jge 0x5c14a5
xor eax, eax
jmp 0x5c14ac
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 - 0xc]
cmp edi, 2
jae 0x5c14be
test eax, eax
je 0x5c14be
mov ecx, dword [eax + 8]
mov dword [esp + 0x20], ecx
jmp 0x5c14c6
mov dword [esp + 0x20], 0
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
mov dword [esp + 0x44], str.issisii
jne 0x5c14de
mov dword [esp + 0x44], str.issisi
test byte [ebp + 0xe], 4
je 0x5c1505
mov ecx, dword [ebp]
lea eax, [ecx + 1]
mov dword [esp + 0x80], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x5c14f1
sub ecx, dword [esp + 0x80]
inc ecx
add ecx, dword [ebp]
jmp 0x5c151e
mov eax, dword [ebp + 4]
shr eax, 4
and eax, 0xf
je 0x5c1519
mov ecx, dword [eax*4 + 0x6d3e28]
jmp 0x5c151e
mov ecx, 0x6a4e12
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.005ddb40
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 0x5c1403
jmp 0x5c117c
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
push ebx
push eax
mov dword [eax + 0x2c], 6
call fcn.005a6270
mov ebp, dword [esp + 0x18]
add esp, 8
mov dword [esp + 0x68], 0
cmp dword [ebp + 0x14], 0
jle 0x5c0573
xor edi, edi
mov dword [esp + 0x50], edi
nop dword [eax]
test ebx, ebx
je 0x5c15d4
mov eax, dword [ebp + 0x10]
mov eax, dword [edi + eax]
test eax, eax
je 0x5c18a2
push eax
push ebx
call fcn.005cd620
add esp, 8
test eax, eax
jne 0x5c18a2
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 0x5c174e
nop dword [eax]
mov eax, dword [edx + 8]
dec ebx
mov dword [esp + 0x2c], ebx
test eax, eax
je 0x5c174e
mov ecx, dword [eax + 8]
cmp word [ecx + 0x22], 0
je 0x5c1615
mov eax, dword [eax]
test eax, eax
jne 0x5c1600
jmp 0x5c174e
push dword [ecx]
push str.SELECTFROM__w_
push dword [esp + 0x18]
call fcn.005bc3d0
mov ebp, eax
add esp, 0xc
test ebp, ebp
je 0x5c170a
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.005bc060
mov edi, dword [esp + 0x3c]
add esp, 0x1c
test edi, edi
je 0x5c16f9
mov ebx, dword [edi]
test ebx, ebx
jne 0x5c1692
push str.API_called_with_finalized_prepared_statement
push 0x15
call fcn.005536b0
push 0x69279c
push 0x16174
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.005536b0
add esp, 0x1c
jmp 0x5c16f5
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x5c16a3
push eax
call dword [0x6d3c88]
add esp, 4
cmp dword [edi + 0x8c], 0
jl 0x5c16c1
jg 0x5c16b7
cmp dword [edi + 0x88], 0
jbe 0x5c16c1
push edi
push ebx
call fcn.00582170
add esp, 8
push edi
call fcn.005de770
push edi
mov dword [esp + 0x4c], eax
call fcn.005d29b0
mov eax, dword [esp + 0x4c]
add esp, 8
cmp byte [ebx + 0x57], 0
jne 0x5c16e2
test eax, eax
je 0x5c16ec
push eax
push ebx
call fcn.00569bb0
add esp, 8
push ebx
call fcn.005bb3d0
add esp, 4
mov ebx, dword [esp + 0x2c]
push ebp
push dword [esp + 0x14]
call fcn.005a9350
mov edi, dword [esp + 0x58]
add esp, 8
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x57], 0
je 0x5c173c
push str.out_of_memory
push dword [eax + 0x10c]
call fcn.005ab4e0
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 0x5c15f0
mov edi, dword [edx + 8]
mov dword [esp + 0x24], edi
test edi, edi
je 0x5c1896
mov ecx, dword [esp + 0x18]
mov ebx, dword [edi + 8]
test ecx, ecx
je 0x5c1784
mov eax, dword [ebx]
test eax, eax
je 0x5c1888
push eax
push ecx
call fcn.005cd620
add esp, 8
test eax, eax
jne 0x5c1884
mov al, byte [ebx + 0x2b]
cmp al, 2
jne 0x5c1795
mov dword [esp + 0x2c], str.view
jmp 0x5c17bb
cmp al, 1
jne 0x5c17a3
mov dword [esp + 0x2c], 0x6900cc
jmp 0x5c17bb
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 0x5c1846
mov edi, ebp
mov ebx, str.sqlite_
mov al, byte [edi]
dec edx
test al, al
je 0x5c17f3
movzx ecx, byte [ebx]
movzx eax, al
mov al, byte [eax + 0x68a3e0]
cmp al, byte [ecx + 0x68a3e0]
jne 0x5c17f3
inc edi
inc ebx
test edx, edx
jg 0x5c17d1
dec edx
test edx, edx
js 0x5c180f
movzx eax, byte [ebx]
movzx ecx, byte [eax + 0x68a3e0]
movzx eax, byte [edi]
movzx eax, byte [eax + 0x68a3e0]
sub eax, ecx
jne 0x5c1842
lea edi, [ebp + 7]
push 0x68e60b
push edi
call fcn.005cd620
add esp, 8
test eax, eax
jne 0x5c182b
mov ebp, str.sqlite_schema
jmp 0x5c1842
push 0x68e7ef
push edi
call fcn.005cd620
add esp, 8
test eax, eax
jne 0x5c1842
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.005ddb40
add esp, 0x24
mov ecx, dword [esp + 0x18]
mov edi, dword [edi]
mov dword [esp + 0x24], edi
test edi, edi
jne 0x5c1761
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 0x5c15b0
jmp 0x5c0573
test edx, edx
je 0x5c056f
mov edi, dword [esp + 0x1c]
push edi
push edx
push dword [esp + 0x18]
call fcn.005b1d10
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x5c1918
push edi
push dword [esp + 0x1c]
push 2
push dword [esp + 0x20]
call fcn.005bbe40
add esp, 0x10
test eax, eax
je 0x5c056f
test byte [eax + 0x1c], 0x80
je 0x5c056f
push eax
call fcn.005c52b0
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x5c056f
push dword [ebp + 0x18]
push dword [esp + 0x14]
call fcn.005c84d0
mov ecx, dword [ebx + 8]
add esp, 8
or ecx, dword [ebx + 0xc]
mov edi, eax
mov edx, dword [esp + 0x14]
je 0x5c1940
movzx eax, word [ebp + 0x34]
mov ecx, 6
jmp 0x5c1949
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.005a62f0
xor edi, edi
add esp, 8
cmp word [esp + 0x2c], di
je 0x5c056f
mov eax, dword [ebp + 4]
movzx eax, word [eax + edi*2]
movsx edx, ax
test ax, ax
jns 0x5c1984
xor eax, eax
jmp 0x5c1992
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.005ddb40
mov eax, dword [ebx + 8]
add esp, 0x18
or eax, dword [ebx + 0xc]
je 0x5c19d6
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.005ddb40
add esp, 0x18
mov eax, dword [esp + 0x14]
push dword [eax + 0x2c]
push 1
push 0x54
push esi
call fcn.005d2320
mov ecx, dword [esp + 0x3c]
inc edi
movzx eax, cx
add esp, 0x10
cmp edi, eax
jl 0x5c1971
jmp 0x5c117c
test edx, edx
je 0x5c056f
mov edi, dword [esp + 0x1c]
push edi
push edx
push dword [esp + 0x18]
call fcn.005b1da0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x5c056f
push dword [edi + 0x3c]
push dword [esp + 0x14]
call fcn.005c84d0
mov ecx, dword [esp + 0x1c]
push eax
push ecx
mov dword [ecx + 0x2c], 5
call fcn.005a62f0
mov edi, dword [edi + 8]
add esp, 0x10
xor ebx, ebx
test edi, edi
je 0x5c056f
mov dword [esp + 0x6c], 0x690d38
mov dword [esp + 0x70], 0x690d3c
mov dword [esp + 0x74], 0x68ca8c
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.005ddb40
mov edi, dword [edi + 0x14]
add esp, 0x20
inc ebx
test edi, edi
jne 0x5c1a70
jmp 0x5c117c
mov eax, dword [esp + 0x14]
xor edi, edi
mov ebp, dword [esp + 0x10]
mov dword [eax + 0x2c], 3
cmp dword [ebp + 0x14], edi
jle 0x5c0573
xor ebx, ebx
nop dword [eax + eax]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + ebx + 4]
test eax, eax
je 0x5c1b10
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp byte [eax + 0xf], 0
jne 0x5c1af6
cmp dword [eax], 0x6d46b8
je 0x5c1af6
mov eax, dword [eax + 0xb8]
jmp 0x5c1afb
mov eax, 0x68a814
push eax
push dword [ecx + ebx]
push edi
push 0x690d48
push 1
push esi
call fcn.005ddb40
add esp, 0x18
inc edi
add ebx, 0x10
cmp edi, dword [ebp + 0x14]
jl 0x5c1ad0
jmp 0x5c0573
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 0x5c056f
nop dword [eax]
mov eax, dword [edi + 8]
push dword [eax]
push ebx
push 0x690d4c
push 1
push esi
call fcn.005ddb40
mov edi, dword [edi]
add esp, 0x14
inc ebx
test edi, edi
jne 0x5c1b40
jmp 0x5c056f
mov eax, dword [esp + 0x10]
mov ebp, 0x6ebcf8
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 0x5c1b9b
push ebx
push 1
push edi
push esi
call fcn.00593c70
mov edi, dword [edi + 0x24]
add esp, 0x10
test edi, edi
jne 0x5c1b87
add ebp, 4
cmp ebp, 0x6ebd54
jl 0x5c1b80
mov edi, dword [esp + 0x10]
mov edi, dword [edi + 0x1a8]
test edi, edi
je 0x5c056f
push ebx
push 0
push dword [edi + 8]
push esi
call fcn.00593c70
mov edi, dword [edi]
add esp, 0x10
test edi, edi
jne 0x5c1bb8
jmp 0x5c056f
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
mov dword [eax + 0x2c], 1
mov edi, dword [edi + 0x18c]
test edi, edi
je 0x5c056f
nop
mov eax, dword [edi + 8]
push dword [eax + 4]
push 0x6af7e0
push 1
push esi
call fcn.005ddb40
mov edi, dword [edi]
add esp, 0x10
test edi, edi
jne 0x5c1bf0
jmp 0x5c056f
mov edi, 0x68af10
push dword [edi]
push 0x6af7e0
push 1
push esi
call fcn.005ddb40
add edi, 0x10
add esp, 0x10
cmp edi, 0x68b340
jl 0x5c1c16
jmp 0x5c056f
test edx, edx
je 0x5c056f
mov edi, dword [esp + 0x1c]
push edi
push edx
push dword [esp + 0x18]
call fcn.005b1da0
add esp, 0xc
mov dword [esp + 0x28], eax
test eax, eax
je 0x5c056f
cmp byte [eax + 0x2b], 0
jne 0x5c056f
mov edi, dword [eax + 0x30]
test edi, edi
je 0x5c056f
push dword [eax + 0x3c]
push dword [esp + 0x14]
call fcn.005c84d0
mov ecx, dword [esp + 0x1c]
xor ebp, ebp
push eax
push ecx
mov dword [esp + 0x3c], ebp
mov dword [ecx + 0x2c], 8
call fcn.005a62f0
add esp, 0x10
nop word [eax + eax]
xor ebx, ebx
cmp dword [edi + 0x14], ebx
jle 0x5c1d08
lea ebp, [edi + 0x24]
nop word [eax + eax]
movzx eax, byte [edi + 0x19]
push str.NONE
push eax
call fcn.00567250
add esp, 4
push eax
movzx eax, byte [edi + 0x1a]
push eax
call fcn.00567250
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.005ddb40
inc ebx
lea ebp, [ebp + 8]
add esp, 0x2c
cmp ebx, dword [edi + 0x14]
jl 0x5c1cb0
mov ebp, dword [esp + 0x2c]
mov edi, dword [edi + 4]
inc ebp
mov dword [esp + 0x2c], ebp
test edi, edi
jne 0x5c1ca0
jmp 0x5c117c
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 0x5c056f
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
test eax, eax
je 0x5c1d6e
push edi
push eax
push 0
push edx
call fcn.005bbe40
mov edx, dword [esp + 0x24]
add esp, 0x10
xor ecx, ecx
jmp 0x5c1d73
mov eax, dword [ecx + 8]
mov ecx, dword [ecx]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x64], eax
test eax, eax
je 0x5c240f
cmp byte [eax + 0x2b], 0
jne 0x5c240f
cmp dword [eax + 0x30], 0
je 0x5c240f
mov ecx, dword [eax + 0x3c]
mov edi, 0xffff8000
test ecx, ecx
je 0x5c1dbb
mov eax, dword [esp + 0x10]
xor edi, edi
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], ecx
je 0x5c1dbb
lea eax, [eax + 0x10]
inc edi
cmp dword [eax], ecx
jne 0x5c1db3
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 0x5c1ef6
bts ebx, edi
mov dword [edx + 0x5c], ebx
cmp edi, 1
jne 0x5c1eff
push edx
call fcn.005bd530
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 0x5c1e1c
mov dword [ecx + 0x2c], eax
push 0x70
push ebx
push edi
push 0
push ecx
call fcn.005bd1c0
push 0
push dword [ebx]
push 0
push dword [esp + 0x80]
push 0
push 0x75
push esi
call fcn.005d23e0
mov ebp, dword [ebx + 0x30]
add esp, 0x30
mov eax, 1
mov dword [esp + 0x24], eax
test ebp, ebp
je 0x5c1f6b
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.005b1da0
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x5c1f53
mov dword [esp + 0x88], 0
cmp edi, 1
je 0x5c1eb5
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 0x5c1eb5
push dword [ebx]
push 0
push dword [ebx + 0x14]
push edi
push edx
call fcn.0058a090
add esp, 0x14
push 0
lea eax, [esp + 0x8c]
push eax
push ebp
push ebx
push dword [esp + 0x24]
call fcn.005b36f0
add esp, 0x14
test eax, eax
jne 0x5c056f
mov eax, dword [esp + 0x88]
test eax, eax
jne 0x5c1f30
push 0x70
push ebx
push edi
push dword [esp + 0x30]
push dword [esp + 0x24]
call fcn.005bd1c0
add esp, 0x14
jmp 0x5c1f53
cmp edi, 1
je 0x5c1e04
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 0x5c1e0c
push dword [ebx]
push 0
push dword [ebx + 0x14]
push edi
push ecx
call fcn.0058a090
add esp, 0x14
jmp 0x5c1e08
push edi
push dword [eax + 0x2c]
push dword [esp + 0x2c]
push 0x70
push esi
call fcn.005d2380
push dword [esp + 0x9c]
push dword [esp + 0x2c]
call fcn.005debd0
add esp, 0x1c
mov eax, dword [esp + 0x24]
mov ebp, dword [ebp + 4]
inc eax
mov dword [esp + 0x24], eax
test ebp, ebp
jne 0x5c1e60
mov ebx, dword [esp + 0x64]
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0x28], eax
jge 0x5c1f77
mov dword [ecx + 0x28], eax
push 0
push 0x24
push esi
call fcn.005d22c0
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 0x5c239d
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.005b1da0
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 0x5c1ffb
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x8c]
push ecx
push ebp
push eax
push dword [esp + 0x24]
call fcn.005b36f0
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 0x5c201a
mov dword [edx + 0x2c], eax
mov eax, dword [esp + 0x5c]
xor ebp, ebp
cmp dword [eax + 0x14], ebp
jle 0x5c20b0
add eax, 0x24
mov ebx, ecx
mov dword [esp + 0x20], eax
test edi, edi
je 0x5c2039
lea eax, [edi + ebp*4]
push ebx
push dword [eax]
push 0
push dword [esp + 0x70]
push esi
call fcn.005ac830
mov ecx, dword [esi + 0x6c]
add esp, 0x14
cmp dword [esi + 0x70], ecx
jg 0x5c2067
push 0
push dword [esp + 0x30]
push ebx
push 0x32
push esi
call fcn.00580cd0
add esp, 0x14
jmp 0x5c2096
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 0x5c2032
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x88]
test eax, eax
je 0x5c2145
mov ecx, dword [eax + 0x10]
test ecx, ecx
jne 0x5c20d5
push eax
push dword [esp + 0x14]
call fcn.00572330
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.005d23e0
mov ecx, dword [esi + 0x6c]
add esp, 0x1c
mov edx, dword [ebp + 0x14]
cmp dword [esi + 0x70], ecx
jg 0x5c2118
push edx
push dword [esp + 0x7c]
push ebx
push dword [esp + 0x54]
push 0x1d
push esi
call fcn.005673e0
add esp, 0x18
jmp 0x5c21aa
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 0x5c21a6
cmp dword [esp + 0x28], 0
je 0x5c21a6
mov ecx, dword [esi + 0x6c]
lea edx, [ecx + 2]
cmp dword [esi + 0x70], ecx
jg 0x5c216d
push dword [esp + 0x78]
push edx
push dword [esp + 0x50]
push 0x1e
push esi
call fcn.00580cd0
add esp, 0x14
jmp 0x5c219c
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.005dbcf0
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 0x5c21ed
cmp eax, ecx
jg 0x5c21d8
mov eax, dword [esp + 0x60]
push 0
inc eax
push eax
push 0
push 0x87
push esi
call fcn.00580cd0
add esp, 0x14
jmp 0x5c2240
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 0x5c221b
cmp eax, ecx
jg 0x5c2208
mov eax, dword [esp + 0x60]
push 0
inc eax
push eax
push 0
push 0x4b
push esi
call fcn.00580cd0
add esp, 0x14
jmp 0x5c2240
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 0x690d64
push dword [esp + 0x8c]
push esi
call fcn.005ddb40
mov ecx, dword [esi + 0x6c]
add esp, 0x14
cmp dword [esi + 0x70], ecx
jg 0x5c227b
push 0
push 4
push dword [esp + 0x68]
push 0x54
push esi
call fcn.00580cd0
add esp, 0x14
jmp 0x5c22ae
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 0x5c22c8
push ebx
push esi
push ecx
call fcn.00597740
add esp, 0xc
jmp 0x5c22d1
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 0x5c2386
cmp edi, dword [ecx + 0x164]
jae 0x5c2318
cmp edi, dword [ecx + 0x15c]
jb 0x5c2300
mov eax, dword [ecx + 0x158]
mov dword [edi], eax
mov dword [ecx + 0x158], edi
jmp 0x5c2386
cmp edi, dword [ecx + 0x160]
jb 0x5c2318
mov eax, dword [ecx + 0x150]
mov dword [edi], eax
mov dword [ecx + 0x150], edi
jmp 0x5c2386
cmp dword [ecx + 0x210], 0
je 0x5c232d
push edi
push ecx
call fcn.0058b300
add esp, 8
jmp 0x5c2382
cmp dword [0x6d3c38], 0
je 0x5c2378
mov eax, dword [0x6ebdc0]
test eax, eax
je 0x5c2349
push eax
call dword [0x6d3c88]
add esp, 4
push edi
call dword [0x6d3c64]
sub dword [0x6ebd58], eax
dec dword [0x6ebd7c]
push edi
call dword [0x6d3c5c]
mov eax, dword [0x6ebdc0]
add esp, 8
test eax, eax
je 0x5c2382
push eax
call dword [0x6d3c90]
jmp 0x5c237f
push edi
call dword [0x6d3c5c]
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 0x5c1fb3
mov edi, dword [esp + 0x7c]
mov ecx, dword [esi + 0x6c]
lea edx, [edi + 1]
cmp dword [esi + 0x70], ecx
jg 0x5c23ba
push 0
push edx
push 0
push 0x27
push esi
call fcn.00580cd0
add esp, 0x14
jmp 0x5c23e9
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 0x5c23fb
mov eax, 0x6ebf90
jmp 0x5c2404
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 0x5c1d51
jmp 0x5c056f
test edx, edx
je 0x5c056f
push 0
push edx
call fcn.005b75b0
mov ebp, dword [esp + 0x18]
add esp, 8
test al, al
mov edi, 0x689628
mov ecx, 0x68962c
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 0x558b30
push edi
push 1
push esi
push str.like
push ebp
call fcn.005a8040
push 0
push 1
push esi
push str.like
push ebp
call fcn.005b11d0
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 0x5c2460
push dword [esp + 0x34]
push ebp
call fcn.005a9350
mov eax, dword [esp + 0x20]
add esp, 8
jmp 0x5c0588
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 + 0x68a3e0]
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 0x5c256d
lea eax, [esp + 0x54]
push eax
mov eax, dword [esp + 0x6c]
push dword [eax]
call fcn.005b7810
add esp, 8
test eax, eax
je 0x5c253b
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x2c], ebp
test ebp, ebp
jg 0x5c256d
mov ebp, 0x64
jmp 0x5c2569
test edi, edi
js 0x5c254f
mov eax, dword [esp + 0x10]
mov ecx, edi
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8]
jmp 0x5c2551
xor eax, eax
push eax
push dword [esp + 0x1c]
push 0
push ebx
call fcn.005bbe40
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.005d2320
mov eax, dword [esp + 0x20]
xor ecx, ecx
add esp, 0x10
mov dword [esp + 0x64], ecx
cmp dword [eax + 0x14], ecx
jle 0x5c4363
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 0x5c25bc
cmp ecx, edi
jne 0x5c4351
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 0x5c25ef
bts edi, ecx
mov dword [edx + 0x5c], edi
cmp ecx, 1
jne 0x5c25ef
push edx
call fcn.005bd530
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 0x5c4347
cmp dword [esp + 0x3c], 0
mov eax, dword [edx + 8]
je 0x5c2621
cmp dword [esp + 0x3c], eax
jne 0x5c2638
test byte [eax + 0x1c], 0x80
jne 0x5c2628
inc ecx
mov eax, dword [eax + 8]
test eax, eax
je 0x5c2638
nop
mov eax, dword [eax + 0x14]
inc ecx
test eax, eax
jne 0x5c2630
mov edx, dword [edx]
test edx, edx
jne 0x5c2611
test ecx, ecx
je 0x5c4347
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.005a9460
mov edi, eax
add esp, 0xc
test edi, edi
je 0x5c435f
xor edx, edx
test ebx, ebx
je 0x5c2680
mov edx, 1
mov dword [edi + 4], 0
mov ebx, dword [esp + 0x68]
mov ebx, dword [ebx + 0x10]
test ebx, ebx
je 0x5c26c8
mov ebp, dword [esp + 0x3c]
nop
mov ecx, dword [ebx + 8]
test ebp, ebp
je 0x5c269b
cmp ebp, ecx
jne 0x5c26be
test byte [ecx + 0x1c], 0x80
jne 0x5c26a8
mov eax, dword [ecx + 0x14]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x5c26be
nop
mov eax, dword [ecx + 0x2c]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x5c26b0
mov ebx, dword [ebx]
test ebx, ebx
jne 0x5c2690
mov ebp, dword [esp + 0x78]
mov ecx, dword [esp + 0x14]
lea eax, [edx + 8]
mov dword [edi], edx
cmp dword [ecx + 0x2c], eax
jge 0x5c26d9
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.005d23e0
mov eax, dword [ebp]
add esp, 0x1c
test eax, eax
jle 0x5c2713
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 0x5c2733
push 0
push 0
push 2
push 0x32
push esi
call fcn.00580cd0
add esp, 0x14
mov edi, eax
jmp 0x5c2766
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.005bc3d0
add esp, 0xc
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.005d23e0
mov ecx, dword [ebp]
add esp, 0x1c
cmp dword [ebx], ecx
jg 0x5c27b2
push 3
push 3
push 2
push 0x6f
push esi
call fcn.00580cd0
add esp, 0x14
jmp 0x5c27e5
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.00581fb0
mov eax, dword [esi]
add esp, 4
mov edx, dword [ebp]
cmp byte [eax + 0x57], 0
je 0x5c2800
mov eax, 0x6ebf90
jmp 0x5c2809
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.005d23e0
mov eax, dword [esp + 0x84]
add esp, 0x1c
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x50], ecx
test ecx, ecx
je 0x5c29dd
nop dword [eax]
mov ebx, dword [ecx + 8]
test edi, edi
je 0x5c285f
cmp edi, ebx
jne 0x5c29c7
test byte [ebx + 0x1c], 0x80
mov eax, dword [esp + 0x48]
mov edi, eax
mov dword [esp + 0x24], edi
jne 0x5c2876
inc eax
mov dword [esp + 0x48], eax
jmp 0x5c289d
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x5c2899
nop dword [eax]
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x5c2891
mov ecx, dword [ecx + 0x14]
inc edi
test ecx, ecx
jne 0x5c2880
mov eax, dword [esp + 0x48]
mov dword [esp + 0x24], edi
mov ecx, dword [esp + 0x50]
mov ebx, dword [ebx + 8]
test ebx, ebx
je 0x5c29c3
lea edx, [eax + 8]
mov dword [esp + 0x20], edx
nop
cmp dword [ebx + 0x24], 0
jne 0x5c29a6
mov ecx, dword [esp + 0x30]
lea eax, [edi + 8]
mov edi, dword [ebp]
cmp dword [ecx], edi
jg 0x5c28db
push eax
push 0
push edx
push 0x35
push esi
call fcn.00580cd0
add esp, 0x14
mov edi, eax
jmp 0x5c2911
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.005d23e0
mov eax, dword [esp + 0x4c]
add esp, 0x1c
mov ecx, dword [ebp]
cmp dword [eax], ecx
jg 0x5c2944
push 3
push 2
push 4
push 0x6f
push esi
call fcn.00580cd0
add esp, 0x14
jmp 0x5c2977
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.00581fb0
mov eax, dword [esi]
add esp, 4
mov edx, dword [ebp]
cmp byte [eax + 0x57], 0
je 0x5c2992
mov eax, 0x6ebf90
jmp 0x5c299b
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 0x5c28b0
mov ecx, dword [esp + 0x50]
mov edi, dword [esp + 0x3c]
mov ecx, dword [ecx]
mov dword [esp + 0x50], ecx
test ecx, ecx
jne 0x5c2850
mov ebx, dword [esp + 0x30]
mov eax, dword [esp + 0x68]
mov edi, dword [eax + 0x10]
mov dword [esp + 0x28], edi
test edi, edi
je 0x5c420f
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 0x5c2a16
cmp eax, edi
jne 0x5c41f9
cmp byte [edi + 0x2b], 0
jne 0x5c41f9
cmp byte [esp + 0x87], 0x71
je 0x5c2ace
test byte [edi + 0x1c], 0x80
je 0x5c2ace
mov ecx, dword [edi + 8]
mov dword [esp + 0x90], ecx
test ecx, ecx
je 0x5c2a5d
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x5c2a56
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x5c2a46
mov dword [esp + 0x90], ecx
movzx eax, word [ecx + 0x32]
push eax
push dword [esp + 0x18]
call fcn.005b7990
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 0x5c2a9d
push edx
push dword [esp + 0x60]
push 1
push 0x4b
push esi
call fcn.00580cd0
add esp, 0x14
jmp 0x5c2ae1
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 0x5c2ae1
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.005bd300
mov edx, dword [esp + 0x50]
add esp, 0x20
mov ecx, dword [ebp]
cmp dword [edx], ecx
jg 0x5c2b28
push 0
push 7
push 0
push 0x47
push esi
call fcn.00580cd0
mov edx, dword [esp + 0x44]
add esp, 0x14
jmp 0x5c2b5b
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 0x5c2bc3
mov edi, 8
mov ecx, dword [ebp]
cmp dword [edx], ecx
jg 0x5c2b84
push 0
push edi
push 0
push 0x47
push esi
call fcn.00580cd0
mov edx, dword [esp + 0x44]
add esp, 0x14
jmp 0x5c2bb7
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 0x5c2b67
mov edi, dword [esp + 0x58]
mov ecx, dword [ebp]
cmp dword [edx], ecx
jg 0x5c2be6
push 0
push 0
push dword [esp + 0x94]
push 0x24
push esi
call fcn.00580cd0
mov edx, dword [esp + 0x44]
add esp, 0x14
jmp 0x5c2c1c
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 0x5c2c3e
push 0
push 1
push 7
push 0x56
push esi
call fcn.00580cd0
add esp, 0x14
mov dword [esp + 0x20], eax
jmp 0x5c2c71
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 0x5c2cb1
movsx edi, word [edi + 0x22]
or ecx, 0xffffffff
mov ebx, dword [esp + 0x58]
test edi, edi
jle 0x5c2ca3
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 0x5c2c90
movsx eax, word [ebx + 0x20]
lea edx, [ecx - 1]
cmp ecx, eax
cmovne edx, ecx
jmp 0x5c2ccd
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x5c2cc8
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x5c2cc8
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x5c2cb8
movzx edx, word [ecx + 0x34]
dec edx
mov ebx, dword [esp + 0x30]
test edx, edx
js 0x5c2d5b
mov ecx, dword [ebp]
cmp dword [ebx], ecx
jg 0x5c2cf7
push 3
push edx
push dword [esp + 0x94]
push 0x5e
push esi
call fcn.00580cd0
add esp, 0x14
jmp 0x5c2d29
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 0x5c2d38
mov eax, 0x6ebf90
jmp 0x5c2d47
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 0x5c2d5b
cmp byte [eax], 0x5e
jne 0x5c2d5b
mov ecx, 0x80
or word [eax + 2], cx
cmp byte [esp + 0x87], 0x71
je 0x5c2ed4
mov eax, dword [esp + 0x90]
test eax, eax
je 0x5c2ed4
mov edi, dword [ebp]
movzx edx, word [eax + 0x32]
cmp dword [ebx], edi
jg 0x5c2da0
push edx
push dword [esp + 0x60]
push 0
push dword [esp + 0x98]
push 0x29
push esi
call fcn.005673e0
add esp, 0x18
mov edi, eax
jmp 0x5c2dd6
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 0x5c2df2
push 0
push 0
push dword [esp + 0x64]
push 0x32
push esi
call fcn.00580cd0
add esp, 0x14
jmp 0x5c2e25
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.005bc3d0
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.005d23e0
push esi
call fcn.00581fb0
mov eax, dword [esi]
add esp, 0x2c
mov edx, dword [ebp]
cmp byte [eax + 0x57], 0
je 0x5c2e65
mov eax, 0x6ebf90
jmp 0x5c2e6e
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 0x5c2e83
mov eax, 0x6ebf98
jmp 0x5c2e8f
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 0x5c2ed4
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.005ad600
movzx eax, word [ebx + 0x32]
inc edi
add esp, 0x14
cmp edi, eax
jl 0x5c2eb0
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 0x5c36bb
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 0x5c36a6
test ecx, ecx
je 0x5c2f26
mov eax, dword [edx + 4]
and eax, 0xf0
cmp dword [esp + 0x98], eax
sbb eax, eax
neg eax
jmp 0x5c2f2f
xor eax, eax
cmp byte [edx + 8], 0x41
setg al
test byte [edx + 4], 0xf
mov dword [esp + 0x94], eax
jne 0x5c2f44
test eax, eax
je 0x5c36a6
test byte [edx + 0xe], 0x20
mov dword [esp + 0x40], 5
je 0x5c2f75
push 3
push ebx
push dword [esp + 0x94]
push edi
push esi
call fcn.005ac830
add esp, 0x14
or edi, 0xffffffff
mov dword [esp + 0x4c], edi
lea edx, [edi + 4]
jmp 0x5c3120
movzx eax, word [edx + 0xc]
test ax, ax
je 0x5c30b8
cmp byte [edi + 0x2b], 0
mov dword [esp + 0x54], 0
jne 0x5c30b8
mov ecx, dword [edi + 0x34]
test ecx, ecx
je 0x5c30b8
cmp dword [ecx], eax
jl 0x5c30b8
lea eax, [eax + eax*4]
mov ecx, dword [ecx + eax*4 - 0xc]
test ecx, ecx
je 0x5c30b8
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.005ed3d0
mov edi, dword [esp + 0x6c]
add esp, 0x18
test edi, edi
je 0x5c30b8
movzx ecx, word [edi + 0x10]
mov eax, ecx
and eax, 0x3f
movzx eax, byte [eax + 0x68a830]
mov dword [esp + 0x40], eax
test ecx, 0x9000
jne 0x5c3003
cmp dword [edi + 0x18], 0
je 0x5c300c
push edi
call fcn.005eec20
add esp, 4
mov ecx, dword [edi + 0x14]
test ecx, ecx
je 0x5c3063
cmp edi, dword [ecx + 0x164]
jae 0x5c304e
cmp edi, dword [ecx + 0x15c]
jb 0x5c3036
mov eax, dword [ecx + 0x158]
mov dword [edi], eax
mov dword [ecx + 0x158], edi
jmp 0x5c30b8
cmp edi, dword [ecx + 0x160]
jb 0x5c304e
mov eax, dword [ecx + 0x150]
mov dword [edi], eax
mov dword [ecx + 0x150], edi
jmp 0x5c30b8
cmp dword [ecx + 0x210], 0
je 0x5c3063
push edi
push ecx
call fcn.0058b300
add esp, 8
jmp 0x5c30b8
cmp dword [0x6d3c38], 0
je 0x5c30ae
mov eax, dword [0x6ebdc0]
test eax, eax
je 0x5c307f
push eax
call dword [0x6d3c88]
add esp, 4
push edi
call dword [0x6d3c64]
sub dword [0x6ebd58], eax
dec dword [0x6ebd7c]
push edi
call dword [0x6d3c5c]
mov eax, dword [0x6ebdc0]
add esp, 8
test eax, eax
je 0x5c30b8
push eax
call dword [0x6d3c90]
jmp 0x5c30b5
push edi
call dword [0x6d3c5c]
add esp, 4
mov eax, dword [esp + 0x58]
mov edi, dword [esp + 0x8c]
mov dword [esp + 0x4c], edi
test byte [eax + 0x1c], 0x80
je 0x5c3113
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x5c30e4
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x5c30e4
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x5c30d4
movzx edi, word [ecx + 0x34]
xor edx, edx
test edi, edi
je 0x5c3101
mov eax, dword [ecx + 4]
movzx ebx, bx
cmp bx, word [eax]
je 0x5c310a
inc edx
add eax, 2
cmp edx, edi
jl 0x5c30f4
mov edi, dword [esp + 0x4c]
or eax, 0xffffffff
jmp 0x5c311d
mov edi, dword [esp + 0x4c]
movzx eax, dx
jmp 0x5c311d
push ebx
push eax
call fcn.005cdc90
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 0x5c3333
mov eax, dword [esp + 0x30]
mov ebx, dword [ebp]
cmp dword [eax], ebx
jg 0x5c317a
push dword [esp + 0x40]
push edx
push dword [esp + 0x58]
push edi
push 0x12
push esi
call fcn.005673e0
mov edx, dword [esp + 0x34]
add esp, 0x18
mov ebx, eax
jmp 0x5c31ad
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 0x5c31d6
test eax, eax
jle 0x5c31cf
lea ecx, [eax + eax*4]
mov edx, 0xf
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov edi, ebx
jmp 0x5c32a1
test eax, eax
jle 0x5c31ee
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 0x5c320a
push 3
push edx
push edi
push 0x5e
push esi
call fcn.00580cd0
add esp, 0x14
jmp 0x5c3239
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.005a6440
mov eax, dword [esp + 0x40]
add esp, 0x10
mov edi, dword [ebp]
cmp dword [eax], edi
jg 0x5c326e
push 0
push dword [esp + 0x54]
push 3
push 0x33
push esi
call fcn.00580cd0
add esp, 0x14
mov edi, eax
jmp 0x5c32a1
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.005bc3d0
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.005d23e0
mov edx, dword [esp + 0xc0]
add esp, 0x2c
test edx, edx
je 0x5c337b
push dword [esp + 0x7c]
push esi
call fcn.005dbcf0
mov eax, dword [esi]
add esp, 8
mov edx, dword [ebp]
cmp byte [eax + 0x57], 0
je 0x5c32fd
mov eax, 0x6ebf90
jmp 0x5c3306
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 0x5c331b
mov eax, 0x6ebf90
jmp 0x5c3324
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 0x5c345a
test edx, edx
je 0x5c3428
mov eax, dword [esp + 0x30]
mov ecx, dword [ebp]
cmp dword [eax], ecx
jg 0x5c3389
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.005673e0
add esp, 0x18
jmp 0x5c33b8
mov ebx, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x24]
jmp 0x5c333a
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 0x5c33de
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 + 0x6d5447]
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 + 0x6d3e28]
push str.non__s_value_in__s._s
push dword [esp + 0x20]
call fcn.005bc3d0
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.005d23e0
add esp, 0x30
jmp 0x5c3435
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 0x5c3669
push edx
push esi
push ecx
call fcn.00597740
add esp, 0xc
jmp 0x5c3672
cmp byte [eax + 8], 0x42
mov esi, ecx
mov dword [esp + 0x88], edi
jne 0x5c3517
mov eax, dword [esp + 0x30]
mov ecx, dword [ebp]
mov esi, dword [esp + 0x54]
cmp dword [eax], ecx
jg 0x5c3498
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.005673e0
add esp, 0x18
jmp 0x5c34c7
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 0x5c34de
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.005bc3d0
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.005d23e0
add esp, 0x2c
jmp 0x5c342a
cmp byte [eax + 8], 0x43
jl 0x5c3431
mov eax, dword [esp + 0x30]
mov ecx, dword [ebp]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x4c]
cmp dword [eax], ecx
jg 0x5c3548
push dword [esp + 0x40]
push edx
push ebx
push edi
push 0x12
push esi
call fcn.005673e0
add esp, 0x18
jmp 0x5c356f
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 0x5c3586
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 0x5c35a5
push 3
push edi
push dword [esp + 0x94]
push dword [esp + 0x64]
push esi
call fcn.005ac830
add esp, 0x14
push 0xffffffffffffffff
push 0x6a4e10
push 0
push 1
push 3
push 0x60
push esi
call fcn.005d23e0
mov eax, dword [esp + 0x4c]
add esp, 0x1c
mov ecx, dword [ebp]
cmp dword [eax], ecx
jg 0x5c35de
push dword [esp + 0x40]
push 3
push ebx
push 0xffffffffffffffff
push 0x12
push esi
call fcn.005673e0
add esp, 0x18
jmp 0x5c360d
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 0x5c3624
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.005bc3d0
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.005d23e0
mov eax, dword [esp + 0xb4]
add esp, 0x2c
mov dword [esp + 0x88], eax
jmp 0x5c3435
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebp]
mov dword [ecx + edx*4], eax
push esi
call fcn.00581fb0
mov ecx, dword [esi + 0xc]
add esp, 4
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x5c3695
push ebx
push esi
push ecx
call fcn.00597740
add esp, 0xc
jmp 0x5c369e
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 0x5c2ef5
mov dword [esp + 0x40], esi
mov ecx, dword [edi + 0x10]
test ecx, ecx
je 0x5c3804
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x20]
and eax, 0x200
or eax, 0
jne 0x5c3804
push eax
push ecx
push ebx
call fcn.005b0460
add esp, 0xc
mov edx, eax
cmp byte [ebx + 0x57], 0
mov dword [esp + 0x44], edx
jne 0x5c37f6
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 0x5c3758
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.005af530
dec edi
lea ebx, [ebx - 0x14]
add esp, 0x10
test edi, edi
jg 0x5c3732
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.005af8f0
mov ecx, dword [esi + 0xc]
add esp, 0x10
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x5c3788
push ebx
push esi
push ecx
call fcn.00597740
add esp, 0xc
jmp 0x5c3791
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.005bc3d0
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
push 0x75
push esi
call fcn.005d23e0
push esi
call fcn.00581fb0
mov ecx, dword [esi + 0xc]
add esp, 0x2c
not edi
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x5c37e5
push edi
push esi
push ecx
call fcn.00597740
add esp, 0xc
jmp 0x5c37ee
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 0x5c3804
push edx
push ebx
call fcn.00579390
add esp, 8
cmp byte [esp + 0x87], 0x71
je 0x5c4134
mov edi, dword [edi + 8]
mov dword [esp + 0x1c], edi
test edi, edi
je 0x5c4134
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 0x5c4121
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.005b6e60
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 0x5c38ab
push 0
push 1
push edx
push 0x56
push esi
call fcn.00580cd0
add esp, 0x14
jmp 0x5c38de
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 0x5c3906
push edx
push dword [esp + 0x64]
push ebx
push dword [esp + 0x58]
push 0x1d
push esi
call fcn.005673e0
add esp, 0x18
mov edi, eax
jmp 0x5c3935
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.005d23e0
mov ebx, dword [esp + 0x4c]
add esp, 0x1c
mov ecx, dword [ebp]
cmp dword [ebx], ecx
jg 0x5c396b
push 3
push 3
push 7
push 0x6f
push esi
call fcn.00580cd0
add esp, 0x14
jmp 0x5c399e
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.005d23e0
mov ecx, dword [ebp]
add esp, 0x1c
cmp dword [ebx], ecx
jg 0x5c39d0
push 3
push 3
push 4
push 0x6f
push esi
call fcn.00580cd0
add esp, 0x14
jmp 0x5c3a03
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.005d23e0
mov ecx, dword [ebp]
add esp, 0x1c
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x30]
cmp dword [eax], ecx
jg 0x5c3a3e
push 3
push 3
push 4
push 0x6f
push esi
call fcn.00580cd0
add esp, 0x14
jmp 0x5c3a71
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.00581fb0
mov ecx, dword [esi]
add esp, 4
mov edx, dword [ebp]
mov dword [esp + 0x94], eax
cmp byte [ecx + 0x57], 0
je 0x5c3a93
mov ecx, 0x6ebf90
jmp 0x5c3a9c
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 0x5c3c07
mov eax, dword [esp + 0x30]
mov ecx, dword [ebp]
cmp dword [eax], ecx
jg 0x5c3ad0
push 0
push 3
push dword [esp + 0x54]
push 0x8e
push esi
call fcn.00580cd0
add esp, 0x14
jmp 0x5c3b03
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 0x5c3b2d
push edx
push 0
push 3
push 0x35
push esi
call fcn.00580cd0
add esp, 0x14
mov edi, eax
jmp 0x5c3b60
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.005d23e0
mov ecx, dword [ebp]
add esp, 0x1c
cmp dword [ebx], ecx
jg 0x5c3b92
push 3
push 3
push 7
push 0x6f
push esi
call fcn.00580cd0
add esp, 0x14
jmp 0x5c3bc5
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.005d23e0
mov eax, dword [esp + 0x70]
dec eax
push eax
push esi
call fcn.005dbcf0
mov eax, dword [esi]
add esp, 0x24
mov edx, dword [ebp]
cmp byte [eax + 0x57], 0
je 0x5c3bfb
mov eax, 0x6ebf90
jmp 0x5c3c04
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 0x5c3e60
nop dword [eax + eax]
mov eax, dword [eax + 0x20]
cmp dword [eax + edi*4], str.BINARY
je 0x5c3cdd
test ebx, ebx
jne 0x5c3c3e
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 0x5c3c5d
push 3
push edi
push dword [esp + 0x54]
push 0x5e
push esi
call fcn.00580cd0
add esp, 0x14
jmp 0x5c3c8c
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 0x5c3cae
push edx
push ebx
push 3
push 0x34
push esi
call fcn.00580cd0
add esp, 0x14
jmp 0x5c3cdd
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 0x5c3c20
test ebx, ebx
je 0x5c3e5c
mov eax, dword [esp + 0x30]
mov edi, dword [ebp]
cmp dword [eax], edi
jg 0x5c3d1a
push 0
push 0
push 0
push 9
push esi
call fcn.00580cd0
add esp, 0x14
mov edi, eax
jmp 0x5c3d4d
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 0x5c3d67
push ebx
push esi
push ecx
call fcn.00597740
add esp, 0xc
jmp 0x5c3d70
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.005d23e0
mov ebx, dword [esp + 0x4c]
add esp, 0x1c
mov ecx, dword [ebp]
cmp dword [ebx], ecx
jg 0x5c3da6
push 3
push 3
push 7
push 0x6f
push esi
call fcn.00580cd0
add esp, 0x14
jmp 0x5c3dd9
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.005d23e0
mov edx, dword [esp + 0x70]
add esp, 0x1c
mov ecx, dword [ebp]
dec edx
cmp dword [ebx], ecx
jg 0x5c3e0f
push 0
push edx
push 0
push 9
push esi
call fcn.00580cd0
add esp, 0x14
jmp 0x5c3e3e
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 0x5c3e50
mov eax, 0x6ebf90
jmp 0x5c3e59
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 0x5c40b4
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 0x5c3f0c
mov edi, dword [esp + 0x60]
jmp 0x5c3e94
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 4]
movsx ecx, word [eax + ebx*2]
test ecx, ecx
js 0x5c3eaf
mov eax, dword [esp + 0x58]
add ecx, ecx
mov eax, dword [eax + 4]
test byte [eax + ecx*8 + 4], 0xf
jne 0x5c3efe
mov eax, dword [esp + 0x30]
mov ecx, dword [ebp]
cmp dword [eax], ecx
jg 0x5c3ecf
push 0
push edx
push edi
push 0x32
push esi
call fcn.00580cd0
mov edx, dword [esp + 0x58]
add esp, 0x14
jmp 0x5c3efe
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 0x5c3e90
mov ebx, dword [esp + 0x30]
mov edi, dword [ebp]
cmp dword [ebx], edi
jg 0x5c3f2e
push 0
push 0
push dword [esp + 0x54]
push 0x27
push esi
call fcn.00580cd0
add esp, 0x14
mov edi, eax
jmp 0x5c3f61
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 0x5c3f7e
push 0
push ebx
push 0
push 9
push esi
call fcn.00580cd0
add esp, 0x14
jmp 0x5c3fad
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 0x5c3fbf
mov eax, 0x6ebf90
jmp 0x5c3fc8
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 0x5c3ff5
push edx
push dword [esp + 0x64]
push ebx
push dword [esp + 0x58]
push 0x29
push esi
call fcn.005673e0
add esp, 0x18
jmp 0x5c4024
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.005d23e0
mov eax, dword [esp + 0x4c]
add esp, 0x1c
mov ecx, dword [ebp]
cmp dword [eax], ecx
jg 0x5c405c
push 0
push dword [esp + 0x58]
push 0
push 9
push esi
call fcn.00580cd0
add esp, 0x14
jmp 0x5c408f
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 0x5c40a9
push ebx
push esi
push ecx
call fcn.00597740
add esp, 0xc
jmp 0x5c40b8
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebp]
mov dword [ecx + ebx*4], eax
jmp 0x5c40b8
mov edi, dword [esp + 0x1c]
mov eax, dword [esi]
mov edx, dword [ebp]
cmp byte [eax + 0x57], 0
je 0x5c40ca
mov eax, 0x6ebf90
jmp 0x5c40da
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 0x5c411a
mov edi, dword [eax + 8]
not edx
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x5c4109
push edx
push edi
push ecx
call fcn.00597740
add esp, 0xc
jmp 0x5c4112
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 0x5c3842
mov ebx, dword [esp + 0x30]
mov ecx, dword [ebp]
mov edi, dword [esp + 0x20]
cmp dword [ebx], ecx
jg 0x5c415a
push 0
push edi
push dword [esp + 0x94]
push 0x27
push esi
call fcn.00580cd0
add esp, 0x14
jmp 0x5c418c
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 0x5c419e
mov eax, 0x6ebf98
jmp 0x5c41aa
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 0x5c41f5
movzx eax, word [eax + 0x32]
cmp eax, 1
jne 0x5c41e2
mov edx, dword [esp + 0x5c]
test edx, edx
je 0x5c41f5
mov ecx, dword [esp + 0x14]
mov al, byte [ecx + 0x13]
cmp al, 8
jae 0x5c41f5
movzx eax, al
mov dword [ecx + eax*4 + 0xa4], edx
inc byte [ecx + 0x13]
jmp 0x5c41f5
mov ecx, dword [esp + 0x14]
cmp eax, dword [ecx + 0x1c]
jle 0x5c41f5
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 0x5c29f0
mov eax, dword [esp + 0x68]
mov ebx, dword [eax + 0x10]
test ebx, ebx
je 0x5c433d
mov eax, dword [esp + 0x3c]
nop
mov edi, dword [ebx + 8]
test eax, eax
je 0x5c422f
cmp eax, edi
jne 0x5c4333
mov al, byte [edi + 0x2b]
test al, al
je 0x5c432f
cmp al, 1
jne 0x5c432f
cmp word [edi + 0x22], 0
jg 0x5c426c
mov eax, dword [edi + 0x30]
push 0
push dword [eax]
mov eax, dword [esp + 0x18]
add eax, 0x184
push eax
call fcn.0057ad40
add esp, 0xc
cmp dword [eax + 8], 0
je 0x5c432f
cmp byte [edi + 0x2b], 1
je 0x5c4279
cmp word [edi + 0x22], 0
jg 0x5c4286
push edi
push dword [esp + 0x18]
call fcn.005f1570
add esp, 8
mov eax, dword [edi + 0x34]
test eax, eax
je 0x5c432f
mov eax, dword [eax + 8]
test eax, eax
je 0x5c432f
mov eax, dword [eax]
test eax, eax
je 0x5c432f
cmp dword [eax], 4
jl 0x5c432f
cmp dword [eax + 0x60], 0
je 0x5c432f
push dword [esp + 0x6c]
push 3
push dword [esp + 0x6c]
push 0xae
push esi
call fcn.005d2380
inc dword [edi + 0x18]
add esp, 0x14
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x5c42ea
push edi
push 0xfffffffffffffff0
push eax
call fcn.0057e0a0
add esp, 0xc
jmp 0x5c42fc
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.005d22c0
push esi
mov edi, eax
call fcn.00581fb0
mov ecx, dword [esi]
add esp, 0x10
mov edx, dword [ebp]
cmp byte [ecx + 0x57], 0
je 0x5c4323
mov eax, 0x6ebf90
jmp 0x5c432c
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 0x5c4220
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
jmp 0x5c4349
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 0x5c25b0
mov ebp, dword [esp + 0x2c]
push 0
push 0x68b474
push 7
push esi
call fcn.005d24c0
add esp, 0x10
test eax, eax
je 0x5c4399
mov ecx, 1
mov byte [eax + 0x29], 0xff
sub ecx, ebp
mov dword [eax + 0x38], 0x690ec4
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.005d2750
add esp, 0xc
jmp 0x5c056f
test edx, edx
jne 0x5c43f1
mov ebx, dword [esp + 0x14]
push ebx
call fcn.005c5de0
add esp, 4
test eax, eax
jne 0x5c056f
mov eax, dword [ebx]
movzx eax, byte [eax + 0x54]
push dword [eax*8 + 0x68b4b8]
push esi
call fcn.00599690
push dword [esp + 0x3c]
push dword [esp + 0x1c]
call fcn.005a9350
add esp, 0x10
jmp 0x5c0595
mov ebp, dword [esp + 0x10]
test byte [ebp + 0x18], 0x40
jne 0x5c0573
mov eax, dword [str.UTF8]
mov esi, 0x68b4b8
test eax, eax
je 0x5c445a
nop dword [eax]
push eax
push edx
call fcn.005cd620
add esp, 8
test eax, eax
je 0x5c442e
mov eax, dword [esi + 8]
add esi, 8
mov edx, dword [esp + 0x18]
test eax, eax
jne 0x5c4410
jmp 0x5c4463
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.005cbd70
add esp, 8
cmp dword [esi], 0
jne 0x5c0573
push dword [esp + 0x18]
push str.unsupported_encoding:__s
push dword [esp + 0x1c]
call fcn.005ab4e0
push dword [esp + 0x40]
push dword [esp + 0x20]
call fcn.005a9350
mov eax, dword [esp + 0x2c]
add esp, 0x14
jmp 0x5c0588
mov ebp, dword [esp + 0x38]
mov edi, dword [ebx + 8]
push ebp
push esi
call fcn.005df480
add esp, 8
cmp dword [esp + 0x18], 0
je 0x5c4515
test byte [ebx + 5], 8
jne 0x5c4515
push 0
push 0x68b500
push 2
push esi
call fcn.005d24c0
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.005b7810
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 0x5c056f
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
and eax, 0x10000000
or eax, 0
je 0x5c056f
mov byte [esi + 0x14], 0xbb
jmp 0x5c117c
push 0
push 0x68b508
push 3
push esi
call fcn.005d24c0
push esi
mov dword [eax + 4], ebp
mov dword [eax + 0x18], ebp
mov dword [eax + 0x20], edi
call fcn.005de810
add esp, 0x14
jmp 0x5c056f
mov eax, dword [esp + 0x14]
xor edi, edi
mov dword [eax + 0x2c], 1
cmp edi, 0x27
ja 0x5c457b
mov eax, dword [edi*4 + 0x68a2c0]
inc edi
test eax, eax
je 0x5c457b
push 0
push eax
push 0
push 1
push 0
push 0x75
push esi
call fcn.005d23e0
push 1
push 1
push 0x54
push esi
call fcn.005d2320
add esp, 0x2c
jmp 0x5c4548
push esi
call fcn.005de810
jmp 0x5c056c
cmp dword [edi], 0
mov ebx, 0xc
cmovne ebx, dword [esp + 0x38]
xor edi, edi
test edx, edx
je 0x5c45e3
push str.full
push edx
call fcn.005cd620
add esp, 8
test eax, eax
jne 0x5c45b0
lea edi, [eax + 1]
jmp 0x5c45e3
mov ebp, dword [esp + 0x18]
push str.restart
push ebp
call fcn.005cd620
add esp, 8
test eax, eax
jne 0x5c45cb
lea edi, [eax + 2]
jmp 0x5c45e3
push str.truncate
push ebp
call fcn.005cd620
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.005d2380
push 3
push 1
push 0x54
push esi
call fcn.005d2320
add esp, 0x24
jmp 0x5c056f
test edx, edx
je 0x5c4635
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0
push eax
push edx
call fcn.005b7810
push dword [esp + 0x30]
push dword [esp + 0x1c]
call fcn.00553840
add esp, 0x10
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x110], 0x5e09e0
jne 0x5c465c
mov eax, dword [eax + 0x114]
cdq
push edx
push eax
push esi
call fcn.00599600
add esp, 0xc
jmp 0x5c056f
xor eax, eax
cdq
push edx
push eax
push esi
call fcn.00599600
add esp, 0xc
jmp 0x5c056f
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x5c4684
push eax
call dword [0x6d3c88]
add esp, 4
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x5f], 0
jne 0x5c469b
push eax
call fcn.0056d2f0
mov eax, dword [esp + 0x14]
add esp, 4
xor esi, esi
cmp dword [eax + 0x14], esi
jle 0x5c46d3
xor edi, edi
mov eax, dword [eax + 0x10]
mov eax, dword [edi + eax + 4]
test eax, eax
je 0x5c46c6
mov eax, dword [eax + 4]
mov eax, dword [eax]
mov eax, dword [eax + 0xe4]
push dword [eax + 0x34]
call dword [0x6d3ccc]
add esp, 4
mov eax, dword [esp + 0x10]
inc esi
add edi, 0x10
cmp esi, dword [eax + 0x14]
jl 0x5c46a4
cmp byte [eax + 0x5f], 0
jne 0x5c46e6
push eax
call fcn.0056d610
mov eax, dword [esp + 0x14]
add esp, 4
mov eax, dword [eax + 0xc]
jmp 0x5c0561
xor ebp, ebp
mov dword [esp + 0x80], 0
mov dword [esp + 0x54], ebp
test edx, edx
je 0x5c472f
lea eax, [esp + 0x28]
mov dword [esp + 0x28], ebp
push eax
push edx
call fcn.005b7810
mov ebx, dword [esp + 0x30]
add esp, 8
test bl, 2
je 0x5c056f
test bl, 0x10
jne 0x5c4734
mov edx, dword [esp + 0x10]
xor edi, edi
jmp 0x5c474e
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 0x5c4771
mov dword [esp + 0x2c], ecx
jmp 0x5c4781
mov eax, dword [edx + 0x14]
dec eax
mov dword [esp + 0x2c], eax
cmp ecx, eax
jg 0x5c49cd
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 0x5c49af
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 0x5c47c9
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 0x5c49a3
nop word [eax + eax]
mov ebp, dword [ebp + 8]
mov dword [esp + 0x6c], ebp
cmp byte [ebp + 0x2b], 0
jne 0x5c4986
push 7
push str.sqlite_
push dword [ebp]
call fcn.00553540
add esp, 0xc
test eax, eax
je 0x5c4986
mov eax, dword [ebp + 8]
xor ecx, ecx
movzx edi, word [ebp + 0x26]
mov dword [esp + 0x28], ecx
test eax, eax
je 0x5c4843
or edx, 0xffffffff
nop
inc ecx
test byte [eax + 0x38], 0x80
mov eax, dword [eax + 0x14]
cmove edi, edx
test eax, eax
jne 0x5c4830
mov dword [esp + 0x28], ecx
test dword [ebp + 0x1c], 0x100
jne 0x5c4867
test ebx, 0x10000
jne 0x5c4867
cmp dword [ebp + 8], 0
je 0x5c4982
test di, di
jns 0x5c4982
mov eax, dword [esp + 0x80]
inc eax
mov dword [esp + 0x80], eax
cmp eax, 2
jne 0x5c4891
push dword [esp + 0x38]
push 0
push dword [esp + 0x1c]
call fcn.005a07f0
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.005bd1c0
add esp, 0x14
test di, di
js 0x5c48f6
cmp di, 0x21
jl 0x5c48c6
movsx ecx, di
sub ecx, 0x21
jmp 0x5c48c9
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.005d2460
add esp, 0x18
jmp 0x5c4916
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.005d2320
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.005bc3d0
add esp, 0x10
mov edx, eax
test ebp, ebp
je 0x5c4a37
mov edi, dword [esp + 0x14]
mov cl, byte [edi + 0x13]
test cl, cl
jne 0x5c4955
inc dword [edi + 0x2c]
mov edi, dword [edi + 0x2c]
jmp 0x5c4964
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.005d23e0
push 1
push edi
push 0x54
push esi
call fcn.005d2320
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 0x5c47f0
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 0x5c47a0
mov ebp, dword [esp + 0x54]
push 0xa6
push esi
call fcn.005d2270
mov eax, dword [esp + 0x18]
add esp, 8
cmp byte [eax + 0x57], 0
jne 0x5c4c59
test edi, edi
je 0x5c4c59
cmp ebp, 0x64
jle 0x5c4c59
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.005dbcd0
mov ecx, dword [esi + 0x6c]
add esp, 8
test ecx, ecx
jle 0x5c056f
cmp byte [eax], 0x94
jne 0x5c4a2a
mov dword [eax + 8], edi
add eax, 0x14
sub ecx, 1
jne 0x5c4a22
jmp 0x5c056f
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.005d23e0
add esp, 0x1c
jmp 0x5c4986
test edx, edx
je 0x5c4a84
lea eax, [esp + 0x6c]
push eax
push edx
call fcn.005a9830
add esp, 8
test eax, eax
jne 0x5c4a84
push dword [esp + 0x70]
push dword [esp + 0x70]
call fcn.0054dd60
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0054dd60
push edx
push eax
push esi
call fcn.00599600
add esp, 0x14
jmp 0x5c056f
test edx, edx
je 0x5c4aed
lea eax, [esp + 0x6c]
push eax
push edx
call fcn.005a9830
add esp, 8
test eax, eax
jne 0x5c4aed
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0054de70
mov edi, dword [esp + 0x78]
add esp, 8
mov ebx, eax
test edi, edi
jl 0x5c4aed
mov ecx, dword [esp + 0x6c]
jg 0x5c4ad3
test ecx, ecx
je 0x5c4aed
mov eax, ebx
or eax, edx
je 0x5c4ae3
cmp edx, edi
jl 0x5c4aed
jg 0x5c4ae3
cmp ebx, ecx
jbe 0x5c4aed
push edi
push ecx
call fcn.0054de70
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0054de70
push edx
push eax
push esi
call fcn.00599600
add esp, 0x14
jmp 0x5c056f
test edx, edx
je 0x5c4b40
lea eax, [esp + 0x6c]
push eax
push edx
call fcn.005a9830
add esp, 8
test eax, eax
jne 0x5c4b40
cmp dword [esp + 0x70], eax
jl 0x5c4b40
mov eax, dword [esp + 0x6c]
jg 0x5c4b2c
test eax, eax
jb 0x5c4b40
and eax, 0x7fffffff
push eax
push 0xb
push dword [esp + 0x18]
call fcn.00565400
add esp, 0xc
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xa4]
cdq
push edx
push eax
push esi
call fcn.00599600
add esp, 0xc
jmp 0x5c056f
test edx, edx
je 0x5c4b90
lea eax, [esp + 0x6c]
push eax
push edx
call fcn.005a9830
add esp, 8
test eax, eax
jne 0x5c4b90
cmp dword [esp + 0x70], eax
jl 0x5c4b90
mov eax, dword [esp + 0x6c]
jg 0x5c4b81
test eax, eax
jb 0x5c4b90
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.00599600
add esp, 0xc
jmp 0x5c056f
test edx, edx
je 0x5c4c3e
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0
push eax
push edx
call fcn.005b7810
mov edi, dword [esp + 0x30]
add esp, 8
mov eax, dword [esp + 0x10]
test edi, edi
jle 0x5c4bf0
push eax
push 0x5ea3c0
push eax
call fcn.00563b90
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov dword [eax + 0x1f4], edi
jmp 0x5c4c42
mov eax, dword [eax + 0xc]
test eax, eax
je 0x5c4c01
push eax
call dword [0x6d3c88]
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 0x5c4c3e
push eax
call dword [0x6d3c90]
add esp, 4
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x1f4]
cdq
push edx
push eax
push esi
call fcn.00599600
add esp, 0xc
jmp 0x5c056f
mov ebp, eax
jmp 0x5c0573