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

Disassembly:
sub esp, 0x138
mov eax, dword [0x6aae14]
xor eax, esp
mov dword [esp + 0x134], eax
push ebx
push ebp
push esi
xor eax, eax
push edi
mov edi, ecx
mov esi, dword [edi]
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x10]
mov ebx, dword [edi + 8]
mov dword [esp + 0x54], ecx
mov ecx, dword [edx + 0xc]
mov dl, byte [ecx + 0x4d]
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], eax
mov byte [esp + 0x33], al
mov dword [esp + 0x50], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x4c], eax
mov eax, dword [esi + 0x20]
push edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x18], esi
mov byte [esp + 0x28], dl
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
call fcn.00562f40
add esp, 4
cmp dword [edi + 0x5c], 7
je 0x5ab3be
xor ecx, ecx
mov dword [edi + 0x5c], ecx
mov dword [edi + 0x98], ecx
mov dword [edi + 0x9c], ecx
mov dword [edi + 0x14], ecx
mov edx, dword [esi + 0xe8]
mov dword [esi + 0x1bc], ecx
test edx, edx
jne 0x5aeef5
cmp dword [esi + 0x11c], ecx
je 0x5a9f4d
mov eax, dword [edi + 0x88]
cmp eax, ecx
jne 0x5a9f41
mov eax, dword [esi + 0x124]
mov ecx, dword [edi + 0x58]
mov dword [esp + 0x48], eax
mov dword [esp + 0x18], ecx
mov eax, ecx
jmp 0x5a9f64
xor edx, edx
div dword [esi + 0x124]
mov dword [esp + 0x48], edx
mov ecx, dword [edi + 0x58]
mov dword [esp + 0x18], ecx
mov eax, ecx
jmp 0x5a9f64
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 0x14]
cmp byte [edx + 0x40], 0
mov esi, dword [esp + 0x1c]
jne 0x5ab3be
mov ecx, dword [esp + 0x54]
inc dword [esp + 0x44]
lea eax, [eax + eax*4]
test byte [ecx + eax*4 + 2], 2
lea ebp, [ecx + eax*4]
je 0x5a9fb3
mov eax, dword [ebp + 8]
lea edx, [eax + eax*4]
lea esi, [ebx + edx*8]
mov eax, 0x2460
mov dword [esp + 0x1c], esi
test word [esi + 0x1c], ax
je 0x5a9faa
mov eax, esi
call fcn.0056cb40
mov ecx, 4
mov word [esi + 0x1c], cx
movzx eax, byte [ebp]
dec eax
cmp eax, 0x95
ja case.default.0x5a9fc3
jmp dword [eax*4 + 0x5aef34]
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
lea ebx, [ebx + edx*8]
mov eax, 4
mov word [ebx + 0x1c], ax
mov eax, dword [esp + 0x18]
cdq
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
mov ecx, dword [ebp + 8]
dec ecx
mov dword [esp + 0x18], ecx
jmp case.default.0x5a9fc3
mov ebp, dword [ebp + 4]
lea edx, [ebp + ebp*4]
mov eax, dword [ebx + edx*8 + 0x10]
mov dword [esp + 0x18], eax
jmp case.default.0x5a9fc3
mov ebp, dword [ebp + 4]
lea ecx, [ebp + ebp*4]
mov eax, dword [ebx + ecx*8 + 0x10]
lea ebx, [ebx + ecx*8]
mov edx, 4
mov word [ebx + 0x1c], dx
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x18]
cdq
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x18], ecx
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
test byte [ebx + edx*8 + 0x1c], 1
je case.default.0x5a9fc3
cmp dword [ebp + 4], 0
jne 0x5aece8
mov eax, dword [edi + 0xc0]
test eax, eax
je 0x5aece8
mov ecx, dword [eax + 4]
dec dword [edi + 0xc8]
mov esi, dword [esp + 0x14]
mov dword [edi + 0xc0], ecx
mov ecx, dword [edi + 0x68]
add dword [esi + 0x54], ecx
mov dword [esi + 0x50], ecx
call fcn.00563020
cmp dword [ebp + 8], 4
mov edx, dword [esi + 0x20]
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x18], eax
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], ecx
jne 0x5aa0ac
lea edx, [eax + eax*4]
mov eax, dword [edi + 4]
mov ecx, dword [eax + edx*4 + 8]
dec ecx
mov dword [esp + 0x18], ecx
mov edx, dword [edi + 4]
mov eax, dword [edi + 8]
mov dword [esp + 0x54], edx
mov dword [esp + 0x28], eax
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 4]
cdq
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
jmp case.default.0x5a9fc3
mov ebp, dword [ebp + 0x10]
mov ecx, dword [ebp]
mov dword [esi + 0x10], ecx
mov edx, dword [ebp + 4]
mov dword [esi + 0x14], edx
jmp case.default.0x5a9fc3
mov eax, 8
mov word [esi + 0x1c], ax
mov ecx, dword [ebp + 0x10]
fld qword [ecx]
fstp qword [esi + 8]
jmp case.default.0x5a9fc3
mov ecx, dword [ebp + 0x10]
mov byte [ebp], 0x19
call fcn.0055d9f0
cmp byte [esp + 0x24], 1
mov dword [ebp + 4], eax
je 0x5aa183
push 1
or ebx, 0xffffffff
push ebx
push ecx
xor eax, eax
mov ecx, esi
call fcn.0057e9c0
add esp, 0xc
mov dword [esp + 0x10], eax
cmp eax, 0x12
je 0x5aaa7f
movzx ecx, byte [esp + 0x24]
mov eax, dword [esp + 0x1c]
call fcn.0057e900
test eax, eax
jne 0x5ab3be
mov esi, dword [esp + 0x1c]
mov dx, word [esi + 0x1c]
mov dword [esi + 0x24], eax
mov eax, 0xfbff
and dx, ax
mov ecx, 0x800
or dx, cx
mov word [esi + 0x1c], dx
cmp byte [ebp + 1], bl
jne 0x5aa174
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0x14]
call fcn.0055d830
mov byte [ebp + 1], bl
mov edx, dword [esi + 4]
mov dword [ebp + 0x10], edx
mov eax, dword [esi + 0x18]
mov dword [ebp + 4], eax
mov ecx, dword [ebp + 4]
mov edx, dword [esp + 0x14]
cmp ecx, dword [edx + 0x58]
jg 0x5aaa7f
mov esi, dword [esp + 0x1c]
mov eax, 0xa02
mov word [esi + 0x1c], ax
mov ecx, dword [ebp + 0x10]
mov al, byte [esp + 0x24]
mov dword [esi + 4], ecx
mov edx, dword [ebp + 4]
mov dword [esi + 0x18], edx
mov byte [esi + 0x1f], al
jmp case.default.0x5a9fc3
mov ecx, dword [ebp + 0xc]
sub ecx, dword [ebp + 8]
mov dword [esp + 0x64], ecx
mov ebp, dword [ebp + 4]
neg ebp
sbb ebp, ebp
and ebp, 0x100
inc ebp
mov word [esp + 0x68], bp
mov word [esi + 0x1c], bp
cmp dword [esp + 0x64], 0
jle case.default.0x5a9fc3
add esi, 0x28
mov edx, 0x2460
test word [esi + 0x1c], dx
je 0x5aa1f9
mov eax, esi
call fcn.0056cb40
mov ax, word [esp + 0x68]
mov word [esi + 0x1c], ax
mov eax, dword [esp + 0x64]
dec eax
mov dword [esp + 0x64], eax
test eax, eax
jg 0x5aa1e4
mov dword [esp + 0x1c], esi
jmp case.default.0x5a9fc3
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 0x10]
push 0
push ecx
push edx
xor eax, eax
mov ecx, esi
call fcn.0057e9c0
mov al, byte [esp + 0x30]
add esp, 0xc
mov byte [esi + 0x1f], al
jmp case.default.0x5a9fc3
mov ebp, dword [ebp + 4]
mov edx, dword [edi + 0x48]
lea ecx, [ebp + ebp*4]
lea esi, [edx + ecx*8 - 0x28]
mov ecx, esi
mov dword [esp + 0x64], esi
call fcn.00562de0
test eax, eax
jne 0x5aaa7f
mov ebx, dword [esp + 0x1c]
push 0x800
push esi
call fcn.0056cd90
add esp, 8
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x68], eax
mov eax, dword [ebp + 4]
mov dword [esp + 0x6c], eax
mov ebp, dword [ebp + 8]
lea ecx, [eax + eax*4]
lea edx, [ebp + ebp*4]
lea eax, [ebx + edx*8]
mov dword [esp + 0x70], ebp
lea esi, [ebx + ecx*8]
mov dword [esp + 0x1c], eax
mov edi, eax
lea ebx, [ebx]
mov ecx, dword [edi + 0x24]
mov dword [esp + 0x64], ecx
mov ebx, esi
mov eax, edi
mov dword [edi + 0x24], 0
call fcn.0056cde0
mov edx, dword [esp + 0x64]
mov dword [esi + 0x24], edx
mov eax, dword [esp + 0x68]
mov ecx, eax
dec eax
add esi, 0x28
add edi, 0x28
mov dword [esp + 0x68], eax
test ecx, ecx
jne 0x5aa2a0
mov dword [esp + 0x1c], edi
jmp case.default.0x5a9fc3
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x64], edx
mov eax, dword [ebp + 4]
mov ebp, dword [ebp + 8]
lea eax, [eax + eax*4]
lea ecx, [ebp + ebp*4]
lea esi, [ebx + eax*8]
lea ebx, [ebx + ecx*8]
push 0x1000
push esi
mov dword [esp + 0x24], ebx
call fcn.0056cd90
mov edx, 0x1000
add esp, 8
test word [ebx + 0x1c], dx
je 0x5aa322
mov eax, ebx
call fcn.005759c0
test eax, eax
jne 0x5ab3be
mov eax, dword [esp + 0x64]
mov ecx, eax
dec eax
mov dword [esp + 0x64], eax
test ecx, ecx
je case.default.0x5a9fc3
add ebx, 0x28
add esi, 0x28
jmp 0x5aa2f6
mov eax, dword [ebp + 8]
mov ebp, dword [ebp + 4]
lea edx, [eax + eax*4]
lea eax, [ebx + edx*8]
lea ecx, [ebp + ebp*4]
lea edx, [ebx + ecx*8]
push 0x1000
push edx
mov ebx, eax
mov dword [esp + 0x24], eax
call fcn.0056cd90
add esp, 8
jmp case.default.0x5a9fc3
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x11c]
test eax, eax
je 0x5aa399
mov ecx, dword [esp + 0x44]
cmp ecx, dword [esp + 0x48]
jb 0x5aa399
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + 0x120]
push ecx
call eax
add esp, 4
test eax, eax
jne 0x5ae9c1
push 0
mov esi, edi
call fcn.0057f070
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne case.default.0x5a9fc3
push 1
push edi
call fcn.005928e0
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne case.default.0x5a9fc3
mov ecx, dword [edi + 0x54]
add ecx, 2
or ecx, 1
mov dword [edi + 0x54], ecx
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
lea ebx, [ebx + edx*8]
xor ecx, ecx
mov dword [edi + 0x14], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ecx
cmp dword [ebp + 8], ecx
jle 0x5aa446
nop
mov edx, dword [esp + 0x64]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*8]
mov edx, 0x1000
test word [eax + 0x1c], dx
je 0x5aa416
call fcn.005759c0
test eax, eax
jne 0x5ab3be
mov ecx, dword [esp + 0x68]
lea eax, [ecx + ecx*4]
mov ecx, dword [esp + 0x64]
lea eax, [ecx + eax*8]
call fcn.0056caf0
mov eax, dword [esp + 0x68]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x64]
lea ecx, [eax + edx*8]
call fcn.00563ac0
mov ecx, dword [esp + 0x68]
inc ecx
mov dword [esp + 0x68], ecx
cmp ecx, dword [ebp + 8]
jl 0x5aa3f0
mov ecx, dword [esp + 0x14]
cmp byte [ecx + 0x40], 0
jne 0x5ab3be
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
inc edx
mov dword [edi + 0x58], edx
mov esi, 0x64
jmp 0x5aea46
mov eax, dword [ebp + 4]
mov ecx, dword [ebp + 8]
mov ebp, dword [ebp + 0xc]
lea edx, [eax + eax*4]
lea eax, [ecx + ecx*4]
lea edi, [ebx + edx*8]
mov dl, byte [ebx + eax*8 + 0x1c]
lea ecx, [ebp + ebp*4]
lea esi, [ebx + ecx*8]
movzx ecx, word [edi + 0x1c]
lea eax, [ebx + eax*8]
or dl, cl
mov dword [esp + 0x34], edi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x1c], esi
test dl, 1
je 0x5aa4ab
call fcn.00562d90
jmp case.default.0x5a9fc3
test ecx, 0x4000
je 0x5aa4ca
mov eax, edi
call fcn.0056ca90
test eax, eax
jne 0x5ab3be
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x34]
mov ecx, 0x4000
test word [eax + 0x1c], cx
je 0x5aa4e6
call fcn.0056ca90
test eax, eax
jne 0x5ab3be
mov edi, dword [esp + 0x34]
mov bl, 0x12
test byte [edi + 0x1c], bl
jne 0x5aa503
movzx esi, byte [esp + 0x24]
mov eax, dword [esp + 0x34]
call fcn.0057e920
test eax, eax
jne 0x5ab3be
mov ecx, dword [esp + 0x2c]
test byte [ecx + 0x1c], bl
jne 0x5aa524
movzx esi, byte [esp + 0x24]
mov eax, ecx
call fcn.0057e920
test eax, eax
jne 0x5ab3be
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x18]
add eax, dword [ecx + 0x18]
cdq
mov esi, eax
mov eax, dword [esp + 0x14]
mov ecx, edx
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], ecx
mov eax, dword [eax + 0x58]
cdq
cmp ecx, edx
jg 0x5aaa7f
jl 0x5aa555
cmp esi, eax
ja 0x5aaa7f
mov edi, dword [esp + 0x1c]
mov cx, word [edi + 0x1c]
mov edx, 0xbe02
xor eax, eax
and cx, dx
or cx, 2
cmp edi, dword [esp + 0x2c]
mov word [edi + 0x1c], cx
sete al
push eax
mov eax, dword [esp + 0x68]
add eax, 2
call fcn.0056c980
add esp, 4
test eax, eax
jne 0x5ab3be
mov esi, edi
mov edi, dword [esp + 0x2c]
cmp esi, edi
je 0x5aa5ac
mov ecx, dword [edi + 0x18]
mov edx, dword [edi + 4]
mov eax, dword [esi + 4]
push ecx
push edx
push eax
call fcn.005e13c0
add esp, 0xc
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 4]
mov eax, dword [esi + 4]
add eax, dword [edi + 0x18]
push ecx
push edx
push eax
call fcn.005e13c0
mov edx, dword [esp + 0x70]
mov ecx, dword [esi + 4]
mov byte [edx + ecx], 0
mov ecx, dword [esp + 0x70]
mov eax, dword [esi + 4]
mov byte [eax + ecx + 1], 0
mov cl, byte [esp + 0x30]
mov edx, 0x200
add esp, 0xc
or word [esi + 0x1c], dx
mov eax, dword [esp + 0x64]
mov dword [esi + 0x18], eax
mov byte [esi + 0x1f], cl
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
lea edi, [ebx + edx*8]
mov esi, edi
call fcn.00563af0
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
call fcn.00563af0
mov eax, dword [ebp + 0xc]
lea ecx, [eax + eax*4]
movzx eax, word [edi + 0x1c]
lea edx, [ebx + ecx*8]
movzx ecx, word [esi + 0x1c]
or eax, ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x68], eax
test al, 1
jne 0x5aa87e
mov dl, byte [edi + 0x1c]
and dl, byte [esi + 0x1c]
test dl, 4
je 0x5aa76a
mov eax, dword [edi + 0x10]
mov dword [esp + 0x6c], eax
mov ecx, dword [edi + 0x14]
mov dword [esp + 0x70], ecx
mov ebx, dword [esi + 0x10]
mov dword [esp + 0x74], ebx
mov edx, dword [esi + 0x14]
mov dword [esp + 0x78], edx
mov byte [esp + 0x64], 1
movzx edx, byte [ebp]
add edx, 0xffffffa9
cmp edx, 3
ja case.default.0x5aa67b
jmp dword [edx*4 + 0x5af18c]
push ecx
push eax
lea eax, [esp + 0x7c]
push eax
call fcn.0055e760
add esp, 0xc
test eax, eax
jne 0x5aa76f
jmp 0x5aa73f
push ecx
push eax
lea edx, [esp + 0x7c]
call fcn.0055e7f0
add esp, 8
test eax, eax
jne 0x5aa76f
jmp 0x5aa73f
push ecx
push eax
lea ecx, [esp + 0x7c]
push ecx
call fcn.0055e840
add esp, 0xc
test eax, eax
jne 0x5aa76f
jmp 0x5aa73f
mov edx, eax
or edx, ecx
je 0x5aa87e
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x5aa6f3
test ebx, ebx
jne 0x5aa6f3
cmp dword [esp + 0x78], 0x80000000
je 0x5aa76f
push ecx
push eax
mov eax, dword [esp + 0x80]
push eax
push ebx
call fcn.005e5550
jmp 0x5aa737
mov edx, eax
or edx, ecx
je 0x5aa87e
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x5aa727
mov eax, 1
xor ecx, ecx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ecx
push ecx
push eax
mov eax, dword [esp + 0x80]
push eax
push ebx
call fcn.005e67a0
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x74]
mov dword [eax + 0x10], ecx
mov edx, dword [esp + 0x78]
mov cx, word [eax + 0x1c]
mov dword [eax + 0x14], edx
mov edx, 0xbe04
and cx, dx
or cx, 4
mov word [eax + 0x1c], cx
jmp case.default.0x5a9fc3
mov byte [esp + 0x64], 0
mov eax, edi
call fcn.00562bd0
fstp qword [esp + 0x7c]
mov eax, esi
call fcn.00562bd0
fst qword [esp + 0x84]
movzx eax, byte [ebp]
add eax, 0xffffffa9
cmp eax, 3
ja case.default.0x5aa794
jmp dword [eax*4 + 0x5af19c]
fadd qword [esp + 0x7c]
jmp 0x5aa81f
fsub qword [esp + 0x7c]
jmp 0x5aa81f
fmul qword [esp + 0x7c]
jmp 0x5aa81f
fldz
fld qword [esp + 0x7c]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x5aa87a
fdivp st(1)
jmp 0x5aa81f
fld qword [esp + 0x7c]
call fcn.005e2c06
mov esi, eax
mov edi, edx
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], edi
call fcn.005e2c06
mov ecx, esi
or ecx, edi
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], edx
je 0x5aa87e
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x5aa80a
mov esi, 1
xor edi, edi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], edi
push edi
push esi
push edx
push eax
call fcn.005e67a0
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], edx
fild qword [esp + 0x5c]
sub esp, 8
fst qword [esp + 0x8c]
fstp qword [esp]
call fcn.0055d9b0
add esp, 8
test eax, eax
jne 0x5aa87e
mov esi, dword [esp + 0x1c]
fld qword [esp + 0x84]
mov dx, word [esi + 0x1c]
fstp qword [esi + 8]
mov eax, 0xbe08
and dx, ax
or dx, 8
mov word [esi + 0x1c], dx
test byte [esp + 0x68], 8
jne case.default.0x5a9fc3
cmp byte [esp + 0x64], 0
jne case.default.0x5a9fc3
call fcn.00562c20
jmp case.default.0x5a9fc3
fstp st(0)
fstp st(0)
mov esi, dword [esp + 0x1c]
call fcn.00562d90
jmp case.default.0x5a9fc3
mov ebp, dword [ebp + 4]
test ebp, ebp
je case.default.0x5a9fc3
lea ecx, [ebp + ebp*4]
push 0
push 0
lea esi, [ebx + ecx*8]
call fcn.0056cc40
add esp, 8
jmp case.default.0x5a9fc3
movzx ecx, byte [ebp + 3]
mov edx, dword [edi + 0xc]
mov dword [esp + 0xb4], edx
mov dword [esp + 0xb8], ecx
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea edx, [ebx + eax*8]
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
xor eax, eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x64], eax
test ecx, ecx
jle 0x5aa93e
jmp 0x5aa8f0
mov ecx, dword [esp + 0xb4]
mov dword [ecx + eax*4], ebx
mov eax, dword [esp + 0x68]
mov edx, 0x1000
test word [eax + 0x1c], dx
je 0x5aa91a
call fcn.005759c0
test eax, eax
jne 0x5ab3be
mov eax, dword [esp + 0x68]
mov ecx, eax
call fcn.00563ac0
mov eax, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
inc eax
add ebx, 0x28
cmp eax, dword [esp + 0xb8]
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ebx
jl 0x5aa8f0
mov eax, dword [ebp + 0x10]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0x6c], eax
mov dword [esp + 0xa4], edx
mov ecx, 0xa
mov esi, ebx
lea edi, [esp + 0x74]
rep movsd dword es:[edi], dword [esi]
xor edi, edi
mov dword [ebx + 0x20], edi
mov dword [ebx + 0x24], edi
mov eax, 1
mov word [ebx + 0x1c], ax
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x6c]
and ecx, 0xbe01
or ecx, eax
mov word [esp + 0x90], cx
mov byte [esp + 0xb1], 0
test byte [edx + 2], 0x20
je 0x5aa9b0
mov eax, dword [ebp - 4]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x3c]
mov dword [esi + 0x24], edx
mov dword [esi + 0x20], ecx
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb8]
push eax
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [eax + 0xc]
lea edx, [esp + 0x74]
push edx
call ecx
mov edx, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
add esp, 0xc
cmp byte [esi + 0x40], 0
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
jne 0x5aedb3
cmp byte [esp + 0xb1], 0
je 0x5aaa55
cmp dword [esp + 0xac], edi
je 0x5aaa3f
mov bl, 1
lea edi, [esp + 0x74]
call fcn.0057eb70
mov edi, dword [esp + 0x20]
push eax
push 0x60c800
add edi, 0x38
mov eax, esi
call fcn.0057c990
mov ecx, dword [esp + 0xb4]
mov ebx, dword [esp + 0x24]
add esp, 8
mov dword [esp + 0x10], ecx
mov edx, dword [ebp + 4]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
push edx
push eax
push ecx
call fcn.005630f0
add esp, 0xc
movzx ecx, byte [esp + 0x24]
lea eax, [esp + 0x74]
call fcn.0057e900
mov ecx, 0xa
lea esi, [esp + 0x74]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
call fcn.00562de0
test eax, eax
je case.default.0x5a9fc3
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
push str.string_or_blob_too_big
add edi, 0x38
call fcn.0057c990
mov edi, dword [esp + 0x24]
add esp, 4
mov dword [esp + 0x10], 0x12
jmp 0x5ae9c9
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [ebp + 0xc]
lea edi, [ebx + edx*8]
lea edx, [eax + eax*4]
mov al, byte [ecx + 0x1c]
or al, byte [edi + 0x1c]
lea esi, [ebx + edx*8]
mov dword [esp + 0x1c], esi
test al, 1
je 0x5aaadb
call fcn.00562d90
jmp case.default.0x5a9fc3
call fcn.00562b60
mov ecx, edi
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], edx
call fcn.00562b60
mov edi, eax
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], edx
mov al, byte [ebp]
mov byte [esp + 0x7c], al
cmp al, 0x53
jne 0x5aab11
and dword [esp + 0x64], edi
and dword [esp + 0x68], edx
jmp 0x5aac11
cmp al, 0x54
jne 0x5aab22
or dword [esp + 0x64], edi
or dword [esp + 0x68], edx
jmp 0x5aac11
mov ecx, edi
or ecx, edx
je 0x5aac11
test edx, edx
jg 0x5aab66
jl 0x5aab36
test edi, edi
jae 0x5aab5b
mov cl, 0xab
sub cl, al
cmp edx, 0xffffffff
mov al, cl
mov byte [esp + 0x7c], al
jl 0x5aab8b
jg 0x5aab4c
cmp edi, 0xffffffc0
jbe 0x5aab8b
neg edi
adc edx, 0
neg edx
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], edx
test edx, edx
jl 0x5aabaa
jg 0x5aab66
cmp edi, 0x40
jb 0x5aabaa
cmp dword [esp + 0x68], 0
jg 0x5aab9d
jl 0x5aab76
cmp dword [esp + 0x64], 0
jae 0x5aab9d
cmp al, 0x55
je 0x5aab9d
or eax, 0xffffffff
cdq
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], edx
jmp 0x5aac11
mov dword [esp + 0x74], 0x40
mov dword [esp + 0x78], 0
jmp 0x5aab66
xor eax, eax
cdq
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], edx
jmp 0x5aac11
cmp al, 0x55
mov eax, dword [esp + 0x64]
mov ecx, edi
jne 0x5aabc3
mov edx, dword [esp + 0x68]
call fcn.005e6610
mov ebp, eax
mov esi, edx
jmp 0x5aabfd
mov ebx, dword [esp + 0x68]
mov edx, ebx
call fcn.005e6630
mov ebp, eax
mov esi, edx
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x70], esi
test ebx, ebx
jg 0x5aac05
jl 0x5aabe7
cmp dword [esp + 0x64], 0
jae 0x5aac05
mov ecx, 0x40
sub ecx, edi
or eax, 0xffffffff
or edx, 0xffffffff
call fcn.005e6610
or ebp, eax
or esi, edx
mov dword [esp + 0x70], esi
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x68], esi
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x64], ebp
mov edx, dword [esp + 0x64]
mov cx, word [esi + 0x1c]
mov dword [esi + 0x10], edx
mov eax, dword [esp + 0x68]
mov edx, 0xbe04
and cx, dx
or cx, 4
mov dword [esi + 0x14], eax
mov word [esi + 0x1c], cx
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
call fcn.00562c80
mov eax, dword [ebp + 8]
cdq
add dword [esi + 0x10], eax
adc dword [esi + 0x14], edx
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 4]
lea ecx, [eax + eax*4]
movzx eax, word [ebx + ecx*8 + 0x1c]
lea esi, [ebx + ecx*8]
test al, 4
jne 0x5aac94
call fcn.00563af0
test byte [esi + 0x1c], 8
je 0x5aac77
call fcn.00562c20
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x5aac94
mov ebp, dword [ebp + 8]
test ebp, ebp
je 0x5aedc5
dec ebp
mov dword [esp + 0x18], ebp
jmp case.default.0x5a9fc3
and eax, 0xbe04
or eax, 4
mov word [esi + 0x1c], ax
jmp case.default.0x5a9fc3
mov ebp, dword [ebp + 4]
lea edx, [ebp + ebp*4]
test byte [ebx + edx*8 + 0x1c], 4
lea esi, [ebx + edx*8]
je case.default.0x5a9fc3
call fcn.00562cb0
jmp case.default.0x5a9fc3
mov ebp, dword [ebp + 4]
lea eax, [ebp + ebp*4]
movzx ecx, word [ebx + eax*8 + 0x1c]
lea ebx, [ebx + eax*8]
test cl, 1
jne case.default.0x5a9fc3
mov eax, ecx
shr eax, 3
and eax, 2
or eax, ecx
mov word [ebx + 0x1c], ax
test al, 2
jne 0x5aacfe
test al, 0xc
je 0x5aacfe
movzx esi, byte [esp + 0x24]
mov eax, ebx
call fcn.0057e920
mov ecx, 0xfff3
and word [ebx + 0x1c], cx
movzx eax, word [ebx + 0x1c]
test eax, 0x4000
je 0x5aad2b
mov eax, ebx
call fcn.0056ca90
mov edx, 0xbfe3
and word [ebx + 0x1c], dx
mov dword [esp + 0x10], eax
jmp case.default.0x5a9fc3
mov edx, 0xbfe3
and word [ebx + 0x1c], dx
mov dword [esp + 0x10], 0
jmp case.default.0x5a9fc3
mov ebp, dword [ebp + 4]
lea eax, [ebp + ebp*4]
lea edi, [ebx + eax*8]
movzx eax, word [edi + 0x1c]
test al, 1
jne case.default.0x5a9fc3
test al, 0x10
jne 0x5aad88
test al, 2
jne 0x5aad6f
test al, 0xc
je 0x5aad6f
movzx esi, byte [esp + 0x24]
mov eax, edi
call fcn.0057e920
mov cx, word [edi + 0x1c]
mov edx, 0xbe10
and cx, dx
or cx, 0x10
mov word [edi + 0x1c], cx
jmp case.default.0x5a9fc3
and eax, 0xfe10
mov word [edi + 0x1c], ax
jmp case.default.0x5a9fc3
mov ebp, dword [ebp + 4]
lea eax, [ebp + ebp*4]
lea eax, [ebx + eax*8]
call fcn.00562d10
jmp case.default.0x5a9fc3
mov ebp, dword [ebp + 4]
lea ecx, [ebp + ebp*4]
test byte [ebx + ecx*8 + 0x1c], 1
lea esi, [ebx + ecx*8]
jne case.default.0x5a9fc3
call fcn.00562c80
jmp case.default.0x5a9fc3
mov ebp, dword [ebp + 4]
lea edx, [ebp + ebp*4]
test byte [ebx + edx*8 + 0x1c], 1
lea esi, [ebx + edx*8]
jne case.default.0x5a9fc3
call fcn.00562cb0
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
mov dx, word [ebx + eax*8 + 0x1c]
lea esi, [ebx + eax*8]
mov eax, dword [ebp + 0xc]
lea ecx, [eax + eax*4]
lea edi, [ebx + ecx*8]
mov word [esp + 0x6a], dx
mov ax, word [edi + 0x1c]
mov dl, al
mov word [esp + 0x6c], ax
mov al, byte [esp + 0x6a]
mov cl, dl
or cl, al
mov dword [esp + 0x2c], edi
test cl, 1
je 0x5aae8e
mov cl, byte [ebp + 3]
test cl, cl
jns 0x5aae4b
test al, 1
je 0x5aae41
test dl, 1
je 0x5aae41
test dword [esp + 0x6c], 0x100
jne 0x5aae41
xor eax, eax
jmp 0x5aaefc
mov eax, 1
jmp 0x5aaefc
test cl, 8
je 0x5aae5d
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x18], ebp
jmp case.default.0x5a9fc3
test cl, 0x10
je case.default.0x5a9fc3
mov ebp, dword [ebp + 8]
lea edx, [ebp + ebp*4]
mov ax, word [ebx + edx*8 + 0x1c]
lea ebx, [ebx + edx*8]
mov ecx, 0xbe01
and ax, cx
or ax, 1
mov dword [esp + 0x1c], ebx
mov word [ebx + 0x1c], ax
jmp case.default.0x5a9fc3
mov al, byte [ebp + 3]
and al, 0x67
mov byte [esp + 0x68], al
je 0x5aaec8
mov ebx, dword [esp + 0x24]
push ebx
mov edi, esi
call fcn.0057f7b0
mov al, byte [esp + 0x6c]
mov edi, dword [esp + 0x30]
push ebx
call fcn.0057f7b0
mov edx, dword [esp + 0x1c]
add esp, 8
cmp byte [edx + 0x40], 0
jne 0x5ab3be
mov ebx, dword [esp + 0x28]
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x5aaeda
mov eax, esi
call fcn.0056ca90
mov ecx, 0x4000
test word [edi + 0x1c], cx
je 0x5aaeec
mov eax, edi
call fcn.0056ca90
mov edx, dword [ebp + 0x10]
push edx
mov eax, esi
mov ecx, edi
call fcn.00586f90
add esp, 4
mov dword [esp + 0x64], eax
movzx ecx, byte [ebp]
add ecx, 0xffffffb4
cmp ecx, 4
ja case.default.0x5aaf0c
jmp dword [ecx*4 + 0x5af1ac]
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
jmp 0x5aaf4f
xor edx, edx
test eax, eax
setne dl
jmp 0x5aaf4d
xor ecx, ecx
test eax, eax
setl cl
mov eax, ecx
jmp 0x5aaf4f
xor edx, edx
test eax, eax
setle dl
jmp 0x5aaf4d
xor ecx, ecx
test eax, eax
setg cl
mov eax, ecx
jmp 0x5aaf4f
xor edx, edx
test eax, eax
setge dl
mov eax, edx
mov dword [esp + 0x64], eax
test byte [ebp + 3], 0x10
je 0x5aaf89
mov ebp, dword [ebp + 8]
lea eax, [ebp + ebp*4]
mov cx, word [ebx + eax*8 + 0x1c]
lea ebx, [ebx + eax*8]
mov edx, 0xbe04
and cx, dx
or cx, 4
mov word [ebx + 0x1c], cx
mov eax, dword [esp + 0x64]
cdq
mov dword [esp + 0x1c], ebx
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
jmp 0x5aaf95
test eax, eax
je 0x5aaf95
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x18], ebp
mov ax, word [esi + 0x1c]
xor ax, word [esp + 0x6a]
mov ecx, 0x1ff
and ax, cx
xor word [esi + 0x1c], ax
mov dx, word [edi + 0x1c]
xor dx, word [esp + 0x6c]
mov eax, ecx
and dx, ax
xor word [edi + 0x1c], dx
jmp case.default.0x5a9fc3
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x4c], ecx
jmp case.default.0x5a9fc3
test byte [ebp + 3], 1
jne 0x5aafdb
mov dword [esp + 0x4c], 0
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x64], ecx
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x74], esi
mov edx, dword [ebp + 4]
mov dword [esp + 0x6c], edx
mov eax, dword [ebp + 8]
mov dword [esp + 0x70], eax
xor eax, eax
mov dword [esp + 0x68], eax
test ecx, ecx
jle 0x5ab08f
mov ebx, dword [esp + 0x4c]
mov edi, dword [esp + 0x28]
jmp 0x5ab014
mov esi, dword [esp + 0x74]
test ebx, ebx
je 0x5ab01d
mov ecx, dword [ebx + eax*4]
jmp 0x5ab01f
mov ecx, eax
mov dword [esp + 0x78], ecx
mov edx, dword [esi + eax*4 + 0x14]
mov dword [esp + 0x7c], edx
mov esi, dword [esi + 0x10]
movzx eax, byte [esi + eax]
push edx
mov edx, dword [esp + 0x74]
mov dword [esp + 0x84], eax
lea eax, [ecx + edx]
mov edx, dword [esp + 0x70]
add ecx, edx
lea eax, [eax + eax*4]
lea ecx, [ecx + ecx*4]
lea eax, [edi + eax*8]
lea ecx, [edi + ecx*8]
call fcn.00586f90
add esp, 4
mov dword [esp + 0x50], eax
test eax, eax
jne 0x5ab07f
mov eax, dword [esp + 0x68]
inc eax
cmp eax, dword [esp + 0x64]
mov dword [esp + 0x68], eax
jl 0x5ab010
mov dword [esp + 0x4c], 0
jmp case.default.0x5a9fc3
cmp dword [esp + 0x80], 0
je 0x5ab08f
neg eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], 0
jmp case.default.0x5a9fc3
mov eax, dword [esp + 0x50]
test eax, eax
jge 0x5ab0b1
mov ebp, dword [ebp + 4]
dec ebp
mov dword [esp + 0x18], ebp
jmp case.default.0x5a9fc3
jne 0x5ab0c0
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x18], ebp
jmp case.default.0x5a9fc3
mov ebp, dword [ebp + 0xc]
dec ebp
mov dword [esp + 0x18], ebp
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
test byte [ebx + edx*8 + 0x1c], 1
lea ecx, [ebx + edx*8]
je 0x5ab0e4
mov edx, 2
jmp 0x5ab0f6
call fcn.00562b60
or eax, edx
je 0x5ab0f4
mov edx, 1
jmp 0x5ab0f6
xor edx, edx
mov dword [esp + 0x64], edx
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x1c], 1
lea ecx, [ebx + eax*8]
je 0x5ab111
mov eax, 2
jmp 0x5ab127
call fcn.00562b60
or eax, edx
mov edx, dword [esp + 0x64]
je 0x5ab125
mov eax, 1
jmp 0x5ab127
xor eax, eax
mov dword [esp + 0x68], eax
cmp byte [ebp], 0x46
jne 0x5ab13e
lea ecx, [eax + edx*2]
movzx eax, byte [edx + ecx + 0x65bcd8]
jmp 0x5ab149
lea eax, [eax + edx*2]
movzx eax, byte [edx + eax + 0x65bce4]
mov dword [esp + 0x64], eax
mov ebp, dword [ebp + 0xc]
lea ecx, [ebp + ebp*4]
lea ebx, [ebx + ecx*8]
mov dword [esp + 0x1c], ebx
cmp eax, 2
jne 0x5ab179
mov dx, word [ebx + 0x1c]
mov eax, 0xbe01
and dx, ax
or dx, 1
mov word [ebx + 0x1c], dx
jmp case.default.0x5a9fc3
mov cx, word [ebx + 0x1c]
cdq
mov dword [ebx + 0x14], edx
mov edx, 0xbe04
and cx, dx
or cx, 4
mov dword [ebx + 0x10], eax
mov word [ebx + 0x1c], cx
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 4]
mov ebp, dword [ebp + 8]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x1c], 1
lea edx, [ebp + ebp*4]
lea ecx, [ebx + eax*8]
lea esi, [ebx + edx*8]
mov dword [esp + 0x1c], esi
je 0x5ab1c1
call fcn.00562d90
jmp case.default.0x5a9fc3
call fcn.00562b60
or eax, edx
jne 0x5ab1df
mov eax, 1
cdq
push edx
push eax
call fcn.0056cc40
add esp, 8
jmp case.default.0x5a9fc3
xor eax, eax
cdq
push edx
push eax
call fcn.0056cc40
add esp, 8
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 4]
mov ebp, dword [ebp + 8]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x1c], 1
lea edx, [ebp + ebp*4]
lea ecx, [ebx + eax*8]
lea esi, [ebx + edx*8]
mov dword [esp + 0x1c], esi
je 0x5ab219
call fcn.00562d90
jmp case.default.0x5a9fc3
call fcn.00562b60
not edx
not eax
push edx
push eax
call fcn.0056cc40
add esp, 8
jmp case.default.0x5a9fc3
mov eax, dword [edi + 0xd8]
mov ecx, dword [ebp + 4]
add eax, ecx
cmp byte [eax], 0
je 0x5ab24e
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x18], ebp
jmp case.default.0x5a9fc3
mov byte [eax], 1
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
test byte [ebx + edx*8 + 0x1c], 1
lea eax, [ebx + edx*8]
je 0x5ab26b
mov eax, dword [ebp + 0xc]
jmp 0x5ab299
call fcn.00562bd0
fcomp qword [0x64f1f8]
fnstsw ax
test ah, 0x44
jnp 0x5ab284
mov eax, 1
jmp 0x5ab286
xor eax, eax
mov dword [esp + 0x64], eax
cmp byte [ebp], 0x2a
jne 0x5ab29d
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
mov dword [esp + 0x64], eax
test eax, eax
je case.default.0x5a9fc3
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x18], ebp
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
test byte [ebx + edx*8 + 0x1c], 1
je case.default.0x5a9fc3
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x18], ebp
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x1c], 1
jne case.default.0x5a9fc3
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x18], ebp
jmp case.default.0x5a9fc3
mov ecx, dword [ebp + 8]
mov dword [esp + 0x6c], ecx
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
lea eax, [ebx + edx*8]
mov edx, dword [edi + 0x44]
mov dword [esp + 0x88], eax
mov ecx, dword [ebp + 4]
mov esi, dword [edx + ecx*4]
lea eax, [esi + 0x58]
mov dword [esp + 0x70], esi
mov dword [esp + 0x78], eax
movsx ecx, word [esi + 0x14]
lea edx, [eax + ecx*4]
mov dword [esp + 0x7c], edx
mov eax, dword [esi]
mov dword [esp + 0x74], eax
call fcn.005a51d0
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5aeea8
mov edx, dword [esp + 0x70]
mov ecx, dword [edx + 0x44]
cmp ecx, dword [edi + 0x54]
jne 0x5ab351
test byte [ebp + 3], 0x20
je 0x5ab578
cmp byte [edx + 0x19], 0
je 0x5ab44c
cmp dword [esp + 0x74], 0
jne 0x5ab41c
mov eax, dword [edx + 0x10]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [esp + 0xd0], eax
test byte [edx + 0x1c], 8
je 0x5ab3eb
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x88]
lea ecx, [ecx + ecx*4]
lea edx, [eax + ecx*8]
push 0x1000
push edx
call fcn.0056cd90
mov eax, dword [esp + 0x90]
mov ecx, 0x1000
add esp, 8
test word [eax + 0x1c], cx
je 0x5ab9a4
call fcn.005759c0
test eax, eax
je 0x5ab9a4
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x20]
push str.out_of_memory
add edi, 0x38
mov byte [eax + 0x40], 1
call fcn.0057c990
mov edi, dword [esp + 0x24]
add esp, 4
mov dword [esp + 0x10], 7
jmp 0x5ae9c9
mov eax, dword [eax + 0x18]
mov dword [esp + 0xc8], eax
mov dword [edx + 0x4c], eax
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0xc8]
mov dword [edx + 0x48], eax
mov ecx, dword [esp + 0xd0]
mov edx, dword [ecx + 4]
mov eax, dword [esp + 0x70]
mov dword [eax + 0x54], edx
jmp 0x5ab4e1
mov eax, dword [esp + 0x88]
mov cx, word [eax + 0x1c]
mov edx, 0xbe01
and cx, dx
or cx, 1
mov word [eax + 0x1c], cx
mov eax, dword [esp + 0x88]
call fcn.005759c0
mov dword [esp + 0x10], eax
jmp case.default.0x5a9fc3
test byte [edx + 0x1c], 2
jne 0x5ab487
mov eax, dword [esp + 0x74]
lea edi, [esp + 0x64]
call fcn.00562720
mov esi, dword [esp + 0x74]
lea eax, [esp + 0xc8]
push eax
call fcn.00562820
mov ecx, dword [esp + 0x74]
mov dword [ecx + 0x54], eax
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x68]
add esp, 4
mov dword [edx + 0x48], eax
jmp 0x5ab4af
mov esi, dword [esp + 0x74]
add edx, 0x48
push edx
call fcn.00562750
mov eax, dword [esp + 0x78]
lea ecx, [esp + 0xcc]
push ecx
call fcn.00562880
mov edx, dword [esp + 0x78]
add esp, 8
mov dword [edx + 0x54], eax
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx + 0x48]
mov edx, dword [esp + 0xc8]
cmp eax, edx
ja 0x5ab4c6
mov dword [ecx + 0x4c], eax
jmp 0x5ab4c9
mov dword [ecx + 0x4c], edx
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 0x48]
mov edx, dword [esp + 0x14]
cmp ecx, dword [edx + 0x58]
ja 0x5aaa7f
mov edi, dword [esp + 0x20]
mov eax, dword [edi + 0x54]
mov ecx, dword [esp + 0x70]
mov dword [ecx + 0x44], eax
mov edx, dword [esp + 0x70]
mov ecx, dword [edx + 0x54]
mov al, byte [ecx]
cmp al, 0x80
jae 0x5ab509
movzx eax, al
mov dword [esp + 0xc0], eax
mov eax, 1
jmp 0x5ab518
lea esi, [esp + 0xc0]
call fcn.0055e690
movzx eax, al
mov edx, dword [esp + 0x70]
movzx ecx, al
mov dword [edx + 0x50], ecx
mov ecx, dword [esp + 0x70]
xor eax, eax
mov word [ecx + 0x16], ax
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0xc0]
mov dword [eax], edx
mov eax, dword [esp + 0xc0]
cmp dword [esp + 0xc8], eax
jae 0x5ab560
mov ecx, dword [esp + 0x70]
xor eax, eax
mov dword [ecx + 0x54], eax
mov edx, dword [esp + 0x70]
mov dword [edx + 0x4c], eax
mov eax, dword [esp + 0xc0]
cmp eax, 0x18003
ja 0x5ab9b9
mov edx, dword [esp + 0x70]
cmp eax, dword [edx + 0x48]
ja 0x5ab9b9
movzx eax, word [edx + 0x16]
mov ebx, dword [esp + 0x6c]
cmp eax, ebx
mov edi, dword [esp + 0x7c]
jg 0x5ab7e6
mov ecx, dword [edx + 0x50]
cmp ecx, dword [edi]
jae 0x5ab7a7
mov eax, dword [edx + 0x54]
test eax, eax
jne 0x5ab626
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov edx, dword [edx + 0x1c]
mov eax, dword [edi]
shr edx, 1
not edx
and edx, 1
push edx
push eax
lea eax, [esp + 0x94]
xor ebx, ebx
call fcn.005a4bb0
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne case.default.0x5a9fc3
mov eax, dword [esp + 0x90]
mov edi, dword [esp + 0x7c]
mov edx, dword [esp + 0x70]
mov dword [esp + 0xb4], eax
movzx esi, word [edx + 0x16]
mov dword [esp + 0x84], esi
mov ecx, dword [edi + esi*4]
mov dword [esp + 0xc0], ecx
mov ecx, dword [edx + 0x50]
add ecx, eax
mov dword [esp + 0xb8], ecx
mov edx, dword [edi]
add edx, eax
mov dword [esp + 0xbc], edx
lea esp, [esp]
mov al, byte [ecx]
cmp al, 0x80
jae 0x5ab67a
movzx eax, al
inc ecx
mov dword [esp + 0xcc], eax
mov dword [esp + 0xb8], ecx
jmp 0x5ab697
lea esi, [esp + 0xcc]
call fcn.0055e690
mov esi, dword [esp + 0x84]
movzx ecx, al
add dword [esp + 0xb8], ecx
mov eax, dword [esp + 0xcc]
mov edx, dword [esp + 0x78]
mov dword [edx + esi*4], eax
mov eax, dword [esp + 0xcc]
call fcn.005632e0
mov ecx, dword [esp + 0xc0]
add ecx, eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc0], ecx
cmp ecx, eax
jb 0x5ab705
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x7c]
inc eax
mov dword [esp + 0x84], eax
mov dword [edx + eax*4], ecx
mov esi, dword [esp + 0x84]
cmp esi, dword [esp + 0x6c]
jg 0x5ab714
mov ecx, dword [esp + 0xb8]
cmp ecx, dword [esp + 0xbc]
jb 0x5ab660
jmp 0x5ab714
mov eax, dword [esp + 0xbc]
inc eax
mov dword [esp + 0xb8], eax
mov ecx, dword [esp + 0x70]
mov dx, word [esp + 0x84]
mov word [ecx + 0x16], dx
mov eax, dword [esp + 0xb8]
sub eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0x70]
mov dword [ecx + 0x50], eax
mov edx, dword [esp + 0x70]
cmp dword [edx + 0x54], 0
jne 0x5ab764
lea edx, [esp + 0x8c]
push edx
call fcn.0056cbb0
mov edx, dword [esp + 0x74]
mov eax, 1
add esp, 4
mov word [esp + 0xa8], ax
mov esi, dword [esp + 0xb8]
mov edi, dword [esp + 0xbc]
cmp esi, edi
ja 0x5ab78c
mov eax, dword [edx + 0x48]
mov ecx, dword [esp + 0xc0]
cmp ecx, eax
ja 0x5ab78c
cmp esi, edi
jne 0x5ab79f
cmp ecx, eax
je 0x5ab79f
mov eax, 0x10d82
call fcn.0057c320
mov dword [esp + 0x10], eax
jmp case.default.0x5a9fc3
mov edi, dword [esp + 0x7c]
mov ebx, dword [esp + 0x6c]
movzx ecx, word [edx + 0x16]
cmp ecx, ebx
jg 0x5ab7e6
cmp byte [ebp + 1], 0xf8
jne 0x5ab41c
mov edx, dword [ebp + 0x10]
mov ebx, dword [esp + 0x88]
push 0x800
push edx
call fcn.0056cd90
mov eax, dword [esp + 0x90]
add esp, 8
call fcn.005759c0
mov dword [esp + 0x10], eax
jmp case.default.0x5a9fc3
mov eax, dword [edx + 0x4c]
cmp eax, dword [edi + ebx*4 + 4]
jb 0x5ab832
mov eax, dword [esp + 0x88]
mov ecx, 0x2460
test word [eax + 0x1c], cx
je 0x5ab819
call fcn.0056cb40
mov eax, dword [esp + 0x88]
mov edi, dword [esp + 0x7c]
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x6c]
mov ecx, dword [edi + ebx*4]
add ecx, dword [edx + 0x54]
mov edx, dword [esp + 0x78]
mov esi, eax
mov eax, dword [edx + ebx*4]
call fcn.005633b0
jmp 0x5ab996
mov eax, dword [esp + 0x78]
mov ebx, dword [eax + ebx*4]
mov dword [esp + 0xcc], ebx
mov al, byte [ebp + 3]
test al, 0xc0
je 0x5ab855
cmp ebx, 0xc
jb 0x5ab851
test bl, 1
je 0x5ab867
test al, al
js 0x5ab867
mov eax, ebx
call fcn.005632e0
mov dword [esp + 0x80], eax
test eax, eax
jne 0x5ab888
mov ecx, 0xd
cmp ecx, ebx
sbb ecx, ecx
not ecx
lea edx, [esp + 0x64]
and ecx, edx
mov dword [esp + 0xb0], 0
jmp 0x5ab935
mov ebx, dword [esp + 0x88]
xor eax, eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
lea eax, [esp + 0x8c]
call fcn.0056cde0
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 0x80]
shr ecx, 1
not ecx
and ecx, 1
push ecx
mov ecx, dword [esp + 0x80]
push edx
mov edx, dword [esp + 0x74]
mov ebx, dword [ecx + edx*4]
mov ecx, dword [esp + 0x7c]
lea eax, [esp + 0x94]
call fcn.005a4bb0
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne case.default.0x5a9fc3
mov ecx, dword [esp + 0x90]
mov ebx, dword [esp + 0xcc]
mov esi, dword [esp + 0x88]
mov eax, ebx
mov dword [esp + 0xb4], ecx
call fcn.005633b0
cmp dword [esp + 0xb0], 0
je 0x5ab996
mov eax, dword [esp + 0x88]
mov ecx, 0xe7ff
and word [eax + 0x1c], cx
mov eax, dword [esp + 0x88]
mov edx, 0x200
or word [eax + 0x1c], dx
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x90]
mov dword [eax + 4], ecx
mov edx, dword [esp + 0xb0]
mov eax, dword [esp + 0x88]
mov dword [eax + 0x24], edx
mov ecx, dword [esp + 0x88]
mov dl, byte [esp + 0x24]
mov byte [ecx + 0x1f], dl
mov eax, dword [esp + 0x88]
call fcn.005759c0
mov dword [esp + 0x10], eax
jmp case.default.0x5a9fc3
mov eax, 0x10d40
call fcn.0057c320
mov dword [esp + 0x10], eax
jmp case.default.0x5a9fc3
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x64], ecx
mov ebp, dword [ebp + 4]
lea eax, [ebp + ebp*4]
lea edi, [ebx + eax*8]
mov al, byte [ecx]
mov byte [esp + 0x68], al
test al, al
je 0x5aba29
jmp 0x5ab9f0
inc ecx
mov dword [esp + 0x64], ecx
mov ecx, 0x4000
test word [edi + 0x1c], cx
je 0x5aba0b
mov eax, edi
call fcn.0056ca90
mov al, byte [esp + 0x68]
mov edx, dword [esp + 0x24]
push edx
call fcn.0057f7b0
mov ecx, dword [esp + 0x68]
mov al, byte [ecx]
add esp, 4
add edi, 0x28
mov byte [esp + 0x68], al
test al, al
jne 0x5ab9f0
inc ecx
mov dword [esp + 0x64], ecx
jmp case.default.0x5a9fc3
xor eax, eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x84], eax
mov eax, dword [ebp + 4]
mov dword [esp + 0x98], eax
mov ecx, dword [ebp + 0x10]
lea edx, [eax + eax*4]
lea esi, [ebx + edx*8]
mov dword [esp + 0x9c], ecx
movzx ecx, byte [edi + 0x61]
mov dword [esp + 0x90], esi
mov eax, dword [ebp + 8]
mov dword [esp + 0x98], eax
lea eax, [eax + eax*4]
lea eax, [esi + eax*8 - 0x28]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x94], eax
mov ebp, dword [ebp + 0xc]
lea edx, [ebp + ebp*4]
lea ecx, [ebx + edx*8]
mov edi, esi
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x68], edi
cmp esi, eax
ja 0x5abb8f
jmp 0x5abab0
cmp dword [esp + 0x9c], 0
je 0x5abaf1
mov edx, dword [esp + 0x24]
mov ecx, edi
sub ecx, esi
push edx
mov eax, 0x66666667
imul ecx
mov ecx, dword [esp + 0xa0]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov al, byte [eax + ecx]
call fcn.0057f7b0
mov esi, dword [esp + 0x94]
mov edi, dword [esp + 0x6c]
add esp, 4
mov edx, 0x4000
test word [edi + 0x1c], dx
je 0x5abb14
cmp dword [edi + 0x18], 0
jle 0x5abb14
mov eax, edi
call fcn.0056ca90
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x68]
mov eax, dword [esp + 0xa0]
push eax
mov edx, edi
call fcn.005631e0
mov ecx, eax
mov dword [esp + 0x90], ecx
call fcn.005632e0
mov ebx, eax
cdq
add dword [esp + 0x70], eax
push 0
push ecx
adc dword [esp + 0x7c], edx
mov dword [esp + 0xb4], ebx
call fcn.0055e710
add dword [esp + 0x80], eax
mov ecx, 0x4000
add esp, 0xc
test word [edi + 0x1c], cx
je 0x5abb6c
mov edx, dword [edi + 0x10]
add dword [esp + 0x84], edx
jmp 0x5abb7b
test ebx, ebx
je 0x5abb7b
mov dword [esp + 0x84], 0
add edi, 0x28
mov dword [esp + 0x68], edi
cmp edi, dword [esp + 0x94]
jbe 0x5abab0
mov esi, dword [esp + 0x74]
mov eax, esi
cdq
push edx
push eax
call fcn.0055e710
mov edi, eax
add esi, edi
mov eax, esi
cdq
push edx
push eax
mov dword [esp + 0x98], edi
mov dword [esp + 0x84], esi
call fcn.0055e710
add esp, 0x10
cmp edi, eax
jge 0x5abbc5
inc esi
mov dword [esp + 0x74], esi
mov eax, dword [esp + 0x84]
cdq
mov edi, eax
mov eax, esi
mov ebx, edx
cdq
mov esi, eax
mov eax, dword [esp + 0x14]
sub esi, edi
mov ecx, edx
sbb ecx, ebx
add esi, dword [esp + 0x6c]
adc ecx, dword [esp + 0x70]
mov dword [esp + 0x7c], esi
mov dword [esp + 0x80], ecx
mov eax, dword [eax + 0x58]
cdq
cmp ecx, edx
jg 0x5aaa7f
jl 0x5abc09
cmp esi, eax
ja 0x5aaa7f
mov edi, dword [esp + 0x1c]
push 0
mov eax, esi
call fcn.0056c980
add esp, 4
test eax, eax
jne 0x5ab3be
mov eax, dword [esp + 0x74]
mov ecx, dword [edi + 4]
mov dword [esp + 0x64], ecx
cmp eax, 0x80
jae 0x5abc3e
mov dl, al
mov byte [ecx], dl
mov eax, 1
jmp 0x5abc43
call fcn.0055e4e0
mov ecx, dword [esp + 0x90]
movzx esi, al
mov eax, dword [esp + 0x94]
mov edx, ecx
mov dword [esp + 0xa4], esi
mov dword [esp + 0x68], edx
cmp ecx, eax
ja 0x5abcd9
jmp 0x5abc70
mov eax, dword [esp + 0xa0]
push eax
call fcn.005631e0
add esp, 4
mov dword [esp + 0x8c], eax
cmp eax, 0x80
jae 0x5abc9e
mov edx, dword [esp + 0x64]
mov cl, al
mov byte [esi + edx], cl
mov eax, 1
jmp 0x5abca9
mov ecx, dword [esp + 0x64]
add ecx, esi
call fcn.0055e4e0
mov esi, dword [esp + 0xa4]
movzx edx, al
mov eax, dword [esp + 0x94]
add esi, edx
mov edx, dword [esp + 0x68]
add edx, 0x28
mov dword [esp + 0xa4], esi
mov dword [esp + 0x68], edx
cmp edx, eax
jbe 0x5abc70
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x68], ecx
cmp ecx, eax
ja 0x5abd22
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x64]
sub eax, esi
push eax
mov eax, dword [esp + 0xa4]
lea ebx, [esi + edx]
call fcn.00563300
mov ecx, dword [esp + 0x6c]
mov esi, dword [esp + 0xa8]
add ecx, 0x28
add esi, eax
add esp, 4
mov dword [esp + 0xa4], esi
mov dword [esp + 0x68], ecx
cmp ecx, dword [esp + 0x94]
jbe 0x5abce1
mov eax, dword [esp + 0x7c]
mov ecx, 0x410
mov dword [edi + 0x18], eax
mov word [edi + 0x1c], cx
mov dword [edi + 0x20], 0
mov eax, dword [esp + 0x84]
test eax, eax
je 0x5abd50
mov edx, 0x4410
mov dword [edi + 0x10], eax
mov word [edi + 0x1c], dx
mov byte [edi + 0x1f], 1
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 4]
mov ecx, dword [edi + 0x44]
mov edx, dword [ecx + eax*4]
mov eax, dword [edx]
lea ecx, [esp + 0x64]
push ecx
mov dword [esp + 0x70], eax
call fcn.005a1e70
mov edx, dword [esp + 0x68]
mov dword [esp + 0x14], eax
mov dword [esi + 0x10], edx
mov eax, dword [esp + 0x6c]
add esp, 4
mov dword [esi + 0x14], eax
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 4]
mov dword [esp + 0x64], eax
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x68], esi
test eax, eax
jne 0x5abea5
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0x94], eax
jle 0x5abdd1
push str.cannot_open_savepoint___SQL_statements_in_progress
mov edi, dword [esp + 0x24]
add edi, 0x38
mov eax, ecx
call fcn.0057c990
add esp, 4
mov dword [esp + 0x10], 5
jmp case.default.0x5a9fc3
mov ecx, esi
call fcn.0055d9f0
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x1ec]
add edx, dword [eax + 0x1e8]
push edx
push 0
push eax
call fcn.00567240
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5aeea8
mov ecx, dword [esp + 0x6c]
mov esi, dword [esp + 0x14]
add ecx, 0x21
call fcn.00569810
mov dword [esp + 0x70], eax
test eax, eax
je case.default.0x5a9fc3
lea ecx, [eax + 0x20]
mov dword [eax], ecx
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x70]
inc edx
push edx
mov edx, dword [ecx]
push eax
push edx
call fcn.005e13c0
add esp, 0xc
cmp byte [esi + 0x3e], 0
je 0x5abe4f
mov byte [esi + 0x3e], 0
mov byte [esi + 0x45], 1
jmp 0x5abe55
inc dword [esi + 0x1e8]
mov eax, dword [esi + 0x1e0]
mov ecx, dword [esp + 0x70]
mov dword [ecx + 0x18], eax
mov edx, dword [esp + 0x70]
mov eax, dword [esi + 0x1f0]
mov dword [esi + 0x1e0], edx
mov ecx, dword [esp + 0x70]
mov dword [ecx + 8], eax
mov edx, dword [esi + 0x1f4]
mov eax, dword [esp + 0x70]
mov dword [eax + 0xc], edx
mov ecx, dword [esi + 0x1f8]
mov edx, dword [esp + 0x70]
mov dword [edx + 0x10], ecx
mov eax, dword [esi + 0x1fc]
mov ecx, dword [esp + 0x70]
mov dword [ecx + 0x14], eax
jmp case.default.0x5a9fc3
mov edx, dword [esp + 0x14]
xor ebp, ebp
mov dword [esp + 0x7c], ebp
mov ebx, dword [edx + 0x1e0]
mov dword [esp + 0x74], ebx
test ebx, ebx
je 0x5abee0
lea ecx, [ecx]
mov eax, dword [ebx]
push esi
push eax
call fcn.0055dac0
add esp, 8
test eax, eax
je 0x5abf06
inc ebp
mov dword [esp + 0x7c], ebp
mov ebx, dword [ebx + 0x18]
mov dword [esp + 0x74], ebx
test ebx, ebx
jne 0x5abec0
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
push esi
push str.no_such_savepoint:__s
add edi, 0x38
call fcn.0057c990
add esp, 8
mov dword [esp + 0x10], 1
jmp case.default.0x5a9fc3
mov esi, dword [esp + 0x14]
cmp dword [esi + 0x94], 0
mov eax, 1
jle 0x5abf41
cmp dword [esp + 0x64], eax
jne 0x5abf41
mov edi, dword [esp + 0x20]
push str.cannot_release_savepoint___SQL_statements_in_progress
add edi, 0x38
mov eax, esi
call fcn.0057c990
add esp, 4
mov dword [esp + 0x10], 5
jmp case.default.0x5a9fc3
cmp dword [ebx + 0x18], 0
jne 0x5abf95
cmp byte [esi + 0x45], 0
je 0x5abf95
mov dword [esp + 0x2c], eax
cmp dword [esp + 0x64], eax
jne 0x5abf9d
push 1
mov esi, edi
call fcn.0057f070
mov esi, eax
add esp, 4
test esi, esi
jne 0x5aea46
mov esi, dword [esp + 0x14]
mov eax, edi
mov byte [esi + 0x3e], 1
call fcn.005a7490
cmp eax, 5
je 0x5aedd2
mov byte [esi + 0x45], 0
mov ecx, dword [edi + 0x5c]
mov dword [esp + 0x10], ecx
jmp 0x5ac068
mov dword [esp + 0x2c], 0
mov ecx, dword [esi + 0x1e8]
sub ecx, ebp
sub ecx, eax
cmp dword [esp + 0x64], 2
mov dword [esp + 0x7c], ecx
jne 0x5abff1
xor eax, eax
mov dword [esp + 0x80], eax
cmp dword [esi + 0x14], eax
jle 0x5abff1
mov edx, dword [esi + 0x10]
shl eax, 4
mov eax, dword [eax + edx + 4]
push 4
push eax
call fcn.0059a930
mov eax, dword [esp + 0x88]
inc eax
add esp, 8
mov dword [esp + 0x80], eax
cmp eax, dword [esi + 0x14]
jl 0x5abfc0
mov ecx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x74]
xor eax, eax
mov dword [esp + 0x80], eax
cmp dword [esi + 0x14], eax
jle 0x5ac042
jmp 0x5ac005
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x64]
push edx
mov edx, dword [esi + 0x10]
shl eax, 4
mov eax, dword [eax + edx + 4]
mov ebx, ecx
call fcn.005927c0
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5aeea4
mov eax, dword [esp + 0x80]
inc eax
mov dword [esp + 0x80], eax
cmp eax, dword [esi + 0x14]
jl 0x5ac001
mov ebx, dword [esp + 0x74]
mov esi, dword [esp + 0x14]
mov edi, 2
cmp dword [esp + 0x64], edi
jne 0x5ac06c
test byte [esi + 0x18], 2
je 0x5ac06c
mov eax, esi
call fcn.005636b0
mov eax, esi
call fcn.00580d30
or dword [esi + 0x18], edi
mov ebx, dword [esp + 0x74]
cmp dword [esi + 0x1e0], ebx
je 0x5ac0b0
jmp 0x5ac080
mov eax, dword [esi + 0x1e0]
mov dword [esp + 0x78], eax
mov eax, dword [eax + 0x18]
mov dword [esi + 0x1e0], eax
mov eax, dword [esp + 0x78]
mov ecx, esi
call fcn.0055d830
dec dword [esi + 0x1e8]
mov ebx, dword [esp + 0x74]
cmp dword [esi + 0x1e0], ebx
jne 0x5ac080
cmp dword [esp + 0x64], 1
jne 0x5ac0e2
mov ecx, dword [ebx + 0x18]
mov dword [esi + 0x1e0], ecx
mov eax, dword [esp + 0x74]
mov ecx, esi
call fcn.0055d830
cmp dword [esp + 0x2c], 0
jne case.default.0x5a9fc3
mov eax, dword [esp + 0x14]
dec dword [eax + 0x1e8]
jmp 0x5ac119
cmp dword [esp + 0x2c], 0
mov edx, dword [ebx + 8]
mov dword [esi + 0x1f0], edx
mov eax, dword [ebx + 0xc]
mov dword [esi + 0x1f4], eax
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0x10]
mov dword [esi + 0x1f8], ecx
mov edx, dword [eax + 0x14]
mov dword [esi + 0x1fc], edx
jne case.default.0x5a9fc3
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x64]
push ecx
push edx
push eax
call fcn.00567240
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5aeea4
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x64], eax
mov ebp, dword [ebp + 8]
mov dword [esp + 0x68], ebp
test eax, eax
je 0x5ac177
cmp byte [ecx + 0x3e], 0
jne 0x5ac177
mov dword [esp + 0x6c], 1
test ebp, ebp
jne 0x5ac17f
cmp dword [ecx + 0x94], ebp
jle 0x5ac17f
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x5abdb3
mov dword [esp + 0x6c], 0
movzx ecx, byte [ecx + 0x3e]
cmp eax, ecx
jne 0x5aedea
test eax, eax
jne 0x5ac196
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x5ac1a4
mov eax, str.cannot_rollback___no_transaction_is_active
test ebp, ebp
jne 0x5ac1a4
mov eax, str.cannot_commit___no_transaction_is_active
mov edi, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x18]
add edi, 0x38
call fcn.0057c990
add esp, 4
mov dword [esp + 0x10], 1
jmp case.default.0x5a9fc3
cmp dword [ebp + 8], 0
je 0x5ac1dc
mov edx, dword [esp + 0x14]
test dword [edx + 0x18], 0x2000000
jne 0x5aee64
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x10]
shl eax, 4
mov eax, dword [eax + edx + 4]
mov dword [esp + 0x64], eax
test eax, eax
je case.default.0x5a9fc3
mov ecx, dword [ebp + 8]
push ecx
push eax
call fcn.0059f470
add esp, 8
mov dword [esp + 0x10], eax
cmp eax, 5
je 0x5aee6e
test eax, eax
jne 0x5aeea4
cmp dword [ebp + 8], eax
je case.default.0x5a9fc3
test byte [edi + 0x64], 0x80
je case.default.0x5a9fc3
mov esi, dword [esp + 0x14]
cmp byte [esi + 0x3e], al
je 0x5ac244
cmp dword [esi + 0x90], 1
jle case.default.0x5a9fc3
cmp dword [edi + 0x74], 0
jne 0x5ac261
inc dword [esi + 0x1ec]
mov eax, dword [esi + 0x1ec]
mov edx, dword [esi + 0x1e8]
add edx, eax
mov dword [edi + 0x74], edx
mov eax, dword [edi + 0x74]
dec eax
push eax
push 0
push esi
call fcn.00567240
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5ac28d
mov ecx, dword [edi + 0x74]
mov eax, dword [esp + 0x64]
push ecx
call fcn.0056c8c0
add esp, 4
mov dword [esp + 0x10], eax
mov edx, dword [esi + 0x1f0]
mov dword [edi + 0xa8], edx
mov eax, dword [esi + 0x1f4]
mov dword [edi + 0xac], eax
mov ecx, dword [esi + 0x1f8]
mov dword [edi + 0xb0], ecx
mov edx, dword [esi + 0x1fc]
mov dword [edi + 0xb4], edx
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x68], eax
mov ebp, dword [ebp + 0xc]
lea ecx, [esp + 0x64]
mov dword [esp + 0x6c], ebp
push ecx
mov ecx, dword [edx + 0x10]
shl eax, 4
mov eax, dword [eax + ecx + 4]
push ebp
call fcn.00562950
mov eax, dword [esp + 0x6c]
cdq
add esp, 8
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
jmp case.default.0x5a9fc3
mov edx, dword [ebp + 4]
mov eax, dword [esp + 0x14]
shl edx, 4
add edx, dword [eax + 0x10]
mov dword [esp + 0x64], edx
mov eax, dword [ebp + 0xc]
lea ecx, [eax + eax*4]
lea esi, [ebx + ecx*8]
call fcn.00562c80
mov edx, dword [esi + 0x10]
mov eax, dword [esp + 0x64]
mov ebx, dword [ebp + 8]
mov eax, dword [eax + 4]
push edx
call fcn.00586ce0
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 8]
add esp, 4
cmp eax, 1
jne 0x5ac353
mov ecx, dword [esp + 0x64]
mov eax, dword [esi + 0x10]
mov edx, dword [ecx + 0xc]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
or dword [eax + 0x18], 2
jmp 0x5ac365
cmp eax, 2
jne 0x5ac365
mov ecx, dword [esp + 0x64]
mov edx, dword [ecx + 0xc]
mov al, byte [esi + 0x10]
mov byte [edx + 0x4c], al
cmp dword [ebp + 4], 1
jne case.default.0x5a9fc3
mov eax, dword [esp + 0x14]
call fcn.005636b0
and dword [edi + 0x64], 0xffffffdf
jmp case.default.0x5a9fc3
mov ecx, dword [ebp + 4]
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x10]
shl ecx, 4
mov eax, dword [ecx + eax + 4]
mov dword [esp + 0x6c], eax
test eax, eax
je 0x5ac3bf
lea ecx, [esp + 0x64]
push ecx
push 1
call fcn.00562950
mov edx, dword [ebp + 4]
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + 0x10]
add esp, 8
shl edx, 4
mov ecx, dword [edx + eax + 0xc]
mov eax, dword [ecx + 4]
jmp 0x5ac3cb
mov dword [esp + 0x64], 0
xor eax, eax
mov esi, edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x68], eax
cmp edx, dword [ebp + 8]
jne 0x5ac3e5
cmp eax, dword [ebp + 0xc]
je case.default.0x5a9fc3
mov esi, dword [esp + 0x14]
mov eax, dword [edi + 0x38]
mov ecx, esi
call fcn.0055d830
push esi
mov ebx, str.database_schema_has_changed
call fcn.00569940
mov dword [edi + 0x38], eax
mov ebp, dword [ebp + 4]
mov ecx, dword [esi + 0x10]
mov eax, ebp
shl eax, 4
mov edx, dword [eax + ecx + 0xc]
mov eax, dword [edx]
add esp, 4
cmp eax, dword [esp + 0x64]
je 0x5ac426
mov edi, dword [esp + 0x14]
mov esi, ebp
call fcn.00580d00
mov edi, dword [esp + 0x20]
or dword [edi + 0x64], 0x20
mov dword [esp + 0x10], 0x11
jmp case.default.0x5a9fc3
test byte [edi + 0x64], 0x20
je 0x5ac44a
mov dword [esp + 0x10], 4
jmp case.default.0x5a9fc3
xor ecx, ecx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], ecx
mov edx, dword [ebp + 8]
mov dword [esp + 0x6c], edx
mov esi, dword [ebp + 0xc]
mov edx, dword [esp + 0x14]
mov eax, esi
mov dword [esp + 0x70], esi
shl eax, 4
add eax, dword [edx + 0x10]
mov dword [esp + 0x80], eax
mov edx, dword [eax + 4]
mov dword [esp + 0x78], edx
cmp byte [ebp], 0x33
jne 0x5ac49a
mov dword [esp + 0x74], 1
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4c]
cmp al, byte [edi + 0x61]
jae 0x5ac4a2
mov byte [edi + 0x61], al
jmp 0x5ac4a2
mov dword [esp + 0x74], 0
test byte [ebp + 3], 2
je 0x5ac4cf
mov eax, dword [esp + 0x6c]
lea ecx, [eax + eax*4]
lea esi, [ebx + ecx*8]
call fcn.00562c80
mov esi, dword [esi + 0x10]
cmp esi, 2
mov dword [esp + 0x6c], esi
jl 0x5aee82
mov esi, dword [esp + 0x70]
mov ecx, dword [esp + 0x64]
mov al, byte [ebp + 1]
cmp al, 0xfa
jne 0x5ac4e9
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x68], eax
movzx ecx, word [eax + 8]
movzx edx, word [eax + 6]
add ecx, edx
jmp 0x5ac4f0
cmp al, 0xf2
jne 0x5ac4f4
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x64], ecx
mov eax, dword [ebp + 4]
push 1
push esi
push ecx
push eax
mov eax, edi
call fcn.005a5490
add esp, 0x10
mov dword [esp + 0x7c], eax
test eax, eax
je 0x5ab3be
mov byte [eax + 0x19], 1
mov eax, dword [esp + 0x7c]
or dword [eax + 0x1c], 4
mov ecx, dword [esp + 0x7c]
mov edx, dword [ecx]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x74]
push edx
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x80]
push ecx
push edx
call fcn.00562650
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x8c]
mov dword [eax + 8], ecx
mov dl, byte [ebp + 3]
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax]
and dl, 1
mov byte [ecx + 0x5d], dl
mov eax, dword [esp + 0x8c]
xor edx, edx
add esp, 0x10
cmp byte [ebp + 1], 0xfa
setne dl
add edx, edx
xor edx, dword [eax + 0x1c]
and edx, 2
xor dword [eax + 0x1c], edx
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 4]
push 1
push 0xffffffffffffffff
push eax
push ecx
mov eax, edi
call fcn.005a5490
add esp, 0x10
mov dword [esp + 0x64], eax
test eax, eax
je 0x5ab3be
mov byte [eax + 0x19], 1
movzx edx, byte [ebp + 3]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x64]
push 0x41e
or edx, 5
push edx
push eax
mov eax, dword [eax]
add ecx, 4
push eax
xor edx, edx
call fcn.005a3c50
add esp, 0x10
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5ac687
mov ecx, dword [esp + 0x64]
mov edx, dword [ecx + 4]
push 1
push edx
call fcn.0059f470
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5ac687
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x68], eax
test eax, eax
je 0x5ac663
movzx eax, byte [ebp + 3]
mov edx, dword [esp + 0x64]
or eax, 2
push eax
mov eax, dword [edx + 4]
lea ecx, [esp + 0x5c]
push ecx
call fcn.005a1980
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5ac659
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x64]
mov edx, dword [eax]
mov ecx, dword [esp + 0x68]
mov eax, dword [eax + 4]
push edx
mov edx, dword [esp + 0x5c]
push ecx
push 1
push edx
call fcn.00562650
add esp, 0x10
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x64]
and dword [eax + 0x1c], 0xfffffffd
jmp 0x5ac687
mov eax, dword [esp + 0x64]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
push ecx
push 0
push 1
push 1
call fcn.00562650
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x74]
add esp, 0x10
or dword [eax + 0x1c], 2
mov eax, dword [esp + 0x64]
xor edx, edx
cmp byte [ebp + 3], 8
setne dl
add edx, edx
add edx, edx
xor edx, dword [eax + 0x1c]
and edx, 4
xor dword [eax + 0x1c], edx
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 4]
push 1
push 0xffffffffffffffff
push eax
push ecx
mov eax, edi
call fcn.005a5490
add esp, 0x10
mov dword [esp + 0x64], eax
test eax, eax
je 0x5ab3be
mov edx, dword [ebp + 0x10]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x68]
call fcn.005761b0
add esp, 4
mov dword [esp + 0x10], eax
jmp case.default.0x5a9fc3
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 4]
push 0
push 0xffffffffffffffff
push ecx
push edx
mov eax, edi
call fcn.005a5490
add esp, 0x10
mov dword [esp + 0x64], eax
test eax, eax
je 0x5ab3be
mov byte [eax + 0x19], 1
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x64]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x64]
or dword [eax + 0x1c], 2
movzx edx, byte [ebp + 3]
mov eax, dword [esp + 0x64]
add edx, edx
add edx, edx
add edx, edx
xor edx, dword [eax + 0x1c]
and edx, 8
xor dword [eax + 0x1c], edx
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 4]
mov ecx, dword [edi + 0x44]
mov eax, dword [ecx + eax*4]
mov ebx, edi
call fcn.005a5170
mov edx, dword [ebp + 4]
mov eax, dword [edi + 0x44]
mov dword [eax + edx*4], 0
jmp case.default.0x5a9fc3
mov ecx, dword [ebp + 4]
mov edx, dword [edi + 0x44]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x6c], eax
movzx ecx, byte [ebp]
mov dword [esp + 0x68], ecx
mov byte [eax + 0x19], 0
mov ecx, dword [esp + 0x6c]
test byte [ecx + 0x1c], 2
je 0x5ac862
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
lea esi, [ebx + edx*8]
call fcn.00563af0
mov ecx, esi
call fcn.00562b60
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x88], edx
mov byte [eax + 0x1a], 0
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x5ac7fe
test al, 8
jne 0x5ac7c9
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x18], ebp
jmp case.default.0x5a9fc3
fild qword [esp + 0x84]
fcom qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x5ac7e9
test byte [esp + 0x68], 1
fstp st(0)
jne 0x5ac7fe
dec dword [esp + 0x68]
jmp 0x5ac7fe
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x5ac7fe
test byte [esp + 0x68], 1
je 0x5ac7fe
inc dword [esp + 0x68]
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x84]
lea ecx, [esp + 0x64]
push ecx
mov ecx, dword [esp + 0x70]
push 0
push edx
mov edx, dword [ecx]
push eax
push 0
push edx
call fcn.005a0210
add esp, 0x18
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5aeea4
cmp dword [esp + 0x64], eax
jne 0x5ac8d3
mov eax, dword [esp + 0x6c]
mov byte [eax + 0x1a], 1
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x6c]
mov dword [edx + 0x38], ecx
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x6c]
mov dword [ecx + 0x3c], eax
jmp 0x5ac8d3
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x7c], edx
mov eax, dword [ecx + 8]
mov dword [esp + 0x70], eax
mov al, byte [esp + 0x68]
dec al
and al, 1
mov word [esp + 0x74], dx
mov byte [esp + 0x76], al
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
lea eax, [ebx + edx*8]
mov edx, 0x4000
mov dword [esp + 0x78], eax
test word [eax + 0x1c], dx
je 0x5ac8a2
call fcn.0056ca90
mov ecx, dword [esp + 0x6c]
lea eax, [esp + 0x64]
push eax
mov eax, dword [ecx]
push 0
push 0
push 0
lea edx, [esp + 0x80]
push edx
push eax
call fcn.005a0210
add esp, 0x18
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5aeea4
mov ecx, dword [esp + 0x6c]
mov byte [ecx + 0x1a], al
mov edx, dword [esp + 0x6c]
mov byte [edx + 0x1b], 0
mov eax, dword [esp + 0x6c]
xor esi, esi
mov dword [eax + 0x44], esi
mov ecx, dword [esp + 0x68]
cmp ecx, 0x3b
mov eax, dword [esp + 0x64]
jl 0x5ac92f
cmp eax, esi
jl 0x5ac905
jne 0x5ac8fc
cmp ecx, 0x3c
je 0x5ac905
mov dword [esp + 0x64], esi
jmp case.default.0x5a9fc3
mov edx, dword [esp + 0x6c]
mov eax, dword [edx]
lea ecx, [esp + 0x64]
push ecx
push eax
call fcn.005a43f0
add esp, 8
mov dword [esp + 0x10], eax
cmp eax, esi
jne 0x5aeea4
mov ecx, dword [esp + 0x6c]
mov byte [ecx + 0x1a], 0
jmp 0x5ac977
cmp eax, esi
jg 0x5ac94f
jne 0x5ac93a
cmp ecx, 0x39
je 0x5ac94f
mov edx, dword [esp + 0x6c]
mov eax, dword [edx]
xor ecx, ecx
cmp byte [eax + 0x5b], 1
setne cl
mov dword [esp + 0x64], ecx
jmp 0x5ac977
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax]
lea edx, [esp + 0x64]
push edx
push ecx
call fcn.005a4540
add esp, 8
mov dword [esp + 0x10], eax
cmp eax, esi
jne 0x5aeea4
mov edx, dword [esp + 0x6c]
mov byte [edx + 0x1a], 0
cmp dword [esp + 0x64], 0
je case.default.0x5a9fc3
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x18], ebp
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 4]
mov ecx, dword [edi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x64], eax
mov byte [eax + 0x19], 0
mov ebp, dword [ebp + 8]
lea edx, [ebp + ebp*4]
lea ecx, [ebx + edx*8]
call fcn.00562b60
mov ecx, dword [esp + 0x64]
mov dword [ecx + 0x30], eax
mov eax, dword [esp + 0x64]
mov dword [eax + 0x34], edx
mov ecx, dword [esp + 0x64]
mov byte [ecx + 0x1a], 0
mov edx, dword [esp + 0x64]
mov byte [edx + 0x1b], 1
jmp case.default.0x5a9fc3
mov ecx, dword [edi + 0x44]
mov dword [esp + 0x64], 0
mov eax, dword [ebp + 4]
mov ecx, dword [ecx + eax*4]
mov dword [esp + 0x6c], ecx
cmp dword [ebp + 0x10], 0
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
lea esi, [ebx + edx*8]
jle 0x5aca22
mov eax, dword [ecx + 8]
mov dword [esp + 0x7c], eax
mov dx, word [ebp + 0x10]
lea eax, [esp + 0x7c]
mov word [esp + 0x80], dx
mov dword [esp + 0x84], esi
mov byte [esp + 0x82], 2
mov dword [esp + 0x78], eax
jmp 0x5aca78
mov edi, dword [ecx + 8]
push 0xb7
lea ebx, [esp + 0x78]
lea edx, [esp + 0x8c]
call fcn.0056d7e0
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
je 0x5ab3be
mov ecx, dword [esi + 4]
mov edx, dword [esi + 0x18]
push eax
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [eax + 8]
push edx
push ecx
call fcn.005635c0
mov eax, dword [esp + 0x88]
add esp, 0x10
or byte [eax + 6], 2
mov esi, dword [esp + 0x84]
mov ecx, dword [esp + 0x6c]
cmp byte [ebp], 0x3e
jne 0x5acaad
movzx edx, word [esp + 0x80]
xor eax, eax
mov dword [esp + 0x68], eax
test edx, edx
jle 0x5acaad
lea edi, [eax + eax*4]
test byte [esi + edi*8 + 0x1c], 1
jne 0x5acaa5
inc eax
cmp eax, edx
mov dword [esp + 0x68], eax
jl 0x5aca90
jmp 0x5acaad
mov eax, dword [ebp + 8]
dec eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x78]
mov ecx, dword [ecx]
lea edx, [esp + 0x70]
push edx
push 0
push 0
push 0
push eax
push ecx
call fcn.005a0210
add esp, 0x18
cmp dword [ebp + 0x10], 0
mov esi, eax
mov dword [esp + 0x10], esi
jne 0x5acae1
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x14]
call fcn.0055d830
test esi, esi
jne case.default.0x5a9fc3
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x6c]
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0x6c]
xor ecx, ecx
cmp dword [esp + 0x70], ecx
mov dl, 1
sete cl
sub dl, cl
mov dword [esp + 0x64], ecx
mov byte [eax + 0x19], dl
mov ecx, dword [esp + 0x6c]
mov byte [ecx + 0x1b], 0
mov edx, dword [esp + 0x6c]
mov dword [edx + 0x44], esi
cmp byte [ebp], 0x40
je 0x5ac977
cmp dword [esp + 0x64], esi
jne case.default.0x5a9fc3
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x18], ebp
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 4]
mov edx, dword [edi + 0x44]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x64], eax
mov eax, dword [eax]
xor esi, esi
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], esi
mov ecx, dword [ebx + 0x10]
lea edi, [esp + 0x6c]
push edi
push esi
mov dword [esp + 0x7c], ecx
mov edx, dword [ebx + 0x14]
push edx
push ecx
push esi
push eax
mov dword [esp + 0x90], edx
call fcn.005a0210
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x28], eax
mov eax, dword [ebx + 0x10]
mov dword [ecx + 0x38], eax
mov edx, dword [ebx + 0x14]
mov eax, dword [esp + 0x7c]
mov dword [eax + 0x3c], edx
mov edx, dword [esp + 0x7c]
add esp, 0x18
cmp dword [esp + 0x6c], esi
sete cl
mov byte [edx + 0x1a], cl
mov eax, dword [esp + 0x64]
mov byte [eax + 0x19], 0
mov ecx, dword [esp + 0x64]
mov dword [ecx + 0x44], esi
mov edx, dword [esp + 0x64]
mov byte [edx + 0x1b], 0
mov eax, dword [esp + 0x6c]
cmp eax, esi
je 0x5acbce
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x18], ebp
mov ecx, dword [esp + 0x64]
mov dword [ecx + 0xc], eax
jmp case.default.0x5a9fc3
mov edx, dword [ebp + 4]
mov eax, dword [edi + 0x44]
mov eax, dword [eax + edx*4]
mov ecx, dword [eax + 0x28]
mov dword [esi + 0x10], ecx
mov edx, dword [eax + 0x2c]
mov dword [esi + 0x14], edx
mov eax, dword [ebp + 4]
mov ecx, dword [edi + 0x44]
mov eax, dword [ecx + eax*4]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
jmp case.default.0x5a9fc3
mov eax, dword [edi + 0x44]
xor ecx, ecx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x70], ecx
mov edx, dword [ebp + 4]
mov edx, dword [eax + edx*4]
mov dword [esp + 0x6c], edx
mov eax, dword [edx]
cmp eax, ecx
je 0x5ace93
test byte [edx + 0x1c], 1
jne 0x5acda2
mov ecx, dword [eax + 0x20]
mov dword [esp + 0x64], ecx
mov eax, dword [eax + 0x24]
mov esi, ecx
or esi, eax
mov dword [esp + 0x68], eax
jne 0x5accbb
mov esi, dword [edx]
lea edi, [esp + 0x70]
call fcn.005a01d0
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5aeea4
cmp dword [esp + 0x70], eax
je 0x5acc6a
lea ecx, [eax + 1]
jmp 0x5accab
mov ecx, dword [esp + 0x6c]
mov eax, dword [ecx]
lea edi, [esp + 0x64]
call fcn.00562720
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x68]
cmp eax, 0x7fffffff
jl 0x5acca5
jg 0x5acc93
cmp ecx, 0xffffffff
jb 0x5acca5
mov eax, dword [esp + 0x6c]
or dword [eax + 0x1c], 1
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x64]
jmp 0x5accb3
add ecx, 1
adc eax, 0
mov dword [esp + 0x68], eax
mov dword [esp + 0x64], ecx
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x28]
mov edx, dword [ebp + 0xc]
test edx, edx
je 0x5acd6a
mov ecx, dword [edi + 0xc0]
test ecx, ecx
je 0x5accfc
mov dword [esp + 0x7c], ecx
mov eax, dword [ecx + 4]
test eax, eax
je 0x5acced
jmp 0x5acce0
mov ecx, eax
mov dword [esp + 0x7c], ecx
mov eax, dword [ecx + 4]
test eax, eax
jne 0x5acce0
mov ebp, dword [ebp + 0xc]
mov eax, dword [ecx + 0xc]
lea edx, [ebp + ebp*4]
lea esi, [eax + edx*8]
jmp 0x5acd02
lea ecx, [edx + edx*4]
lea esi, [ebx + ecx*8]
mov dword [esp + 0x78], esi
call fcn.00562c80
mov edx, dword [esp + 0x78]
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0x14]
add edx, 0x10
cmp eax, 0xffffffff
jne 0x5acd29
cmp ecx, 0x7fffffff
je 0x5aee92
mov esi, dword [esp + 0x6c]
test byte [esi + 0x1c], 1
jne 0x5aee92
mov esi, dword [esp + 0x68]
add eax, 1
adc ecx, 0
cmp esi, ecx
jg 0x5acd55
jl 0x5acd4d
cmp dword [esp + 0x64], eax
jae 0x5acd55
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ecx
mov eax, dword [esp + 0x64]
mov dword [edx], eax
mov ecx, dword [esp + 0x68]
mov dword [edx + 4], ecx
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x64]
cmp eax, 0x7fffffff
jg 0x5acd80
jl 0x5acd78
cmp ecx, 0xffffffff
jae 0x5acd80
add ecx, 1
adc eax, 0
jmp 0x5acd84
xor ecx, ecx
xor eax, eax
mov edx, dword [esp + 0x6c]
mov esi, dword [edx]
push eax
push ecx
call fcn.005626a0
mov edx, dword [esp + 0x74]
add esp, 8
test byte [edx + 0x1c], 1
je 0x5ace78
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
and eax, 0x3fffffff
add ecx, 1
lea esi, [esp + 0x70]
push esi
adc eax, 0
push 0
push eax
push ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], eax
mov dword [esp + 0x84], 0
mov eax, dword [edx]
push 0
push eax
call fcn.005a0210
add esp, 0x18
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5ace74
lea ebx, [ebx]
mov ecx, dword [esp + 0x70]
test ecx, ecx
jne 0x5ace65
mov eax, dword [esp + 0x74]
inc eax
cmp eax, 0x64
mov dword [esp + 0x74], eax
jge 0x5ace65
lea ecx, [esp + 0x64]
push ecx
push 8
call fcn.00569b30
mov eax, dword [esp + 0x6c]
add esp, 8
cmp dword [esp + 0x74], 5
jge 0x5ace29
and eax, 0xffffff
xor ecx, ecx
jmp 0x5ace33
mov ecx, dword [esp + 0x68]
and ecx, 0x3fffffff
add eax, 1
lea edx, [esp + 0x70]
push edx
adc ecx, 0
push 0
push ecx
push eax
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x78], ecx
mov ecx, dword [eax]
push 0
push ecx
call fcn.005a0210
add esp, 0x18
mov dword [esp + 0x10], eax
test eax, eax
je 0x5acdf0
jmp 0x5ace74
cmp dword [esp + 0x10], 0
jne 0x5ace74
test ecx, ecx
je 0x5aee9c
mov edx, dword [esp + 0x6c]
mov esi, dword [esp + 0x1c]
mov byte [edx + 0x1a], 0
mov edx, dword [esp + 0x6c]
mov byte [edx + 0x1b], 0
mov eax, dword [esp + 0x6c]
mov dword [eax + 0x44], 0
mov ecx, dword [esp + 0x64]
mov dword [esi + 0x10], ecx
mov edx, dword [esp + 0x68]
mov dword [esi + 0x14], edx
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [edi + 0x44]
mov dword [esp + 0x64], ecx
mov edx, dword [ebp + 4]
mov edx, dword [eax + edx*4]
mov dword [esp + 0x74], edx
cmp byte [ebp], 0x44
mov eax, dword [ebp + 0xc]
jne 0x5acedf
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
mov dword [esp + 0x68], ebx
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x6c], eax
mov edx, dword [ebx + 0x14]
jmp 0x5acee4
cdq
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], edx
test byte [ebp + 3], 1
je 0x5acef1
inc dword [edi + 0x68]
test byte [ebp + 3], 2
je 0x5acf11
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x20], eax
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x70]
mov dword [ecx + 0x24], edx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x38], eax
xor eax, eax
test byte [ecx + 0x1c], 1
je 0x5acf27
mov dword [ecx + 4], eax
mov ecx, dword [esp + 0x64]
mov dword [ecx + 0x18], eax
mov ecx, dword [esp + 0x64]
test byte [ebp + 3], 0x10
je 0x5acf3a
mov edx, dword [esp + 0x74]
mov edx, dword [edx + 0xc]
mov dword [esp + 0x7c], edx
jmp 0x5acf3e
mov dword [esp + 0x7c], eax
mov edx, 0x4000
test word [ecx + 0x1c], dx
je 0x5acf4c
mov eax, dword [ecx + 0x10]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x78], eax
mov esi, dword [ecx]
push 0
push 0
call fcn.005626a0
movzx eax, byte [ebp + 3]
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0x80]
push edx
shr eax, 3
and eax, 1
push eax
mov eax, dword [esp + 0x74]
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 4]
push ecx
mov ecx, dword [esp + 0x84]
push edx
mov edx, dword [esp + 0x84]
push eax
mov eax, dword [esp + 0x90]
mov esi, dword [eax]
push ecx
push edx
push 0
call fcn.005a46e0
mov ecx, dword [esp + 0x9c]
mov byte [ecx + 0x1a], 0
mov edx, dword [esp + 0x9c]
mov byte [edx + 0x1b], 0
mov ecx, dword [esp + 0x9c]
add esp, 0x28
mov dword [esp + 0x10], eax
mov dword [ecx + 0x44], 0
test eax, eax
jne case.default.0x5a9fc3
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0xc8], eax
je case.default.0x5a9fc3
cmp dword [ebp + 0x10], eax
je case.default.0x5a9fc3
mov edx, dword [esp + 0x74]
movsx eax, byte [edx + 0x18]
mov edx, dword [ecx + 0x10]
mov edi, dword [esp + 0x70]
shl eax, 4
mov edx, dword [eax + edx]
mov dword [esp + 0x80], edx
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x84], esi
mov al, byte [ebp + 3]
and al, 4
movzx eax, al
push edi
mov edi, dword [esp + 0x70]
neg eax
sbb eax, eax
push edi
and eax, 5
add eax, 0x12
push esi
push edx
mov dword [esp + 0x98], eax
mov edx, dword [ecx + 0xc4]
push eax
mov eax, dword [ecx + 0xc8]
push edx
call eax
add esp, 0x18
jmp case.default.0x5a9fc3
mov ecx, dword [ebp + 4]
mov edx, dword [edi + 0x44]
mov esi, dword [edx + ecx*4]
mov dword [esp + 0x6c], esi
mov eax, dword [esi + 0x38]
mov dword [esp + 0x64], eax
mov ecx, dword [esi + 0x3c]
mov dword [esp + 0x68], ecx
call fcn.005a51d0
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5aeea4
mov edx, dword [esp + 0x6c]
mov esi, dword [edx]
push eax
push eax
call fcn.005626a0
mov eax, dword [esp + 0x74]
mov ecx, dword [eax]
push ecx
call fcn.005a4900
mov edx, dword [esp + 0x78]
add esp, 0xc
mov dword [esp + 0x10], eax
mov dword [edx + 0x44], 0
test eax, eax
jne 0x5ad0f2
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0xc8]
test edx, edx
je 0x5ad0f2
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x5ad0f2
mov esi, dword [esp + 0x6c]
test byte [esi + 0x1c], 2
je 0x5ad0f2
mov ebx, dword [esp + 0x68]
push ebx
mov ebx, dword [esp + 0x68]
push ebx
push ecx
movsx ecx, byte [esi + 0x18]
mov esi, dword [eax + 0x10]
mov eax, dword [eax + 0xc4]
shl ecx, 4
mov ecx, dword [ecx + esi]
push ecx
push 9
push eax
call edx
add esp, 0x18
test byte [ebp + 8], 1
je case.default.0x5a9fc3
inc dword [edi + 0x68]
jmp case.default.0x5a9fc3
mov eax, dword [edi + 0x68]
mov ecx, dword [esp + 0x14]
add dword [ecx + 0x54], eax
mov dword [ecx + 0x50], eax
mov dword [edi + 0x68], 0
jmp case.default.0x5a9fc3
mov ecx, dword [ebp + 4]
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0x44]
mov eax, dword [eax + ecx*4]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x64], eax
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x10]
lea ecx, [ecx + ecx*4]
lea edi, [edx + ecx*8]
lea ecx, [esp + 0x68]
push ecx
mov dword [esp + 0x70], ebx
call fcn.00588280
add esp, 4
cmp dword [esp + 0x68], 0
mov dword [esp + 0x10], eax
je case.default.0x5a9fc3
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x18], ebp
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 8]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 4]
lea ecx, [ebx + edx*8]
mov edx, dword [edi + 0x44]
mov eax, dword [edx + eax*4]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x64], eax
call fcn.0056e260
mov dword [esp + 0x10], eax
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 4]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [edi + 0x44]
mov esi, dword [eax + edx*4]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x64], esi
mov ecx, dword [esi]
mov dword [esp + 0x68], ecx
call fcn.005a51d0
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5aeea4
mov edx, dword [esp + 0x64]
test byte [edx + 0x1c], 2
jne 0x5ad205
mov eax, dword [esp + 0x68]
lea edi, [esp + 0x74]
call fcn.00562720
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x58]
mov ecx, dword [esp + 0x78]
cdq
cmp ecx, edx
jg 0x5aaa7f
mov ecx, dword [esp + 0x74]
jl 0x5ad1fd
cmp ecx, eax
ja 0x5aaa7f
mov eax, ecx
mov dword [esp + 0x6c], eax
jmp 0x5ad227
mov esi, dword [esp + 0x68]
lea edx, [esp + 0x6c]
push edx
call fcn.00562750
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x18]
add esp, 4
cmp eax, dword [ecx + 0x58]
ja 0x5aaa7f
mov edi, dword [esp + 0x1c]
push 0
call fcn.0056c980
add esp, 4
test eax, eax
jne 0x5ab3be
mov edx, dword [esp + 0x6c]
mov esi, edi
mov ax, word [esi + 0x1c]
mov ecx, 0xbe10
and ax, cx
or ax, 0x10
mov dword [esi + 0x18], edx
mov word [esi + 0x1c], ax
mov edx, dword [esp + 0x64]
test byte [edx + 0x1c], 2
mov ecx, dword [esp + 0x68]
jne 0x5ad28b
mov eax, dword [esi + 4]
push 0
push eax
mov eax, dword [esp + 0x74]
push eax
push 0
push ecx
call fcn.0059ad80
add esp, 0x14
mov dword [esp + 0x10], eax
mov byte [esi + 0x1f], 1
jmp case.default.0x5a9fc3
mov edx, dword [esi + 4]
mov eax, dword [esp + 0x6c]
push edx
push eax
push 0
push ecx
call fcn.005a43b0
add esp, 0x10
mov dword [esp + 0x10], eax
mov byte [esi + 0x1f], 1
jmp case.default.0x5a9fc3
mov edx, dword [ebp + 4]
mov eax, dword [edi + 0x44]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x64], eax
cmp byte [eax + 0x19], 0
je 0x5ad2cd
mov ecx, 1
mov word [esi + 0x1c], cx
jmp case.default.0x5a9fc3
cmp byte [eax + 0x1b], 0
je 0x5ad2e3
mov edx, dword [eax + 0x30]
mov dword [esp + 0x6c], edx
mov eax, dword [eax + 0x34]
mov dword [esp + 0x70], eax
jmp 0x5ad356
cmp dword [eax + 0x20], 0
je 0x5ad31a
mov ecx, dword [eax + 0x20]
mov ecx, dword [ecx]
mov dword [esp + 0x74], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x78], ecx
mov eax, dword [eax + 0x20]
mov ecx, dword [ecx + 0x30]
lea edx, [esp + 0x6c]
push edx
push eax
call ecx
mov edx, dword [esp + 0x7c]
push edx
push edi
mov dword [esp + 0x20], eax
call fcn.0056d830
add esp, 0x10
jmp 0x5ad356
mov esi, eax
call fcn.005a51d0
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5aeea8
mov eax, dword [esp + 0x64]
cmp byte [eax + 0x1a], 0
je 0x5ad347
mov ecx, dword [eax + 0x38]
mov dword [esp + 0x6c], ecx
mov edx, dword [eax + 0x3c]
mov dword [esp + 0x70], edx
jmp 0x5ad356
mov eax, dword [eax]
lea edi, [esp + 0x6c]
call fcn.00562720
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x10], ecx
mov edx, dword [esp + 0x70]
mov dword [eax + 0x14], edx
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 4]
mov ecx, dword [edi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x64], eax
mov byte [eax + 0x19], 1
mov edx, dword [esp + 0x64]
mov byte [edx + 0x1a], 0
mov eax, dword [esp + 0x64]
mov dword [eax + 0x44], 0
mov ecx, dword [esp + 0x64]
mov esi, dword [ecx]
test esi, esi
je case.default.0x5a9fc3
call fcn.00561e80
jmp case.default.0x5a9fc3
mov edx, dword [ebp + 4]
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x44]
mov eax, dword [ecx + edx*4]
mov dword [esp + 0x64], eax
mov eax, dword [eax]
xor ebx, ebx
lea edi, [esp + 0x6c]
mov esi, eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ebx
call fcn.005a01d0
mov edx, dword [esp + 0x64]
mov dword [esp + 0x10], eax
mov al, byte [esp + 0x6c]
mov byte [edx + 0x19], al
mov ecx, dword [esp + 0x64]
mov byte [ecx + 0x1b], bl
mov edx, dword [esp + 0x64]
mov byte [edx + 0x1a], bl
mov eax, dword [esp + 0x64]
mov dword [eax + 0x44], ebx
mov ebp, dword [ebp + 8]
cmp ebp, ebx
jle case.default.0x5a9fc3
cmp dword [esp + 0x6c], ebx
je case.default.0x5a9fc3
dec ebp
mov dword [esp + 0x18], ebp
jmp case.default.0x5a9fc3
inc dword [edi + 0x80]
mov ecx, dword [ebp + 4]
mov edx, dword [edi + 0x44]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x6c], 1
cmp dword [ecx + 0x40], 0
je 0x5ad44c
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x6c]
push eax
call fcn.00592ff0
add esp, 4
mov dword [esp + 0x10], eax
jmp 0x5ad495
mov eax, dword [ecx]
mov dword [esp + 0x68], eax
mov esi, eax
call fcn.0059fef0
xor edi, edi
cmp eax, edi
jne 0x5ad47a
cmp byte [esi + 0x5b], 0
jne 0x5ad46f
mov dword [esp + 0x6c], 1
jmp 0x5ad47a
mov eax, esi
mov dword [esp + 0x6c], edi
call fcn.005a00c0
mov ecx, dword [esp + 0x64]
mov byte [ecx + 0x1b], 0
mov edx, dword [esp + 0x64]
mov dword [edx + 0x44], edi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x64]
mov byte [eax + 0x1a], 0
mov cl, byte [esp + 0x6c]
mov edx, dword [esp + 0x64]
mov byte [edx + 0x19], cl
cmp dword [esp + 0x6c], 0
je case.default.0x5a9fc3
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x18], ebp
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 4]
mov ecx, dword [edi + 0x44]
mov eax, dword [ecx + eax*4]
lea edx, [esp + 0x68]
push edx
mov dword [esp + 0x68], eax
push eax
mov eax, dword [esp + 0x1c]
call fcn.005881d0
jmp 0x5ad500
mov eax, dword [ebp + 4]
mov ecx, dword [edi + 0x44]
cmp dword [ecx + eax*4], 0
je case.default.0x5a9fc3
mov edx, dword [ebp + 4]
mov eax, dword [edi + 0x44]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x64], eax
mov edx, dword [eax]
mov eax, dword [ebp + 0x10]
lea ecx, [esp + 0x68]
push ecx
push edx
call eax
mov ecx, dword [esp + 0x6c]
add esp, 8
mov dword [ecx + 0x44], 0
cmp dword [esp + 0x68], 0
mov dword [esp + 0x10], eax
jne 0x5ad542
mov edx, dword [esp + 0x64]
mov byte [edx + 0x19], 0
mov eax, dword [ebp + 8]
dec eax
mov dword [esp + 0x18], eax
movzx eax, byte [ebp + 3]
inc dword [edi + eax*4 + 0x78]
mov edx, dword [esp + 0x64]
lea eax, [edi + eax*4 + 0x78]
mov byte [edx + 0x1a], 0
jmp 0x5ae969
mov ecx, dword [esp + 0x64]
mov byte [ecx + 0x19], 1
mov edx, dword [esp + 0x64]
mov byte [edx + 0x1a], 0
jmp 0x5ae969
mov eax, dword [ebp + 4]
mov ecx, dword [edi + 0x44]
mov ecx, dword [ecx + eax*4]
mov dword [esp + 0x64], ecx
mov eax, dword [ebp + 8]
lea edx, [eax + eax*4]
mov eax, dword [ecx]
mov dword [esp + 0x68], eax
test byte [ebp + 3], 1
lea ebx, [ebx + edx*8]
je 0x5ad57c
inc dword [edi + 0x68]
mov edx, 0x4000
test word [ebx + 0x1c], dx
je 0x5ad59e
mov eax, ebx
call fcn.0056ca90
mov dword [esp + 0x10], eax
test eax, eax
jne case.default.0x5a9fc3
mov ecx, dword [esp + 0x64]
cmp dword [ecx + 0x40], 0
je 0x5ad5bc
mov eax, dword [esp + 0x14]
push ebx
push ecx
push eax
call fcn.00588080
add esp, 0xc
mov dword [esp + 0x10], eax
jmp case.default.0x5a9fc3
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x6c], eax
mov ebx, dword [ebx + 4]
mov dword [esp + 0x70], ebx
test byte [ebp + 3], 0x10
je 0x5ad5d5
mov ecx, dword [ecx + 0xc]
jmp 0x5ad5d7
xor ecx, ecx
mov esi, dword [esp + 0x68]
push ecx
mov ecx, dword [ebp + 0xc]
push ecx
push 0
push 0
cdq
push 0x60c81c
push edx
push eax
push ebx
call fcn.005a46e0
mov edx, dword [esp + 0x84]
add esp, 0x20
mov dword [esp + 0x10], eax
mov dword [edx + 0x44], 0
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 4]
mov ecx, dword [edi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x64], eax
mov ecx, dword [eax]
mov dword [esp + 0x68], ecx
mov edx, dword [eax + 8]
mov dword [esp + 0x70], edx
mov ax, word [ebp + 0xc]
mov word [esp + 0x74], ax
mov byte [esp + 0x76], 2
mov ebp, dword [ebp + 8]
lea edx, [ebp + ebp*4]
lea eax, [ebx + edx*8]
lea edx, [esp + 0x6c]
push edx
push 0
push 0
mov dword [esp + 0x84], eax
push 0
lea eax, [esp + 0x80]
push eax
push ecx
call fcn.005a0210
add esp, 0x18
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5ad680
cmp dword [esp + 0x6c], eax
jne 0x5ad680
mov ecx, dword [esp + 0x68]
push ecx
call fcn.005a4900
add esp, 4
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x64]
mov dword [edx + 0x44], 0
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 4]
mov ecx, dword [edi + 0x44]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x68], eax
mov edx, dword [eax]
mov eax, 1
mov dword [esp + 0x64], edx
mov word [ecx + 0x1c], ax
mov esi, dword [esp + 0x68]
call fcn.005a51d0
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5aeea8
mov edx, dword [esp + 0x68]
cmp byte [edx + 0x19], al
jne case.default.0x5a9fc3
lea eax, [esp + 0x6c]
push eax
mov eax, dword [esp + 0x68]
call fcn.005a5280
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5aeea8
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x10], ecx
mov edx, dword [esp + 0x70]
mov ecx, 4
mov dword [eax + 0x14], edx
mov word [eax + 0x1c], cx
jmp case.default.0x5a9fc3
mov edx, dword [ebp + 4]
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x44]
mov edi, dword [ecx + edx*4]
mov dword [esp + 0x64], edi
mov edx, dword [edi + 8]
mov dword [esp + 0x6c], edx
mov ax, word [ebp + 0x10]
mov word [esp + 0x70], ax
cmp byte [ebp + 3], 0
setne cl
add cl, 2
mov byte [esp + 0x72], cl
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x28]
lea ecx, [eax + edx*8]
lea edx, [esp + 0x68]
push edx
lea eax, [esp + 0x70]
push eax
mov dword [esp + 0x7c], ecx
call fcn.005a53c0
add esp, 8
cmp byte [ebp], 0x6c
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x68]
jne 0x5ad773
neg eax
jmp 0x5ad774
inc eax
mov dword [esp + 0x68], eax
test eax, eax
jle case.default.0x5a9fc3
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x18], ebp
jmp case.default.0x5a9fc3
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x68], 0
mov eax, dword [ecx + 4]
mov dword [esp + 0x6c], eax
mov ebx, 1
test eax, eax
je 0x5ad7dd
mov edx, 0xbdf20da3
mov edi, edi
cmp dword [eax + 0x34], edx
jne 0x5ad7d2
mov ecx, dword [eax + 0x64]
test ecx, 0x200
je 0x5ad7d2
and cl, 0xc
cmp cl, 8
jae 0x5ad7d2
cmp dword [eax + 0x58], 0
jl 0x5ad7d2
add dword [esp + 0x68], ebx
mov eax, dword [eax + 0x40]
mov dword [esp + 0x6c], eax
test eax, eax
jne 0x5ad7b0
mov edx, ebx
mov word [esi + 0x1c], dx
cmp dword [esp + 0x68], ebx
jle 0x5ad7fa
mov dword [esp + 0x10], 6
mov byte [edi + 0x60], 2
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x70], eax
mov edx, dword [ebp + 4]
lea ecx, [esp + 0x64]
push ecx
mov ecx, dword [esp + 0x18]
push edx
mov edx, dword [ecx + 0x10]
shl eax, 4
mov eax, dword [eax + edx + 4]
call fcn.005a1e20
mov ecx, eax
mov eax, 4
mov word [esi + 0x1c], ax
mov eax, dword [esp + 0x6c]
cdq
add esp, 8
mov dword [esp + 0x10], ecx
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
test ecx, ecx
jne case.default.0x5a9fc3
mov esi, dword [esp + 0x64]
test esi, esi
je case.default.0x5a9fc3
mov edi, dword [ebp + 4]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x14]
call fcn.00565440
mov al, byte [esp + 0x70]
inc al
mov byte [esp + 0x33], al
jmp case.default.0x5a9fc3
mov dword [esp + 0x64], 0
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 4]
neg ecx
sbb ecx, ecx
lea edx, [esp + 0x64]
and ecx, edx
mov edx, dword [esp + 0x14]
push ecx
mov ecx, dword [ebp + 8]
push eax
mov eax, dword [edx + 0x10]
shl ecx, 4
mov ecx, dword [ecx + eax + 4]
push ecx
call fcn.005a1b90
add esp, 0xc
cmp dword [ebp + 0xc], 0
mov dword [esp + 0x10], eax
je case.default.0x5a9fc3
mov eax, dword [esp + 0x64]
add dword [edi + 0x68], eax
mov ebp, dword [ebp + 0xc]
test ebp, ebp
jle case.default.0x5a9fc3
lea edx, [ebp + ebp*4]
lea ecx, [ebx + edx*8 + 0x10]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp case.default.0x5a9fc3
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x64], 0
mov eax, dword [ebp + 4]
shl eax, 4
add eax, dword [ecx + 0x10]
xor ecx, ecx
mov dword [esp + 0x6c], eax
cmp byte [ebp], 0x71
lea edx, [esp + 0x64]
setne cl
inc ecx
push ecx
mov dword [esp + 0x6c], ecx
mov eax, dword [eax + 4]
push edx
call fcn.005a1980
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x6c]
cdq
add esp, 8
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 4]
mov dword [esp + 0x64], eax
mov ecx, str.sqlite_temp_master
cmp eax, 1
je 0x5ad936
mov ecx, str.sqlite_master
mov esi, dword [esp + 0x14]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x70], esi
mov edx, dword [ebp + 4]
mov dword [esp + 0x78], edx
add edi, 0x38
mov dword [esp + 0x74], edi
mov edx, dword [ebp + 0x10]
push edx
push ecx
mov ecx, dword [esi + 0x10]
shl eax, 4
mov edx, dword [eax + ecx]
push edx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
call fcn.005736c0
add esp, 0x10
mov dword [esp + 0x6c], eax
test eax, eax
jne 0x5ad97e
mov dword [esp + 0x10], 7
jmp 0x5ad9d4
push 0
lea eax, [esp + 0x74]
push eax
mov byte [esi + 0x89], 1
mov ecx, dword [esp + 0x74]
push fcn.005a9c50
push ecx
push esi
mov dword [esp + 0x90], 0
call fcn.005af760
mov edi, eax
add esp, 0x14
mov dword [esp + 0x10], edi
test edi, edi
jne 0x5ad9be
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x10], edx
mov edi, edx
mov eax, dword [esp + 0x6c]
mov ecx, esi
call fcn.0055d830
mov byte [esi + 0x89], 0
test edi, edi
je 0x5ad9db
mov eax, esi
call fcn.00580d30
cmp dword [esp + 0x10], 7
je 0x5ab3be
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x14]
call fcn.00577050
mov dword [esp + 0x10], eax
jmp case.default.0x5a9fc3
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 4]
call fcn.005777e0
add esp, 4
jmp case.default.0x5a9fc3
mov ecx, dword [esp + 0x14]
mov eax, dword [ebp + 4]
push ecx
mov ecx, dword [ebp + 0x10]
call fcn.0056f490
add esp, 4
jmp case.default.0x5a9fc3
mov edx, dword [ebp + 0x10]
mov eax, dword [esp + 0x14]
push edx
push eax
mov eax, dword [ebp + 4]
call fcn.005708e0
add esp, 8
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 8]
mov esi, dword [esp + 0x14]
lea ecx, [eax*4 + 4]
mov dword [esp + 0x64], eax
call fcn.00569810
mov dword [esp + 0x68], eax
test eax, eax
je 0x5ab3be
mov ecx, dword [ebp + 0xc]
mov edx, dword [esp + 0x28]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
mov dword [esp + 0x78], ecx
mov ecx, dword [ebp + 4]
lea ecx, [ecx + ecx*4]
lea esi, [edx + ecx*8]
xor ecx, ecx
cmp dword [esp + 0x64], ecx
mov dword [esp + 0x6c], ecx
jle 0x5adabb
lea edx, [ecx + ecx*4]
lea ecx, [esi + edx*8]
call fcn.00562b60
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
mov dword [edx + ecx*4], eax
mov ecx, dword [esp + 0x6c]
inc ecx
cmp ecx, dword [esp + 0x64]
mov dword [esp + 0x6c], ecx
jl 0x5ada92
mov eax, dword [esp + 0x68]
mov edi, dword [esp + 0x14]
mov dword [eax + ecx*4], 0
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + 0x10]
mov ecx, dword [esp + 0x68]
lea eax, [esp + 0x70]
push eax
mov eax, dword [esp + 0x68]
push edx
movzx edx, byte [ebp + 3]
push eax
mov eax, dword [edi + 0x10]
shl edx, 4
mov edx, dword [edx + eax + 4]
call fcn.0059d220
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x74]
add esp, 0xc
mov ecx, edi
call fcn.0055d830
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x78]
cdq
add ecx, 0x10
sub dword [ecx], eax
sbb dword [ecx + 4], edx
call fcn.00562d90
cmp dword [esp + 0x70], 0
je 0x5adb41
mov eax, dword [esp + 0x74]
test eax, eax
je 0x5ab3be
push 1
push 0xffffffffffffffff
push eax
mov eax, fcn.0055d790
mov ecx, esi
call fcn.0057e9c0
add esp, 0xc
movzx ecx, byte [esp + 0x24]
mov eax, esi
call fcn.0057e900
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 4]
mov ebp, dword [ebp + 8]
lea ecx, [eax + eax*4]
lea edx, [ebp + ebp*4]
lea edi, [ebx + ecx*8]
lea esi, [ebx + edx*8]
mov bl, 0x20
test byte [edi + 0x1c], bl
jne 0x5adb7a
call fcn.0056cd00
test byte [edi + 0x1c], bl
je 0x5ab3be
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
mov edi, dword [edi + 0x10]
push eax
push ecx
call fcn.0056a990
add esp, 8
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
test byte [ebx + edx*8 + 0x1c], 0x20
lea eax, [ebx + edx*8]
mov dword [esp + 0x34], eax
je 0x5adbd7
mov eax, dword [eax + 0x10]
lea esi, [esp + 0x64]
call fcn.005607d0
test eax, eax
je 0x5adbd7
mov ecx, dword [esp + 0x68]
mov ebp, dword [ebp + 0xc]
mov edx, dword [esp + 0x64]
push ecx
lea eax, [ebp + ebp*4]
push edx
lea esi, [ebx + eax*8]
call fcn.0056cc40
add esp, 8
jmp 0x5ae969
mov esi, dword [esp + 0x34]
call fcn.00562d90
jmp case.0x5a9fc3.16
mov eax, dword [ebp + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0x10]
lea edi, [ebx + ecx*8]
lea esi, [ebx + edx*8]
mov bl, 0x20
mov dword [esp + 0x64], eax
test byte [edi + 0x1c], bl
jne 0x5adc17
call fcn.0056cd00
test byte [edi + 0x1c], bl
je 0x5ab3be
mov eax, dword [esp + 0x64]
test eax, eax
je 0x5adb7a
jl 0x5adc26
and eax, 0xf
jmp 0x5adc2b
mov eax, 0xff
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x10]
push ecx
push edx
push eax
mov eax, dword [edi + 0x10]
call fcn.0056aa20
add esp, 0xc
mov dword [esp + 0x68], eax
test eax, eax
je 0x5adc54
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x18], ebp
jmp case.default.0x5a9fc3
mov eax, dword [esp + 0x64]
test eax, eax
jl case.default.0x5a9fc3
jmp 0x5adb7a
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x7c], ecx
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
lea ebx, [ebx + edx*8]
mov dword [esp + 0x6c], ebx
cmp byte [ebp + 3], 0
je 0x5adcab
mov eax, dword [edi + 0xc0]
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x80], edx
mov dword [esp + 0x78], eax
test eax, eax
je 0x5adcab
cmp dword [eax + 0x18], edx
je case.default.0x5a9fc3
mov eax, dword [eax + 4]
mov dword [esp + 0x78], eax
test eax, eax
jne 0x5adc97
mov eax, dword [edi + 0xc8]
mov edx, dword [esp + 0x14]
cmp eax, dword [edx + 0x80]
jl 0x5adce0
mov edi, dword [esp + 0x20]
push str.too_many_levels_of_trigger_recursion
add edi, 0x38
mov eax, edx
mov dword [esp + 0x14], 1
call fcn.0057c990
add esp, 4
jmp case.default.0x5a9fc3
test byte [ebx + 0x1c], 0x40
jne 0x5ade26
mov eax, dword [ecx + 8]
add eax, dword [ecx + 0xc]
mov dword [esp + 0x64], eax
mov edx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
lea eax, [eax + eax*4]
lea eax, [edx + eax*2]
lea edi, [ecx + eax*4 + 0x48]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x68], edi
call fcn.005726d0
mov dword [esp + 0x78], eax
test eax, eax
je 0x5ab3be
mov edx, dword [esp + 0x6c]
push edx
call fcn.0056cbb0
mov ecx, dword [esp + 0x70]
mov eax, 0x40
mov word [ecx + 0x1c], ax
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x70]
mov dword [eax + 0x10], edx
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x24]
mov dword [ecx], eax
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x68]
mov dword [edx + 0x3c], ecx
mov edx, dword [esp + 0x80]
mov ecx, dword [edx + 0xc]
mov edx, dword [esp + 0x7c]
mov dword [edx + 0x40], ecx
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x1c]
mov dword [ecx + 0x2c], edx
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0x7c]
mov dword [edx + 0xc], ecx
mov ecx, dword [eax + 0x18]
mov edx, dword [esp + 0x7c]
mov dword [edx + 0x34], ecx
mov ecx, dword [eax + 0x44]
mov edx, dword [esp + 0x7c]
mov dword [edx + 0x14], ecx
mov ecx, dword [eax + 0x30]
mov edx, dword [esp + 0x7c]
mov dword [edx + 0x28], ecx
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x7c]
mov dword [edx + 8], ecx
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 0x7c]
mov dword [edx + 0x30], ecx
mov ecx, dword [esp + 0x80]
mov edx, dword [ecx + 0x14]
mov ecx, dword [esp + 0x7c]
mov dword [ecx + 0x18], edx
mov edx, dword [eax + 0xd8]
mov ecx, dword [esp + 0x7c]
mov dword [ecx + 0x10], edx
mov edx, dword [eax + 0xd4]
mov ecx, dword [esp + 0x7c]
mov dword [ecx + 0x38], edx
mov ecx, dword [esp + 0x7c]
mov edx, dword [ecx + 0x3c]
lea edx, [edx + edx*4]
lea esi, [ecx + edx*8 + 0x48]
lea edx, [ecx + 0x48]
add esp, 4
mov dword [esp + 0x74], esi
mov dword [esp + 0x70], edx
cmp edx, esi
je 0x5ade31
mov ecx, dword [esp + 0x14]
jmp 0x5ade00
mov esi, 0x80
mov word [edx + 0x1c], si
mov edx, dword [esp + 0x70]
mov dword [edx], ecx
mov edx, dword [esp + 0x70]
add edx, 0x28
mov dword [esp + 0x70], edx
cmp edx, dword [esp + 0x74]
jne 0x5ade00
mov ecx, dword [esp + 0x78]
jmp 0x5ade31
mov ecx, dword [ebx + 0x10]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x78], ecx
inc dword [eax + 0xc8]
mov edx, dword [eax + 0xc0]
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x38]
mov dword [ecx + 0x20], edx
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x3c]
mov dword [ecx + 0x24], edx
mov ecx, dword [eax + 0x68]
mov edx, dword [esp + 0x78]
mov dword [edx + 0x44], ecx
mov ecx, dword [esp + 0x78]
lea edx, [ecx + 0x20]
mov dword [eax + 0xc0], ecx
mov dword [eax + 8], edx
mov dword [eax + 0x68], 0
mov esi, dword [ecx + 0x3c]
mov dword [eax + 0x18], esi
movzx ecx, word [ecx + 0x40]
mov dword [eax + 0x30], ecx
mov ecx, esi
inc ecx
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x7c]
mov dword [eax + 0x44], ecx
mov esi, dword [edx]
mov dword [eax + 4], esi
mov dword [esp + 0x54], esi
mov esi, dword [edx + 4]
mov dword [eax + 0x1c], esi
mov esi, dword [eax + 0x30]
lea ecx, [ecx + esi*4]
mov dword [eax + 0xd8], ecx
mov edx, dword [edx + 0x10]
push edx
push 0
push ecx
mov dword [eax + 0xd4], edx
mov dword [esp + 0x24], 0xffffffff
call fcn.005dfd60
add esp, 0xc
jmp case.default.0x5a9fc3
mov edi, dword [edi + 0xc0]
mov dword [esp + 0x64], edi
mov eax, dword [edi + 0x2c]
lea edx, [eax + eax*4]
mov eax, dword [edi + 8]
mov eax, dword [eax + edx*4 + 4]
add eax, dword [ebp + 4]
mov edx, dword [edi + 0xc]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
push 0x1000
push eax
mov ebx, esi
mov dword [esp + 0x70], eax
call fcn.0056cd90
add esp, 8
jmp case.default.0x5a9fc3
mov ecx, dword [esp + 0x14]
test dword [ecx + 0x18], 0x1000000
mov eax, dword [ebp + 8]
cdq
je 0x5adf33
add dword [ecx + 0x1f8], eax
adc dword [ecx + 0x1fc], edx
jmp case.default.0x5a9fc3
cmp dword [ebp + 4], 0
je 0x5adf4a
add dword [ecx + 0x1f0], eax
adc dword [ecx + 0x1f4], edx
jmp case.default.0x5a9fc3
add dword [edi + 0xa0], eax
adc dword [edi + 0xa4], edx
jmp case.default.0x5a9fc3
cmp dword [ebp + 4], 0
je 0x5adf96
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x1f0]
or ecx, dword [eax + 0x1f4]
jne case.default.0x5a9fc3
mov edx, dword [eax + 0x1f8]
or edx, dword [eax + 0x1fc]
jne case.default.0x5a9fc3
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x18], ebp
jmp case.default.0x5a9fc3
mov eax, dword [edi + 0xa0]
or eax, dword [edi + 0xa4]
jne case.default.0x5a9fc3
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x1f8]
or ecx, dword [eax + 0x1fc]
jne case.default.0x5a9fc3
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x18], ebp
jmp case.default.0x5a9fc3
mov edi, dword [edi + 0xc0]
test edi, edi
je 0x5adffd
mov ecx, edi
mov dword [esp + 0x68], ecx
mov eax, dword [ecx + 4]
test eax, eax
je 0x5adfef
mov ecx, eax
mov dword [esp + 0x68], ecx
mov eax, dword [ecx + 4]
test eax, eax
jne 0x5adfe2
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
mov eax, dword [ecx + 0xc]
lea esi, [eax + edx*8]
jmp 0x5ae006
mov eax, dword [ebp + 4]
lea ecx, [eax + eax*4]
lea esi, [ebx + ecx*8]
mov dword [esp + 0x64], esi
call fcn.00562c80
mov ebp, dword [ebp + 8]
lea edx, [ebp + ebp*4]
lea esi, [ebx + edx*8]
call fcn.00562c80
mov eax, dword [esp + 0x64]
mov ecx, dword [esi + 0x10]
mov esi, dword [esi + 0x14]
mov edx, dword [eax + 0x14]
add eax, 0x10
cmp edx, esi
jg case.default.0x5a9fc3
jl 0x5ae042
mov edx, dword [eax]
cmp edx, ecx
jae case.default.0x5a9fc3
mov dword [eax], ecx
mov dword [eax + 4], esi
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
cmp dword [ebx + eax*8 + 0x14], 0
jl case.default.0x5a9fc3
jg 0x5ae06a
cmp dword [ebx + eax*8 + 0x10], 0
jbe case.default.0x5a9fc3
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x18], ebp
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
cmp dword [ebx + eax*8 + 0x14], 0
jg case.default.0x5a9fc3
jl 0x5ae095
cmp dword [ebx + eax*8 + 0x10], 0
jae case.default.0x5a9fc3
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x18], ebp
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
mov eax, dword [ebp + 0xc]
cdq
add dword [ebx + 0x10], eax
mov ecx, dword [ebx + 0x10]
adc dword [ebx + 0x14], edx
or ecx, dword [ebx + 0x14]
jne case.default.0x5a9fc3
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x18], ebp
jmp case.default.0x5a9fc3
movzx ecx, byte [ebp + 3]
mov dword [esp + 0x64], ecx
mov eax, dword [ebp + 8]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0xc]
mov dword [esp + 0xbc], eax
xor eax, eax
lea ebx, [ebx + edx*8]
mov dword [esp + 0x70], ebx
mov dword [esp + 0x68], eax
test ecx, ecx
jle 0x5ae12d
jmp 0x5ae100
mov ecx, dword [esp + 0xbc]
mov dword [ecx + eax*4], ebx
mov ecx, dword [esp + 0x70]
call fcn.00563ac0
mov eax, dword [esp + 0x68]
mov ebx, dword [esp + 0x70]
inc eax
add ebx, 0x28
cmp eax, dword [esp + 0x64]
mov dword [esp + 0x68], eax
mov dword [esp + 0x70], ebx
jl 0x5ae100
mov edx, dword [ebp + 0x10]
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x74], edx
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
xor edi, edi
mov dword [esp + 0x6c], eax
mov dword [esp + 0xa4], eax
inc dword [eax + 0x18]
mov eax, dword [esp + 0x74]
mov edx, 1
mov word [esp + 0x98], dx
mov dword [esp + 0x80], edi
mov dword [esp + 0xa0], edi
mov dword [esp + 0x9c], edi
mov dword [esp + 0x7c], esi
mov dword [esp + 0xb4], edi
mov dword [esp + 0xa8], edi
mov byte [esp + 0xb8], 0
test byte [eax + 2], 0x20
je 0x5ae1a5
mov ecx, dword [ebp - 4]
mov dword [esp + 0xa8], ecx
mov edx, dword [esp + 0xbc]
mov ecx, dword [esp + 0x64]
mov eax, dword [eax + 0x10]
push edx
push ecx
lea edx, [esp + 0x7c]
push edx
call eax
add esp, 0xc
cmp dword [esp + 0xb4], edi
je 0x5ae1f7
mov bl, 1
lea edi, [esp + 0x7c]
call fcn.0057eb70
mov edi, dword [esp + 0x20]
push eax
push 0x60c800
add edi, 0x38
mov eax, esi
call fcn.0057c990
mov ecx, dword [esp + 0xbc]
add esp, 8
mov dword [esp + 0x10], ecx
xor edi, edi
cmp byte [esp + 0xb8], 0
je 0x5ae223
mov ebp, dword [ebp - 0x10]
mov dword [esp + 0x68], ebp
cmp ebp, edi
je 0x5ae223
mov eax, dword [esp + 0x28]
lea edx, [ebp + ebp*4]
push 0
push 1
lea esi, [eax + edx*8]
call fcn.0056cc40
add esp, 8
lea ecx, [esp + 0x7c]
push ecx
call fcn.0056cbb0
add esp, 4
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
lea ecx, [ebx + edx*8]
mov dword [esp + 0x64], ecx
mov eax, dword [ebp + 0x10]
call fcn.00562a90
mov dword [esp + 0x10], eax
test eax, eax
je 0x5ae276
mov edi, dword [esp + 0x64]
mov bl, 1
call fcn.0057eb70
mov edi, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x18]
push 0x60c800
add edi, 0x38
call fcn.0057c990
add esp, 8
movzx ecx, byte [esp + 0x24]
mov eax, dword [esp + 0x64]
call fcn.0057e900
mov ecx, dword [esp + 0x64]
call fcn.00562de0
test eax, eax
jne 0x5aaa7f
jmp case.default.0x5a9fc3
mov esi, dword [esp + 0x14]
or eax, 0xffffffff
xor edi, edi
mov dword [esp + 0x68], edi
mov dword [esp + 0x70], eax
mov dword [esp + 0x6c], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 4]
push eax
push ecx
lea edx, [esp + 0x78]
lea ecx, [esp + 0x74]
call fcn.005a3810
add esp, 8
mov dword [esp + 0x10], eax
cmp eax, 5
jne 0x5ae2dc
mov dword [esp + 0x10], edi
mov dword [esp + 0x68], 1
xor eax, eax
mov dword [esp + 0x64], eax
mov ebp, dword [ebp + 0xc]
lea edx, [ebp + ebp*4]
lea ebx, [ebx + edx*8]
mov dword [esp + 0x74], ebx
mov eax, dword [esp + eax*4 + 0x68]
cdq
push edx
push eax
mov esi, ebx
call fcn.0056cc40
mov eax, dword [esp + 0x6c]
mov ebx, dword [esp + 0x7c]
inc eax
add ebx, 0x28
add esp, 8
cmp eax, 3
mov dword [esp + 0x64], eax
mov dword [esp + 0x74], ebx
jl 0x5ae2f0
jmp case.default.0x5a9fc3
mov edx, dword [ebp + 0xc]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x6c], edx
mov eax, dword [ebp + 4]
mov ecx, dword [ecx + 0x10]
shl eax, 4
mov eax, dword [eax + ecx + 4]
mov dword [esp + 0x64], eax
mov eax, dword [eax + 4]
mov esi, dword [eax]
mov dword [esp + 0x68], esi
movzx edi, byte [esi + 5]
mov dword [esp + 0x70], edi
cmp edx, 0xffffffff
jne 0x5ae357
mov edx, edi
mov dword [esp + 0x6c], edx
cmp byte [esi + 0xf], 3
jae 0x5ae373
mov ecx, dword [esi + 0x40]
cmp dword [ecx], 0
je 0x5ae379
cmp dword [esi + 0x4c], 0
jl 0x5ae379
jg 0x5ae373
cmp dword [esi + 0x48], 0
jbe 0x5ae379
mov edx, edi
mov dword [esp + 0x6c], edx
cmp byte [esi + 0xe], 0
mov ecx, 0x60c81c
jne 0x5ae38a
mov ecx, dword [esi + 0xa8]
mov dword [esp + 0x74], ecx
cmp edx, 5
jne 0x5ae3bd
call fcn.0055d9f0
test eax, eax
je 0x5ae3a7
mov eax, esi
call fcn.00561250
test eax, eax
jne 0x5ae3bd
mov edx, edi
mov dword [esp + 0x6c], edx
cmp dword [esp + 0x10], 0
je 0x5ae490
jmp 0x5ae48a
cmp edx, edi
je 0x5ae3ad
cmp edi, 5
je 0x5ae3cb
cmp edx, 5
jne 0x5ae3ad
mov eax, dword [esp + 0x14]
cmp byte [eax + 0x3e], 0
je 0x5ae44d
cmp dword [eax + 0x90], 1
jg 0x5ae44d
cmp edi, 5
jne 0x5ae400
mov eax, esi
call fcn.005a39d0
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5ae482
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x68]
jmp 0x5ae40a
cmp edi, 4
jne 0x5ae41b
lea ecx, [edi - 2]
mov eax, esi
call fcn.0059ecd0
mov esi, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
mov edi, dword [esp + 0x70]
cmp dword [esp + 0x10], 0
jne 0x5ae48a
xor eax, eax
cmp edx, 5
sete al
inc eax
push eax
mov eax, dword [esp + 0x68]
call fcn.005a20d0
mov edi, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
mov esi, dword [esp + 0x6c]
add esp, 4
mov dword [esp + 0x10], eax
jmp 0x5ae3ad
mov dword [esp + 0x10], 1
mov eax, str.into
cmp edx, 5
je 0x5ae464
mov eax, str.out_of
mov edi, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x18]
push str.cannot_change__s_wal_mode_from_within_a_transaction
add edi, 0x38
call fcn.0057c990
add esp, 8
jmp case.default.0x5a9fc3
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0x68]
mov edx, edi
mov dword [esp + 0x6c], edx
mov ecx, edx
mov eax, esi
call fcn.0059ecd0
mov dword [esp + 0x6c], eax
mov ebp, dword [ebp + 8]
lea ecx, [ebp + ebp*4]
lea ebx, [ebx + ecx*8]
mov edx, 0xa02
mov word [ebx + 0x1c], dx
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x1c], ebx
cmp eax, 6
jne 0x5ae4c1
xor ecx, ecx
jmp 0x5ae4c8
mov ecx, dword [eax*4 + 0x65c46c]
mov dword [ebx + 4], ecx
call fcn.0055d9f0
movzx ecx, byte [esp + 0x24]
mov dword [ebx + 0x18], eax
mov eax, ebx
mov byte [ebx + 0x1f], 1
call fcn.0057e900
jmp case.default.0x5a9fc3
mov eax, dword [esp + 0x14]
push eax
lea eax, [edi + 0x38]
call fcn.005a91d0
add esp, 4
mov dword [esp + 0x10], eax
jmp case.default.0x5a9fc3
mov ecx, dword [ebp + 4]
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x10]
shl ecx, 4
mov eax, dword [ecx + eax + 4]
push eax
mov dword [esp + 0x68], eax
call fcn.0059f920
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, 0x65
jne case.default.0x5a9fc3
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x10], 0
jmp case.default.0x5a9fc3
cmp dword [ebp + 4], 0
jne 0x5ae555
mov eax, dword [esp + 0x14]
call fcn.005636b0
jmp case.default.0x5a9fc3
or dword [edi + 0x64], 0x20
jmp case.default.0x5a9fc3
mov cl, byte [ebp + 0xc]
test cl, cl
jne 0x5ae576
mov edx, dword [esp + 0x14]
test dword [edx + 0x18], 0x4000
jne case.default.0x5a9fc3
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 4]
push edx
mov edx, dword [esp + 0x18]
mov edx, dword [edx + 0x10]
shl eax, 4
mov esi, dword [eax + edx + 4]
call fcn.0056c910
add esp, 4
mov dword [esp + 0x10], eax
cmp al, 6
jne case.default.0x5a9fc3
mov eax, dword [ebp + 0x10]
mov edi, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x18]
push str.database_table_is_locked:__s
add edi, 0x38
call fcn.0057c990
add esp, 8
jmp case.default.0x5a9fc3
mov ebp, dword [ebp + 0x10]
mov eax, dword [esp + 0x14]
mov edi, ebp
mov dword [esp + 0x64], ebp
call fcn.00570d20
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x64]
test eax, eax
je case.default.0x5a9fc3
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0x20]
push ecx
push edx
call fcn.0056d830
add esp, 8
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0x14]
add edi, 0x38
push edi
push eax
mov eax, dword [ebp + 4]
call fcn.0057b3f0
add esp, 8
mov dword [esp + 0x10], eax
jmp case.default.0x5a9fc3
mov ecx, dword [edi + 0x64]
and ecx, 0xfffffffb
or ecx, 8
mov dword [edi + 0x64], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x14]
push edx
call fcn.00567020
add esp, 4
and dword [edi + 0x64], 0xfffffff3
mov dword [esp + 0x10], eax
jmp case.default.0x5a9fc3
xor ebx, ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x6c], eax
mov ecx, dword [eax]
lea edx, [esp + 0x68]
push edx
mov dword [esp + 0x74], ecx
push eax
mov eax, dword [ecx + 0x18]
call eax
mov ecx, dword [esp + 0x74]
push ecx
mov esi, eax
push edi
mov dword [esp + 0x20], esi
call fcn.0056d830
add esp, 0x10
cmp esi, ebx
jne case.default.0x5a9fc3
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
push ebx
mov dword [eax], edx
mov ecx, dword [ebp + 4]
push 0xffffffffffffffff
push ebx
push ecx
mov eax, edi
call fcn.005a5490
add esp, 0x10
mov dword [esp + 0x64], eax
cmp eax, ebx
je 0x5ae6b5
mov edx, dword [esp + 0x68]
mov dword [eax + 0x20], edx
jmp case.default.0x5a9fc3
mov eax, dword [esp + 0x14]
mov byte [eax + 0x40], 1
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x70]
mov eax, dword [edx + 0x1c]
push ecx
call eax
add esp, 4
jmp case.default.0x5a9fc3
mov eax, dword [ebp + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x44]
mov edi, dword [edi + 0xc]
lea ebx, [ebx + ecx*8]
mov dword [esp + 0x70], ebx
lea esi, [ebx + 0x28]
mov dword [esp + 0x74], esi
mov edx, dword [ebp + 4]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x80], eax
mov edx, dword [eax + 0x20]
mov dword [esp + 0x78], edx
mov eax, dword [edx]
mov dword [esp + 0x7c], eax
mov ecx, dword [eax]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esi + 0x10]
mov dword [esp + 0x64], ecx
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x68], eax
xor eax, eax
cmp ecx, eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x8c], edi
mov dword [esp + 0x88], eax
jle 0x5ae786
jmp 0x5ae744
mov esi, dword [esp + 0x74]
lea ecx, [eax + eax*4 + 5]
lea edx, [esi + ecx*8]
mov ecx, dword [esp + 0x8c]
mov dword [ecx + eax*4], edx
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + edx*4]
call fcn.00563ac0
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x64]
inc eax
cmp eax, ecx
mov dword [esp + 0x88], eax
jl 0x5ae740
mov edx, dword [esp + 0x78]
mov esi, dword [esp + 0x20]
mov eax, dword [esi + 0x64]
and eax, 0xfffffff7
or eax, 4
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x8c]
push eax
mov eax, dword [esp + 0x6c]
push ecx
mov ecx, dword [ebp + 0x10]
push ecx
mov ecx, dword [esp + 0x78]
push eax
push edx
mov edx, dword [ecx + 0x20]
call edx
and dword [esi + 0x64], 0xfffffff3
mov edi, eax
mov eax, dword [esp + 0x90]
push eax
push esi
mov dword [esp + 0x2c], edi
call fcn.0056d830
add esp, 0x1c
test edi, edi
jne 0x5ae7e9
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x6c]
mov eax, dword [edx + 0x28]
push ecx
call eax
add esp, 4
mov dword [esp + 0x84], eax
cmp dword [esp + 0x84], 0
je 0x5ae7fb
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x18], ebp
mov ecx, dword [esp + 0x80]
mov byte [ecx + 0x19], 0
jmp case.default.0x5a9fc3
mov edx, dword [ebp + 4]
mov eax, dword [edi + 0x44]
mov esi, dword [eax + edx*4]
mov eax, dword [ebp + 0xc]
lea ecx, [eax + eax*4]
lea ebx, [ebx + ecx*8]
mov dword [esp + 0x6c], ebx
cmp byte [esi + 0x19], 0
je 0x5ae833
mov esi, ebx
call fcn.00562d90
jmp case.default.0x5a9fc3
mov edx, dword [esi + 0x20]
mov eax, dword [edx]
push 0x48
mov dword [esp + 0x68], eax
mov eax, dword [eax]
lea ecx, [esp + 0x78]
push 0
push ecx
mov dword [esp + 0x74], eax
call fcn.005dfd60
mov ebx, dword [esp + 0x78]
lea eax, [esp + 0x88]
call fcn.0056cde0
mov edx, dword [esp + 0xa4]
and edx, 0xbe01
or edx, 1
mov word [esp + 0xa4], dx
mov eax, dword [ebp + 8]
mov edx, dword [esi + 0x20]
push eax
mov eax, dword [esp + 0x78]
lea ecx, [esp + 0x84]
push ecx
mov ecx, dword [eax + 0x2c]
push edx
call ecx
mov edx, dword [esp + 0x7c]
push edx
push edi
mov dword [esp + 0x30], eax
call fcn.0056d830
mov eax, dword [esp + 0xd4]
add esp, 0x20
test eax, eax
je 0x5ae8b2
mov dword [esp + 0x10], eax
movzx ecx, byte [esp + 0x24]
lea eax, [esp + 0x7c]
call fcn.0057e900
mov eax, dword [esp + 0x6c]
lea ebx, [esp + 0x7c]
call fcn.0056cde0
mov ecx, dword [esp + 0x6c]
call fcn.00562de0
test eax, eax
jne 0x5aaa7f
jmp case.default.0x5a9fc3
mov ecx, dword [edi + 0x44]
mov dword [esp + 0x6c], 0
mov eax, dword [ebp + 4]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x70], eax
cmp byte [eax + 0x19], 0
jne case.default.0x5a9fc3
mov edx, dword [eax + 0x20]
mov ecx, dword [edx]
mov edx, dword [edi + 0x64]
mov dword [esp + 0x64], ecx
mov ecx, dword [ecx]
and edx, 0xfffffff7
or edx, 4
mov dword [esp + 0x68], ecx
mov dword [edi + 0x64], edx
mov eax, dword [eax + 0x20]
mov ecx, dword [ecx + 0x24]
push eax
call ecx
mov edx, dword [esp + 0x68]
and dword [edi + 0x64], 0xfffffff3
push edx
mov esi, eax
push edi
mov dword [esp + 0x1c], esi
call fcn.0056d830
add esp, 0xc
test esi, esi
jne 0x5ae95a
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x68]
mov eax, dword [edx + 0x28]
push ecx
call eax
add esp, 4
mov dword [esp + 0x6c], eax
cmp dword [esp + 0x6c], 0
jne 0x5ae969
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x18], ebp
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xe8]
test ecx, ecx
jne 0x5aeef5
mov esi, dword [eax + 0x11c]
test esi, esi
je case.default.0x5a9fc3
mov ebx, dword [esp + 0x44]
cmp ebx, dword [esp + 0x48]
jb case.default.0x5a9fc3
mov ebp, eax
mov ecx, dword [ebp + 0x124]
xor edx, edx
mov eax, ebx
div ecx
sub ecx, edx
mov edx, dword [ebp + 0x120]
add ecx, ebx
push edx
mov dword [esp + 0x4c], ecx
call esi
add esp, 4
test eax, eax
je case.default.0x5a9fc3
mov dword [esp + 0x10], 9
mov ecx, dword [edi + 0x38]
mov edx, dword [edi + 0xb8]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
push ecx
push edx
push eax
push str.statement_aborts_at__d:___s___s
push esi
mov dword [edi + 0x5c], esi
call fcn.00573920
add esp, 0x14
mov eax, edi
call fcn.005a7490
cmp esi, 0xc0a
jne 0x5aea05
mov ecx, dword [esp + 0x14]
mov byte [ecx + 0x40], 1
mov al, byte [esp + 0x33]
mov esi, 1
test al, al
jbe 0x5aea46
movzx ebx, al
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x10]
dec ebx
mov edx, ebx
shl edx, 4
mov edx, dword [edx + ecx + 0xc]
push edx
call fcn.00578760
add esp, 4
cmp ebx, esi
je 0x5aea46
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + 0x1c]
push edx
call fcn.00578760
add esp, 4
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], edx
mov eax, dword [esp + 0x44]
add dword [edi + 0x88], eax
push edi
call fcn.00562fa0
mov ecx, dword [esp + 0x148]
add esp, 4
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.005dfbbe
add esp, 0x138
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 8]
mov dword [esp + 0x64], ecx
mov ebp, dword [ebp + 4]
lea edx, [ebp + ebp*4]
lea eax, [ebx + edx*8]
mov ecx, 1
mov dword [esp + 0x68], eax
call fcn.0057e900
mov dword [esp + 0x10], eax
test eax, eax
jne case.default.0x5a9fc3
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x64]
mov edx, dword [edx + 4]
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x4c]
call eax
mov ecx, dword [esp + 0x6c]
push ecx
push edi
mov dword [esp + 0x20], eax
call fcn.0056d830
add esp, 0x10
and dword [edi + 0x64], 0xffffffdf
jmp case.default.0x5a9fc3
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 8]
mov dword [esp + 0x64], eax
mov eax, dword [eax]
mov dword [esp + 0x68], eax
mov ecx, dword [ebp + 8]
mov dword [esp + 0x6c], ecx
cmp dword [eax + 0x34], 0
je case.default.0x5a9fc3
mov eax, dword [esp + 0x14]
mov dl, byte [eax + 0x44]
mov eax, dword [edi + 0xc]
mov dword [esp + 0x7c], eax
mov eax, dword [ebp + 0xc]
mov byte [esp + 0x43], dl
lea edx, [eax + eax*4]
lea ebx, [ebx + edx*8]
mov dword [esp + 0x80], ebx
mov dword [esp + 0x70], 0
test ecx, ecx
jle 0x5aeb6b
mov ecx, ebx
call fcn.00563ac0
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x7c]
mov dword [edx + ecx*4], eax
mov eax, dword [esp + 0x70]
mov ebx, dword [esp + 0x80]
inc eax
add ebx, 0x28
cmp eax, dword [esp + 0x6c]
mov dword [esp + 0x80], ebx
mov dword [esp + 0x70], eax
jl 0x5aeb32
mov al, byte [ebp + 3]
mov esi, dword [esp + 0x14]
mov byte [esi + 0x44], al
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x6c]
lea ecx, [esp + 0x74]
push ecx
mov ecx, dword [esp + 0x68]
push edx
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [edx + 0x34]
push ecx
call eax
mov cl, byte [esp + 0x53]
mov byte [esi + 0x44], cl
mov edx, dword [esp + 0x74]
push edx
mov ebx, eax
push edi
mov dword [esp + 0x28], ebx
call fcn.0056d830
add esp, 0x18
test ebx, ebx
jne 0x5aebd0
cmp dword [ebp + 4], ebx
je 0x5aebd0
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov dword [esi + 0x20], eax
mov edx, dword [esp + 0x78]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
mov dword [esi + 0x24], edx
cmp bl, 0x13
jne 0x5ad0fc
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x10], 0
je 0x5ad0fc
mov al, byte [ebp + 3]
cmp al, 4
jne 0x5aebfa
mov dword [esp + 0x10], 0
jmp case.default.0x5a9fc3
cmp al, 5
jne 0x5aec0b
mov eax, 2
mov byte [edi + 0x60], al
jmp case.default.0x5a9fc3
movzx eax, al
mov byte [edi + 0x60], al
jmp case.default.0x5a9fc3
mov ecx, dword [ebp + 4]
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x10]
shl ecx, 4
mov ecx, dword [ecx + eax + 4]
mov edx, dword [ecx + 4]
mov eax, dword [edx + 0x2c]
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 0
jmp case.default.0x5a9fc3
mov ecx, dword [ebp + 4]
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x10]
mov ebp, dword [ebp + 0xc]
shl ecx, 4
mov ecx, dword [ecx + eax + 4]
xor eax, eax
test ebp, ebp
je 0x5aec62
mov edx, dword [ecx + 4]
mov eax, dword [edx + 0x2c]
cmp eax, ebp
jae 0x5aec62
mov eax, ebp
call fcn.005623b0
cdq
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
jmp case.default.0x5a9fc3
mov eax, dword [esp + 0x14]
cmp dword [eax + 0xa4], 0
je case.default.0x5a9fc3
test dword [edi + 0x64], 0x800
jne case.default.0x5a9fc3
mov ebp, dword [ebp + 0x10]
mov eax, ebp
test ebp, ebp
jne 0x5aec95
mov eax, dword [edi + 0xb8]
mov dword [esp + 0x64], eax
test eax, eax
je case.default.0x5a9fc3
push eax
mov ecx, edi
call fcn.0057f4d0
mov esi, dword [esp + 0x18]
mov dword [esp + 0x6c], eax
mov ecx, dword [esi + 0xa8]
mov edx, dword [esi + 0xa4]
push eax
push ecx
call edx
mov eax, dword [esp + 0x74]
add esp, 0xc
mov ecx, esi
call fcn.0055d830
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
inc eax
cmp dword [esp + 0x10], 0
mov dword [esp + 0x18], eax
je 0x5a9f60
jmp 0x5ae9c9
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0x18]
mov dword [edi + 0x5c], eax
mov cl, byte [ebp + 8]
mov byte [edi + 0x60], cl
mov dword [edi + 0x58], edx
test eax, eax
je 0x5aed9b
mov al, byte [ebp + 3]
test al, al
je 0x5aed16
movzx eax, al
mov eax, dword [eax*4 + 0x65bcc4]
jmp 0x5aed18
xor eax, eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], str.abort_at__d_in___s_:__s
test eax, eax
je 0x5aed4b
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x5aed4b
mov edi, dword [esp + 0x20]
push ecx
push eax
mov eax, dword [esp + 0x1c]
add edi, 0x38
push str._s_constraint_failed:__s
call fcn.0057c990
add esp, 0xc
jmp 0x5aed73
mov edi, dword [esp + 0x20]
mov ecx, dword [ebp + 0x10]
add edi, 0x38
test ecx, ecx
je 0x5aed61
push ecx
push 0x60c800
jmp 0x5aed67
push eax
push str._s_constraint_failed
mov eax, dword [esp + 0x1c]
call fcn.0057c990
add esp, 8
mov ecx, dword [edi]
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0xb8]
mov edx, dword [esp + 0x68]
push ecx
mov ecx, dword [esp + 0x1c]
push eax
mov eax, dword [ebp + 4]
push ecx
push edx
push eax
call fcn.00573920
mov edi, dword [esp + 0x34]
add esp, 0x14
mov eax, edi
call fcn.005a7490
mov esi, 5
cmp eax, esi
jne 0x5aee08
mov dword [edi + 0x5c], esi
jmp 0x5aea46
lea eax, [esp + 0x74]
push eax
call fcn.0056cbb0
add esp, 4
jmp 0x5ab3be
mov dword [esp + 0x10], 0x14
jmp 0x5aeea8
mov ecx, dword [esp + 0x18]
mov dword [edi + 0x58], ecx
mov byte [esi + 0x3e], 0
mov esi, 5
mov dword [edi + 0x5c], esi
jmp 0x5aea46
test ebp, ebp
je 0x5aee1a
mov esi, dword [esp + 0x14]
push 0x204
call fcn.005a3700
add esp, 4
mov byte [esi + 0x3e], 1
call fcn.00568660
mov esi, dword [edi + 0x5c]
neg esi
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
jmp 0x5aea46
push 1
mov esi, edi
call fcn.0057f070
mov esi, eax
add esp, 4
test esi, esi
jne 0x5aea46
mov dl, byte [esp + 0x64]
mov esi, dword [esp + 0x14]
mov eax, edi
mov byte [esi + 0x3e], dl
call fcn.005a7490
cmp eax, 5
jne 0x5aee03
mov eax, dword [esp + 0x18]
mov cl, 1
sub cl, byte [esp + 0x64]
mov dword [edi + 0x58], eax
mov byte [esi + 0x3e], cl
mov esi, 5
mov dword [edi + 0x5c], esi
jmp 0x5aea46
mov dword [esp + 0x10], 8
jmp 0x5aeea8
mov edx, dword [esp + 0x18]
mov esi, 5
mov dword [edi + 0x58], edx
mov dword [edi + 0x5c], esi
jmp 0x5aea46
mov eax, 0x110c7
call fcn.0057c320
mov dword [esp + 0x10], eax
jmp 0x5aeea8
mov dword [esp + 0x10], 0xd
jmp 0x5aeea8
mov dword [esp + 0x10], 0xd
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
cmp byte [eax + 0x40], 0
je 0x5aeebc
mov dword [esp + 0x10], 7
jmp 0x5aeeca
cmp dword [esp + 0x10], 0xc0a
je 0x5ae9c9
mov ecx, dword [esp + 0x10]
call fcn.00568810
mov edi, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x18]
push 0x60c800
add edi, 0x38
call fcn.0057c990
mov edi, dword [esp + 0x28]
add esp, 8
jmp 0x5ae9c9
mov eax, 9
mov dword [edi + 0x5c], eax
mov ecx, dword [str.interrupted]
mov dword [esp + 0x10], eax
mov eax, str.unknown_error
test ecx, ecx
je 0x5aef12
mov eax, ecx
mov edi, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x18]
push 0x60c800
add edi, 0x38
call fcn.0057c990
mov edi, dword [esp + 0x28]
add esp, 8
jmp 0x5ae9c9