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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x134
mov eax, dword [0x856918]
xor eax, esp
mov dword [esp + 0x130], eax
push ebx
push esi
mov esi, ecx
mov eax, dword [esi + 4]
push edi
mov edi, dword [esi]
mov ecx, dword [edi + 0x10]
mov edx, dword [ecx + 0xc]
mov ecx, dword [esi + 8]
xor ebx, ebx
mov dword [esp + 0x54], eax
mov al, byte [edx + 0x4d]
mov edx, dword [edi + 0x20]
mov byte [esp + 0x33], al
mov eax, dword [edi + 0x24]
push esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], edi
mov byte [esp + 0x3b], bl
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], eax
call fcn.005cff00
add esp, 4
cmp dword [esi + 0x58], 7
je 0x609c47
mov dword [esi + 0x58], ebx
mov dword [esi + 0x14], ebx
mov ecx, dword [edi + 0xe0]
mov dword [edi + 0x1b4], ebx
test ecx, ecx
jne 0x609c33
mov eax, dword [esi + 0x54]
xor edx, edx
cmp dword [edi + 0x114], ebx
mov dword [esp + 0x24], eax
setne dl
mov dword [esp + 0x5c], edx
mov ebx, dword [esp + 0x1c]
cmp byte [ebx + 0x38], 0
jne 0x605dfd
cmp dword [esp + 0x5c], 0
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x54]
lea ecx, [eax + eax*4]
lea edi, [edx + ecx*4]
mov dword [esp + 0x2c], edi
je 0x604778
mov eax, dword [ebx + 0x11c]
cmp eax, dword [esp + 0x48]
jne 0x604774
mov ecx, dword [ebx + 0x118]
mov edx, dword [ebx + 0x114]
push ecx
call edx
add esp, 4
test eax, eax
jne 0x609a3d
mov dword [esp + 0x48], eax
inc dword [esp + 0x48]
test byte [edi + 2], 2
je 0x6047aa
mov eax, dword [edi + 8]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov edx, 0x2460
mov dword [esp + 0x28], esi
test word [esi + 0x1c], dx
je 0x6047a1
mov eax, esi
call fcn.005d7c50
mov eax, 4
mov word [esi + 0x1c], ax
movzx eax, byte [edi]
dec eax
cmp eax, 0x93
ja case.default.0x6047b9
jmp dword [eax*4 + 0x609c5c]
mov ecx, dword [ebx + 0xe0]
test ecx, ecx
jne 0x609c35
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x24], edi
jmp case.default.0x6047b9
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x20]
lea ecx, [eax + edx*8]
mov eax, dword [esp + 0x24]
mov edx, 4
mov word [ecx + 0x1c], dx
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov eax, dword [edi + 8]
dec eax
mov dword [esp + 0x24], eax
jmp case.default.0x6047b9
mov edi, dword [edi + 4]
mov edx, dword [esp + 0x20]
lea ecx, [edi + edi*4]
mov eax, dword [edx + ecx*8 + 0x10]
mov dword [esp + 0x24], eax
jmp case.default.0x6047b9
mov edi, dword [edi + 4]
mov edx, dword [esp + 0x20]
lea ecx, [edi + edi*4]
lea ecx, [edx + ecx*8]
mov edx, dword [ecx + 0x10]
mov eax, 4
mov word [ecx + 0x1c], ax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x70], edx
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov eax, dword [esp + 0x70]
mov dword [esp + 0x24], eax
jmp case.default.0x6047b9
mov eax, dword [edi + 0xc]
mov edx, dword [esp + 0x20]
lea ecx, [eax + eax*4]
test byte [edx + ecx*8 + 0x1c], 1
je case.default.0x6047b9
cmp dword [edi + 4], 0
mov esi, dword [esp + 0x18]
jne 0x609a4e
mov edx, dword [esi + 0xa0]
test edx, edx
je 0x609a4e
mov eax, dword [edx + 4]
mov ecx, dword [esi + 0x64]
dec dword [esi + 0xa8]
mov dword [esi + 0xa0], eax
mov eax, ebx
call fcn.005d05c0
mov eax, edx
call fcn.005d0010
cmp dword [edi + 8], 4
mov ecx, dword [ebx + 0x20]
mov edx, dword [ebx + 0x24]
mov dword [esp + 0x24], eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], edx
jne 0x6048cd
mov ecx, dword [esi + 4]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 + 8]
dec edx
mov dword [esp + 0x24], edx
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
mov dword [esp + 0x54], eax
mov dword [esp + 0x20], ecx
jmp case.default.0x6047b9
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x28]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.default.0x6047b9
mov edi, dword [edi + 0x10]
mov edx, dword [edi]
mov eax, dword [esp + 0x28]
mov dword [eax + 0x10], edx
mov ecx, dword [edi + 4]
mov dword [eax + 0x14], ecx
jmp case.default.0x6047b9
mov eax, dword [esp + 0x28]
mov edx, 8
mov word [eax + 0x1c], dx
mov ecx, dword [edi + 0x10]
fld qword [ecx]
fstp qword [eax + 8]
jmp case.default.0x6047b9
mov ecx, dword [edi + 0x10]
mov byte [edi], 9
call fcn.005cabe0
mov bl, byte [esp + 0x33]
mov esi, dword [esp + 0x28]
mov dword [edi + 4], eax
cmp bl, 1
je 0x6049b1
push 1
push ecx
xor eax, eax
or ecx, 0xffffffff
mov edx, esi
call fcn.005e4850
add esp, 8
mov dword [esp + 0x14], eax
cmp eax, 0x12
je 0x609c4e
movzx ecx, bl
mov eax, esi
call fcn.005e47b0
test eax, eax
jne 0x605df9
mov dx, word [esi + 0x1c]
mov ebx, dword [esp + 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 [edi + 1], 0xff
jne 0x60499f
mov edx, dword [edi + 0x10]
mov ecx, ebx
call fcn.005ca970
mov byte [edi + 1], 0xff
mov edx, dword [esi + 4]
mov dword [edi + 0x10], edx
mov eax, dword [esi + 0x18]
mov dword [edi + 4], eax
jmp 0x6049b5
mov ebx, dword [esp + 0x1c]
mov ecx, dword [edi + 4]
cmp ecx, dword [ebx + 0x50]
jle 0x604a70
mov esi, dword [esp + 0x18]
push str.string_or_blob_too_big
lea edi, [esi + 0x34]
mov eax, ebx
call fcn.005e3070
mov dword [esp + 0x18], 0x12
add esp, 4
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 0x98]
mov eax, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x28]
push edx
push ecx
push str.statement_aborts_at__d:___s___s
push eax
mov dword [esi + 0x58], eax
call fcn.005dca80
add esp, 0x14
mov edi, esi
call fcn.005ff690
cmp dword [esp + 0x14], 0xc0a
jne 0x604a19
mov byte [ebx + 0x38], 1
mov al, byte [esp + 0x37]
mov dword [esp + 0x14], 1
test al, al
jbe 0x604a3c
mov edi, dword [esp + 0x1c]
movzx esi, al
dec esi
call fcn.005e5e00
mov esi, dword [esp + 0x18]
mov ebx, edi
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
push esi
mov dword [ebx + 0x20], edx
mov dword [ebx + 0x24], eax
call fcn.005cff60
mov ecx, dword [esp + 0x140]
mov eax, dword [esp + 0x18]
add esp, 4
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00564b24
mov esp, ebp
pop ebp
ret
mov esi, dword [esp + 0x28]
mov edx, 0xa02
mov word [esi + 0x1c], dx
mov eax, dword [edi + 0x10]
mov dl, byte [esp + 0x33]
mov dword [esi + 4], eax
mov ecx, dword [edi + 4]
mov dword [esi + 0x18], ecx
mov byte [esi + 0x1f], dl
jmp case.default.0x6047b9
mov eax, dword [edi + 0xc]
sub eax, dword [edi + 8]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x70], eax
mov edi, dword [edi + 4]
neg edi
sbb edi, edi
and edi, 0x100
inc edi
mov word [esp + 0x74], di
mov word [ecx + 0x1c], di
cmp dword [esp + 0x70], 0
jle case.default.0x6047b9
mov esi, ecx
add esi, 0x28
mov edx, 0x2460
test word [esi + 0x1c], dx
je 0x604ad8
mov eax, esi
call fcn.005d7c50
mov ax, word [esp + 0x74]
mov word [esi + 0x1c], ax
mov eax, dword [esp + 0x70]
dec eax
mov dword [esp + 0x70], eax
test eax, eax
jg 0x604ac3
mov dword [esp + 0x28], esi
jmp case.default.0x6047b9
mov ecx, dword [edi + 0x10]
mov esi, dword [esp + 0x28]
push 0
push ecx
mov ecx, dword [edi + 4]
xor eax, eax
mov edx, esi
call fcn.005e4850
mov dl, byte [esp + 0x3b]
add esp, 8
mov byte [esi + 0x1f], dl
jmp case.default.0x6047b9
mov edi, dword [edi + 4]
mov esi, dword [esp + 0x18]
mov ecx, dword [esi + 0x44]
lea eax, [edi + edi*4]
lea edi, [ecx + eax*8 - 0x28]
mov ecx, edi
mov dword [esp + 0x70], edi
call fcn.005cfd20
test eax, eax
jne 0x6049c5
mov ebx, dword [esp + 0x28]
push 0x800
push edi
call fcn.005d7de0
add esp, 8
jmp case.default.0x6047b9
mov eax, dword [edi + 0xc]
add eax, 1
mov dword [esp + 0x74], eax
mov ecx, dword [edi + 4]
lea edx, [ecx + ecx*4]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x20]
mov edi, dword [edi + 8]
lea ebx, [ecx + edx*8]
lea edx, [edi + edi*4]
lea esi, [ecx + edx*8]
mov dword [esp + 0x7c], edi
mov dword [esp + 0x28], esi
je 0x604bb8
dec eax
mov dword [esp + 0x74], eax
mov eax, dword [esi + 0x24]
mov dword [esp + 0x70], eax
mov eax, esi
mov dword [esi + 0x24], 0
call fcn.005d7e30
mov ecx, dword [esp + 0x70]
mov dword [ebx + 0x24], ecx
mov eax, dword [esp + 0x74]
add ebx, 0x28
add esi, 0x28
test eax, eax
jne 0x604b85
mov dword [esp + 0x28], esi
dec eax
mov dword [esp + 0x74], eax
jmp case.default.0x6047b9
mov edx, dword [edi + 0xc]
mov dword [esp + 0x70], edx
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x20]
lea edx, [edi + edi*4]
lea ebx, [eax + edx*8]
lea esi, [eax + ecx*8]
mov dword [esp + 0x28], ebx
push 0x1000
push esi
call fcn.005d7de0
mov eax, 0x1000
add esp, 8
test word [ebx + 0x1c], ax
je 0x604c0b
mov eax, ebx
call fcn.005de430
test eax, eax
jne 0x605df9
mov eax, dword [esp + 0x70]
mov ecx, eax
dec eax
mov dword [esp + 0x70], eax
test ecx, ecx
je case.default.0x6047b9
add dword [esp + 0x28], 0x28
mov ebx, dword [esp + 0x28]
add esi, 0x28
jmp 0x604be3
mov eax, dword [edi + 8]
mov edi, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x20]
lea ebx, [eax + edx*8]
lea ecx, [edi + edi*4]
lea edx, [eax + ecx*8]
push 0x1000
push edx
mov dword [esp + 0x30], ebx
call fcn.005d7de0
add esp, 8
jmp case.default.0x6047b9
mov esi, dword [esp + 0x18]
push 0
mov ecx, esi
call fcn.005e4e70
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne case.default.0x6047b9
push 1
push esi
call fcn.005f1bb0
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
jne case.default.0x6047b9
mov edx, dword [esi + 0x50]
mov ecx, dword [esp + 0x20]
add edx, 2
or edx, 1
mov dword [esi + 0x50], edx
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
xor ecx, ecx
mov dword [esi + 0x14], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
cmp dword [edi + 8], ecx
jle 0x604d0d
mov eax, dword [esp + 0x70]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*8]
mov edx, 0x1000
test word [eax + 0x1c], dx
je 0x604cdd
call fcn.005de430
test eax, eax
jne 0x605df9
mov ecx, dword [esp + 0x74]
lea eax, [ecx + ecx*4]
mov ecx, dword [esp + 0x70]
lea eax, [ecx + eax*8]
call fcn.005d7c00
mov eax, dword [esp + 0x74]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x70]
lea ecx, [eax + edx*8]
call fcn.005d0980
mov ecx, dword [esp + 0x74]
inc ecx
mov dword [esp + 0x74], ecx
cmp ecx, dword [edi + 8]
jl 0x604cb7
cmp byte [ebx + 0x38], 0
jne 0x605e01
mov ecx, dword [esp + 0x24]
inc ecx
mov dword [esi + 0x54], ecx
mov dword [esp + 0x14], 0x64
jmp 0x604a3c
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x20]
lea ebx, [eax + ecx*8]
mov ecx, dword [edi + 8]
mov edi, dword [edi + 0xc]
lea edx, [ecx + ecx*4]
lea esi, [eax + edx*8]
mov dl, byte [esi + 0x1c]
lea ecx, [edi + edi*4]
lea edi, [eax + ecx*8]
movzx eax, word [ebx + 0x1c]
or dl, al
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], edi
test dl, 1
je 0x604d6d
mov esi, edi
call fcn.005cfcd0
jmp case.default.0x6047b9
test eax, 0x4000
je 0x604d83
mov eax, ebx
call fcn.005d7ba0
test eax, eax
jne 0x605df9
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x604d9d
mov eax, esi
call fcn.005d7ba0
test eax, eax
jne 0x605df9
test byte [ebx + 0x1c], 0x12
jne 0x604dbb
movzx ecx, byte [esp + 0x33]
push ecx
mov eax, ebx
call fcn.005e47d0
add esp, 4
test eax, eax
jne 0x605df9
test byte [esi + 0x1c], 0x12
jne 0x604dd9
movzx edx, byte [esp + 0x33]
push edx
mov eax, esi
call fcn.005e47d0
add esp, 4
test eax, eax
jne 0x605df9
mov eax, dword [esi + 0x18]
add eax, dword [ebx + 0x18]
mov ebx, dword [esp + 0x1c]
cdq
mov ecx, edx
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
mov eax, dword [ebx + 0x50]
cdq
cmp ecx, edx
jg 0x6053ad
jl 0x604e06
cmp dword [esp + 0x70], eax
ja 0x6049c1
mov ax, word [edi + 0x1c]
mov ecx, 0xbe02
and ax, cx
or ax, 2
mov word [edi + 0x1c], ax
mov ecx, dword [esp + 0x70]
xor eax, eax
cmp edi, esi
sete al
add ecx, 2
mov ebx, edi
call fcn.005d7ad0
test eax, eax
jne 0x605df9
cmp edi, esi
je 0x604e4f
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 4]
mov ecx, dword [edi + 4]
push edx
push eax
push ecx
call fcn.00564f70
add esp, 0xc
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 0x18]
mov ecx, dword [edi + 4]
mov eax, dword [eax + 4]
add ecx, dword [esi + 0x18]
push edx
push eax
push ecx
call fcn.00564f70
mov eax, dword [esp + 0x7c]
mov edx, dword [edi + 4]
mov byte [eax + edx], 0
mov edx, dword [esp + 0x7c]
mov ecx, dword [edi + 4]
mov byte [ecx + edx + 1], 0
mov dl, byte [esp + 0x3f]
mov eax, 0x200
add esp, 0xc
or word [edi + 0x1c], ax
mov ecx, dword [esp + 0x70]
mov dword [edi + 0x18], ecx
mov byte [edi + 0x1f], dl
jmp case.default.0x6047b9
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov esi, ebx
call fcn.005d09b0
mov eax, dword [edi + 8]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x20]
lea esi, [eax + edx*8]
call fcn.005d09b0
mov eax, dword [edi + 0xc]
mov edx, dword [esp + 0x20]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
movzx ecx, word [esi + 0x1c]
movzx edx, word [ebx + 0x1c]
or ecx, edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x74], ecx
test cl, 1
jne 0x605184
mov al, byte [esi + 0x1c]
and al, byte [ebx + 0x1c]
test al, 4
je 0x605051
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x78], eax
mov ecx, dword [ebx + 0x14]
mov dword [esp + 0x7c], ecx
mov edx, dword [esi + 0x10]
mov dword [esp + 0x80], edx
mov edx, dword [esi + 0x14]
mov dword [esp + 0x84], edx
mov byte [esp + 0x70], 1
movzx edx, byte [edi]
add edx, 0xffffffaa
cmp edx, 3
ja case.default.0x604f2f
jmp dword [edx*4 + 0x609eac]
push ecx
push eax
lea eax, [esp + 0x88]
push eax
call fcn.005cb8f0
add esp, 0xc
test eax, eax
jne 0x605056
jmp 0x605020
push ecx
push eax
lea edx, [esp + 0x88]
call fcn.005cb980
add esp, 8
test eax, eax
jne 0x605056
jmp 0x605020
push ecx
push eax
lea ecx, [esp + 0x88]
push ecx
call fcn.005cb9d0
add esp, 0xc
test eax, eax
jne 0x605056
jmp 0x605020
mov edx, eax
or edx, ecx
je 0x605184
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x604fc0
cmp dword [esp + 0x80], 0
jne 0x604fc0
cmp dword [esp + 0x84], 0x80000000
je 0x605056
push ecx
mov ecx, dword [esp + 0x84]
push eax
mov eax, dword [esp + 0x8c]
push eax
push ecx
call fcn.006f5ca0
jmp 0x605012
mov edx, eax
or edx, ecx
je 0x605184
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x604ffb
mov eax, 1
xor ecx, ecx
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
push ecx
mov ecx, dword [esp + 0x84]
push eax
mov eax, dword [esp + 0x8c]
push eax
push ecx
call fcn.006f5d50
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x80]
mov dword [eax + 0x10], edx
mov ecx, dword [esp + 0x84]
mov dx, word [eax + 0x1c]
mov dword [eax + 0x14], ecx
mov ecx, 0xbe04
and dx, cx
or dx, 4
mov word [eax + 0x1c], dx
jmp case.default.0x6047b9
mov byte [esp + 0x70], 0
mov eax, ebx
call fcn.005cfb40
fstp qword [esp + 0x88]
mov eax, esi
call fcn.005cfb40
fst qword [esp + 0x90]
movzx eax, byte [edi]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x60507d
jmp dword [eax*4 + 0x609ebc]
fadd qword [esp + 0x88]
jmp 0x605123
fsub qword [esp + 0x88]
jmp 0x605123
fmul qword [esp + 0x88]
jmp 0x605123
fldz
fld qword [esp + 0x88]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x605180
fdivp st(1)
jmp 0x605123
fld qword [esp + 0x88]
call fcn.006f5c26
mov esi, eax
mov edi, edx
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], edi
call fcn.006f5c26
mov ecx, esi
or ecx, edi
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
je 0x605184
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x60510e
mov esi, 1
xor edi, edi
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], edi
push edi
push esi
push edx
push eax
call fcn.006f5d50
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
fild qword [esp + 0x60]
sub esp, 8
fst qword [esp + 0x98]
fstp qword [esp]
call fcn.005caba0
add esp, 8
test eax, eax
jne 0x605184
mov eax, dword [esp + 0x28]
fld qword [esp + 0x90]
mov dx, word [eax + 0x1c]
fstp qword [eax + 8]
mov ecx, 0xbe08
and dx, cx
or dx, 8
mov word [eax + 0x1c], dx
test byte [esp + 0x74], 8
jne case.default.0x6047b9
cmp byte [esp + 0x70], 0
jne case.default.0x6047b9
mov esi, eax
call fcn.005cfb90
jmp case.default.0x6047b9
fstp st(0)
fstp st(0)
mov esi, dword [esp + 0x28]
call fcn.005cfcd0
jmp case.default.0x6047b9
mov edi, dword [edi + 4]
test edi, edi
je case.default.0x6047b9
mov eax, dword [esp + 0x20]
lea edx, [edi + edi*4]
push 0
push 0
lea esi, [eax + edx*8]
call fcn.005d7d20
add esp, 8
jmp case.default.0x6047b9
movzx edx, byte [edi + 3]
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], edx
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
xor eax, eax
mov dword [esp + 0x28], ebx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x70], eax
test edx, edx
jle 0x605245
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0xb8]
mov dword [ecx + eax*4], edx
mov eax, dword [esp + 0x74]
mov edx, 0x1000
test word [eax + 0x1c], dx
je 0x605227
call fcn.005de430
test eax, eax
jne 0x605df9
mov eax, dword [esp + 0x74]
mov ecx, eax
call fcn.005d0980
mov eax, dword [esp + 0x70]
add dword [esp + 0x74], 0x28
inc eax
cmp eax, dword [esp + 0xbc]
mov dword [esp + 0x70], eax
jl 0x6051f9
cmp byte [edi + 1], 0xfb
mov eax, dword [edi + 0x10]
jne 0x60525a
mov dword [esp + 0x78], eax
xor eax, eax
mov dword [esp + 0x7c], eax
jmp 0x605266
mov dword [esp + 0x7c], eax
mov ecx, dword [eax]
mov dword [esp + 0x78], ecx
xor eax, eax
mov ecx, dword [esp + 0x1c]
mov edx, 1
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
lea eax, [esp + 0x80]
mov word [esp + 0x9c], dx
mov dword [esp + 0x80], ecx
call fcn.005d7e30
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0x78]
and edx, 0xbe01
or edx, 1
mov word [esp + 0x9c], dx
mov dword [esp + 0xb0], 0
test byte [eax + 3], 8
je 0x6052cf
mov ecx, dword [edi - 4]
mov dword [esp + 0xac], ecx
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
mov dword [esi + 0x24], eax
mov dword [esi + 0x20], edx
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0xbc]
push ecx
mov ecx, dword [esp + 0x7c]
push edx
mov edx, dword [ecx + 0xc]
lea eax, [esp + 0x80]
push eax
call edx
mov ebx, dword [esp + 0x88]
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x24]
add esp, 0xc
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
test ebx, ebx
je 0x605338
mov edx, dword [edi + 4]
push edx
call fcn.005d00a0
mov eax, dword [esp + 0x80]
add esp, 4
mov dword [edi + 0x10], eax
mov byte [edi + 1], 0xf9
cmp byte [esi + 0x38], 0
jne 0x609ae6
cmp dword [esp + 0xb0], 0
je 0x60537b
lea ecx, [esp + 0x80]
push ecx
call fcn.005e4ef0
mov edi, dword [esp + 0x1c]
push eax
push 0x7d0b98
add edi, 0x34
mov eax, esi
call fcn.005e3070
mov edx, dword [esp + 0xbc]
add esp, 0xc
mov dword [esp + 0x14], edx
movzx ecx, byte [esp + 0x33]
lea eax, [esp + 0x80]
call fcn.005e47b0
mov esi, dword [esp + 0x28]
lea ebx, [esp + 0x80]
mov eax, esi
call fcn.005d7e30
mov ecx, esi
call fcn.005cfd20
test eax, eax
je case.default.0x6047b9
mov ebx, dword [esp + 0x1c]
jmp 0x6049c1
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x20]
lea ebx, [eax + ecx*8]
mov ecx, dword [edi + 8]
lea edx, [ecx + ecx*4]
lea ecx, [eax + edx*8]
mov edx, dword [edi + 0xc]
lea edx, [edx + edx*4]
lea esi, [eax + edx*8]
mov al, byte [ecx + 0x1c]
or al, byte [ebx + 0x1c]
mov dword [esp + 0x28], esi
test al, 1
je 0x6053ed
call fcn.005cfcd0
jmp case.default.0x6047b9
call fcn.005cfad0
mov ecx, ebx
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
call fcn.005cfad0
mov ebx, eax
mov esi, edx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], esi
mov al, byte [edi]
mov byte [esp + 0x88], al
cmp al, 0x52
jne 0x60542d
and dword [esp + 0x70], ebx
and dword [esp + 0x74], esi
jmp 0x605535
cmp al, 0x53
jne 0x60543e
or dword [esp + 0x70], ebx
or dword [esp + 0x74], esi
jmp 0x605535
mov ecx, ebx
or ecx, esi
je 0x605535
test esi, esi
jg 0x60548b
jl 0x605452
test ebx, ebx
jae 0x605480
mov dl, 0xa9
sub dl, al
cmp esi, 0xffffffff
mov al, dl
mov byte [esp + 0x88], al
jl 0x6054b0
jg 0x60546b
cmp ebx, 0xffffffc0
jbe 0x6054b0
neg ebx
adc esi, 0
neg esi
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], esi
test esi, esi
jl 0x6054d5
jg 0x60548b
cmp ebx, 0x40
jb 0x6054d5
cmp dword [esp + 0x74], 0
jg 0x6054c8
jl 0x60549b
cmp dword [esp + 0x70], 0
jae 0x6054c8
cmp al, 0x54
je 0x6054c8
or eax, 0xffffffff
cdq
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
jmp 0x605535
mov dword [esp + 0x80], 0x40
mov dword [esp + 0x84], 0
jmp 0x60548b
xor eax, eax
cdq
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
jmp 0x605535
mov edx, dword [esp + 0x74]
cmp al, 0x54
mov eax, dword [esp + 0x70]
mov ecx, ebx
jne 0x6054ee
call fcn.006f5e10
mov esi, eax
mov edi, edx
jmp 0x605525
call fcn.00584710
cmp dword [esp + 0x74], 0
mov esi, eax
mov edi, edx
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], edi
jg 0x60552d
jl 0x60550f
cmp dword [esp + 0x70], 0
jae 0x60552d
mov ecx, 0x40
sub ecx, ebx
or eax, 0xffffffff
or edx, 0xffffffff
call fcn.006f5e10
or esi, eax
or edi, edx
mov dword [esp + 0x7c], edi
mov dword [esp + 0x78], esi
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], edi
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x70]
mov dword [eax + 0x10], ecx
mov edx, dword [esp + 0x74]
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.0x6047b9
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
call fcn.005cfbf0
mov eax, dword [edi + 8]
cdq
add dword [esi + 0x10], eax
adc dword [esi + 0x14], edx
jmp case.default.0x6047b9
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x33]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x20]
lea esi, [eax + edx*8]
push ecx
mov al, 0x63
mov ecx, esi
call fcn.005e5370
movzx eax, word [esi + 0x1c]
add esp, 4
test al, 4
jne 0x6055bc
mov edi, dword [edi + 8]
test edi, edi
je 0x609afd
dec edi
mov dword [esp + 0x24], edi
jmp case.default.0x6047b9
and eax, 0xbe04
or eax, 4
mov word [esi + 0x1c], ax
jmp case.default.0x6047b9
mov edi, dword [edi + 4]
mov eax, dword [esp + 0x20]
lea edx, [edi + edi*4]
test byte [eax + edx*8 + 0x1c], 4
lea esi, [eax + edx*8]
je case.default.0x6047b9
call fcn.005cfc20
jmp case.default.0x6047b9
mov edi, dword [edi + 4]
mov edx, dword [esp + 0x20]
lea ecx, [edi + edi*4]
movzx eax, word [edx + ecx*8 + 0x1c]
lea esi, [edx + ecx*8]
test al, 1
jne case.default.0x6047b9
mov edx, dword [esp + 0x33]
mov ecx, eax
shr ecx, 3
and ecx, 2
or ecx, eax
mov word [esi + 0x1c], cx
push edx
mov al, 0x61
mov ecx, esi
call fcn.005e5370
mov eax, 0x4000
add esp, 4
test word [esi + 0x1c], ax
je 0x60564c
mov eax, esi
call fcn.005d7ba0
mov ecx, 0xbfe3
and word [esi + 0x1c], cx
mov dword [esp + 0x14], eax
jmp case.default.0x6047b9
mov ecx, 0xbfe3
and word [esi + 0x1c], cx
mov dword [esp + 0x14], 0
jmp case.default.0x6047b9
mov edi, dword [edi + 4]
mov eax, dword [esp + 0x20]
lea edx, [edi + edi*4]
lea esi, [eax + edx*8]
movzx eax, word [esi + 0x1c]
test al, 1
jne case.default.0x6047b9
test al, 0x10
jne 0x6056a9
mov ecx, dword [esp + 0x33]
push ecx
mov al, 0x61
mov ecx, esi
call fcn.005e5370
mov dx, word [esi + 0x1c]
mov eax, 0xbe10
and dx, ax
add esp, 4
or dx, 0x10
mov word [esi + 0x1c], dx
jmp case.default.0x6047b9
and eax, 0xfe10
mov word [esi + 0x1c], ax
jmp case.default.0x6047b9
mov edi, dword [edi + 4]
mov edx, dword [esp + 0x20]
lea ecx, [edi + edi*4]
lea eax, [edx + ecx*8]
call fcn.005cfc50
jmp case.default.0x6047b9
mov edi, dword [edi + 4]
mov ecx, dword [esp + 0x20]
lea eax, [edi + edi*4]
test byte [ecx + eax*8 + 0x1c], 1
lea esi, [ecx + eax*8]
jne case.default.0x6047b9
call fcn.005cfbf0
jmp case.default.0x6047b9
mov edi, dword [edi + 4]
mov eax, dword [esp + 0x20]
lea edx, [edi + edi*4]
test byte [eax + edx*8 + 0x1c], 1
lea esi, [eax + edx*8]
jne case.default.0x6047b9
call fcn.005cfc20
jmp case.default.0x6047b9
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x20]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0xc]
lea esi, [ecx + edx*8]
mov dx, word [esi + 0x1c]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov word [esp + 0x76], dx
mov ax, word [ebx + 0x1c]
mov dl, al
mov word [esp + 0x78], ax
mov al, byte [esp + 0x76]
or dl, al
test dl, 1
je 0x6057b5
mov dl, byte [edi + 3]
test dl, dl
jns 0x605774
test al, 1
je 0x60576a
test byte [esp + 0x78], 1
je 0x60576a
test dword [esp + 0x78], 0x100
jne 0x60576a
xor eax, eax
jmp 0x605821
mov eax, 1
jmp 0x605821
test dl, 0x10
je 0x60579f
mov edi, dword [edi + 8]
lea eax, [edi + edi*4]
lea eax, [ecx + eax*8]
mov cx, word [eax + 0x1c]
mov edx, 0xbe01
and cx, dx
or cx, 1
mov dword [esp + 0x28], eax
mov word [eax + 0x1c], cx
jmp case.default.0x6047b9
test dl, 8
je case.default.0x6047b9
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x24], edi
jmp case.default.0x6047b9
mov al, byte [edi + 3]
and al, 0x67
mov byte [esp + 0x74], al
je 0x6057ed
mov ecx, dword [esp + 0x33]
push ecx
mov ecx, esi
call fcn.005e5370
mov edx, dword [esp + 0x37]
mov al, byte [esp + 0x78]
push edx
mov ecx, ebx
call fcn.005e5370
mov eax, dword [esp + 0x24]
add esp, 8
cmp byte [eax + 0x38], 0
jne 0x605df9
mov ecx, 0x4000
test word [esi + 0x1c], cx
je 0x6057ff
mov eax, esi
call fcn.005d7ba0
mov edx, 0x4000
test word [ebx + 0x1c], dx
je 0x605811
mov eax, ebx
call fcn.005d7ba0
mov eax, dword [edi + 0x10]
push eax
mov eax, esi
mov ecx, ebx
call fcn.005ea0f0
add esp, 4
mov dword [esp + 0x70], eax
movzx ecx, byte [edi]
add ecx, 0xffffffb5
cmp ecx, 4
ja case.default.0x605830
jmp dword [ecx*4 + 0x609ecc]
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
jmp 0x605873
xor edx, edx
test eax, eax
setne dl
jmp 0x605871
xor ecx, ecx
test eax, eax
setl cl
mov eax, ecx
jmp 0x605873
xor edx, edx
test eax, eax
setle dl
jmp 0x605871
xor ecx, ecx
test eax, eax
setg cl
mov eax, ecx
jmp 0x605873
xor edx, edx
test eax, eax
setge dl
mov eax, edx
mov dword [esp + 0x70], eax
test byte [edi + 3], 0x10
je 0x6058b0
mov edi, dword [edi + 8]
mov ecx, dword [esp + 0x20]
lea eax, [edi + edi*4]
mov dx, word [ecx + eax*8 + 0x1c]
lea ecx, [ecx + eax*8]
mov eax, 0xbe04
and dx, ax
or dx, 4
mov word [ecx + 0x1c], dx
mov eax, dword [esp + 0x70]
cdq
mov dword [esp + 0x28], ecx
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp 0x6058bc
test eax, eax
je 0x6058bc
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x24], edi
mov cx, word [esi + 0x1c]
xor cx, word [esp + 0x76]
mov edx, 0x1ff
and cx, dx
xor word [esi + 0x1c], cx
mov ax, word [ebx + 0x1c]
xor ax, word [esp + 0x78]
mov ecx, edx
and ax, cx
xor word [ebx + 0x1c], ax
jmp case.default.0x6047b9
mov edx, dword [edi + 0x10]
mov dword [esp + 0x50], edx
jmp case.default.0x6047b9
test byte [edi + 3], 1
jne 0x605902
mov dword [esp + 0x50], 0
mov ecx, dword [edi + 0xc]
mov dword [esp + 0x70], ecx
mov esi, dword [edi + 0x10]
mov dword [esp + 0x80], esi
mov eax, dword [edi + 4]
mov dword [esp + 0x78], eax
mov edx, dword [edi + 8]
xor eax, eax
mov dword [esp + 0x7c], edx
mov dword [esp + 0x74], eax
test ecx, ecx
jle 0x6059cf
mov ebx, dword [esp + 0x50]
mov edi, dword [esp + 0x20]
jmp 0x605947
mov esi, dword [esp + 0x80]
test ebx, ebx
je 0x605950
mov ecx, dword [ebx + eax*4]
jmp 0x605952
mov ecx, eax
mov dword [esp + 0x84], ecx
mov edx, dword [esi + eax*4 + 0xc]
mov dword [esp + 0x88], edx
mov esi, dword [esi + 8]
movzx eax, byte [esi + eax]
push edx
mov edx, dword [esp + 0x80]
mov dword [esp + 0x90], eax
lea eax, [ecx + edx]
mov edx, dword [esp + 0x7c]
add ecx, edx
lea eax, [eax + eax*4]
lea ecx, [ecx + ecx*4]
lea eax, [edi + eax*8]
lea ecx, [edi + ecx*8]
call fcn.005ea0f0
add esp, 4
mov dword [esp + 0x4c], eax
test eax, eax
jne 0x6059bb
mov eax, dword [esp + 0x74]
inc eax
cmp eax, dword [esp + 0x70]
mov dword [esp + 0x74], eax
jl 0x605940
mov dword [esp + 0x50], 0
jmp case.default.0x6047b9
cmp dword [esp + 0x8c], 0
je 0x6059cf
mov edx, dword [esp + 0x4c]
neg edx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], 0
jmp case.default.0x6047b9
mov eax, dword [esp + 0x4c]
test eax, eax
jge 0x6059f1
mov edi, dword [edi + 4]
dec edi
mov dword [esp + 0x24], edi
jmp case.default.0x6047b9
jne 0x605a00
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x24], edi
jmp case.default.0x6047b9
mov edi, dword [edi + 0xc]
dec edi
mov dword [esp + 0x24], edi
jmp case.default.0x6047b9
mov eax, dword [edi + 4]
mov esi, dword [esp + 0x20]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x1c], 1
lea ecx, [esi + eax*8]
je 0x605a28
mov edx, 2
jmp 0x605a3a
call fcn.005cfad0
or eax, edx
je 0x605a38
mov edx, 1
jmp 0x605a3a
xor edx, edx
mov dword [esp + 0x70], edx
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
test byte [esi + ecx*8 + 0x1c], 1
lea ecx, [esi + ecx*8]
je 0x605a55
mov eax, 2
jmp 0x605a6b
call fcn.005cfad0
or eax, edx
mov edx, dword [esp + 0x70]
je 0x605a69
mov eax, 1
jmp 0x605a6b
xor eax, eax
mov dword [esp + 0x74], eax
cmp byte [edi], 0x45
jne 0x605a81
lea eax, [eax + edx*2]
movzx eax, byte [edx + eax + 0x7cdb2c]
jmp 0x605a8c
lea ecx, [eax + edx*2]
movzx eax, byte [edx + ecx + 0x7cdb60]
mov dword [esp + 0x70], eax
mov edi, dword [edi + 0xc]
lea edx, [edi + edi*4]
lea ecx, [esi + edx*8]
mov dword [esp + 0x28], ecx
cmp eax, 2
jne 0x605abb
mov ax, word [ecx + 0x1c]
mov edx, 0xbe01
and ax, dx
or ax, 1
mov word [ecx + 0x1c], ax
jmp case.default.0x6047b9
cdq
mov dword [ecx + 0x10], eax
mov ax, word [ecx + 0x1c]
mov dword [ecx + 0x14], edx
mov edx, 0xbe04
and ax, dx
or ax, 4
mov word [ecx + 0x1c], ax
jmp case.default.0x6047b9
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x20]
test byte [eax + ecx*8 + 0x1c], 1
lea edx, [edi + edi*4]
lea ecx, [eax + ecx*8]
lea esi, [eax + edx*8]
mov dword [esp + 0x28], esi
je 0x605b06
call fcn.005cfcd0
jmp case.default.0x6047b9
call fcn.005cfad0
or eax, edx
jne 0x605b24
mov eax, 1
cdq
push edx
push eax
call fcn.005d7d20
add esp, 8
jmp case.default.0x6047b9
xor eax, eax
cdq
push edx
push eax
call fcn.005d7d20
add esp, 8
jmp case.default.0x6047b9
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x20]
test byte [eax + ecx*8 + 0x1c], 1
lea edx, [edi + edi*4]
lea ecx, [eax + ecx*8]
lea esi, [eax + edx*8]
mov dword [esp + 0x28], esi
je 0x605b61
call fcn.005cfcd0
jmp case.default.0x6047b9
call fcn.005cfad0
not edx
not eax
push edx
push eax
call fcn.005d7d20
add esp, 8
jmp case.default.0x6047b9
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0xb8]
mov edx, dword [edi + 4]
cmp byte [ecx + edx], 0
lea eax, [ecx + edx]
je 0x605b9c
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x24], edi
jmp case.default.0x6047b9
mov byte [eax], 1
jmp case.default.0x6047b9
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea eax, [ecx + eax*8]
je 0x605bbd
mov eax, dword [edi + 0xc]
jmp 0x605bea
call fcn.005cfb40
fcomp qword [0x7ae758]
fnstsw ax
test ah, 0x44
jnp 0x605bd6
mov eax, 1
jmp 0x605bd8
xor eax, eax
mov dword [esp + 0x70], eax
cmp byte [edi], 0x1c
jne 0x605bee
xor edx, edx
test eax, eax
sete dl
mov eax, edx
mov dword [esp + 0x70], eax
test eax, eax
je case.default.0x6047b9
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x24], edi
jmp case.default.0x6047b9
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
je case.default.0x6047b9
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x24], edi
jmp case.default.0x6047b9
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x20]
test byte [eax + edx*8 + 0x1c], 1
jne case.default.0x6047b9
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x24], edi
jmp case.default.0x6047b9
mov ecx, dword [edi + 4]
mov ebx, dword [esp + 0x20]
xor eax, eax
mov dword [esp + 0x80], ecx
mov edx, dword [edi + 8]
xor esi, esi
mov dword [esp + 0x88], esi
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0x84], edx
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
mov dword [esp + 0x8c], esi
mov esi, dword [esp + 0x18]
lea edx, [ebx + eax*8]
mov eax, dword [esi + 0x40]
mov dword [esp + 0xac], edx
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x88], eax
mov ecx, dword [eax]
mov dword [esp + 0x90], ecx
test ecx, ecx
je 0x605d9b
push eax
call fcn.005fe2e0
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x606b35
mov eax, dword [esp + 0x88]
cmp byte [eax + 0x1c], 0
je 0x605d15
mov dword [esp + 0x70], 0
jmp 0x605d65
mov ecx, dword [eax + 0x50]
cmp ecx, dword [esi + 0x50]
jne 0x605d30
mov edx, dword [eax + 0x54]
mov dword [esp + 0x70], edx
mov ecx, dword [eax + 0x60]
mov dword [esp + 0x8c], ecx
jmp 0x605d59
cmp byte [eax + 0x1f], 0
je 0x605d85
mov eax, dword [esp + 0x90]
lea edi, [esp + 0x78]
call fcn.005cf660
mov edx, dword [esp + 0x78]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x70], edx
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x70]
test ecx, ecx
jne 0x605e5a
mov edx, dword [esp + 0xac]
mov ax, word [edx + 0x1c]
mov ecx, 0xbe01
and ax, cx
or ax, 1
mov word [edx + 0x1c], ax
jmp case.default.0x6047b9
lea eax, [esp + 0x70]
push eax
mov eax, dword [esp + 0x94]
call fcn.005cf690
add esp, 4
jmp 0x605d52
mov ecx, dword [eax + 0x10]
test ecx, ecx
jle 0x605e4d
lea ecx, [ecx + ecx*4]
lea ecx, [ebx + ecx*8]
mov dword [esp + 0xf4], ecx
cmp byte [eax + 0x22], 0
je 0x605e21
mov eax, dword [esp + 0x84]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
push 0x1000
push ecx
mov ebx, edx
call fcn.005d7de0
mov eax, dword [esp + 0xb4]
mov edx, 0x1000
add esp, 8
test word [eax + 0x1c], dx
je case.default.0x6047b9
call fcn.005de430
test eax, eax
je case.default.0x6047b9
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
push 0x7cc3d4
lea edi, [esi + 0x34]
mov eax, ebx
mov byte [ebx + 0x38], 1
call fcn.005e3070
mov dword [esp + 0x18], 7
jmp 0x6049dc
mov edx, dword [ecx + 0x18]
mov dword [esp + 0x70], edx
mov ecx, dword [ecx + 4]
mov dword [esp + 0x8c], ecx
test byte [edi + 3], 0x20
je 0x605e42
xor ecx, ecx
mov dword [eax + 0x50], ecx
jmp 0x605d52
mov ecx, dword [esi + 0x50]
mov dword [eax + 0x50], ecx
jmp 0x605d52
mov dword [esp + 0x70], 0
jmp 0x605d6c
mov edx, dword [esp + 0x1c]
cmp ecx, dword [edx + 0x50]
ja 0x6053ad
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x9c], ecx
mov edx, dword [eax + 0x58]
mov dword [esp + 0x94], edx
mov ebx, dword [eax + 0x50]
cmp ebx, dword [esi + 0x50]
jne 0x605e92
mov eax, dword [eax + 0x5c]
mov dword [esp + 0x98], eax
jmp 0x60615f
lea edx, [edx + ecx*4]
mov dword [esp + 0x98], edx
mov dword [esp + 0xec], 0
mov dword [eax + 0x5c], edx
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x70]
mov dword [ecx + 0x54], edx
mov ecx, dword [esp + 0x88]
mov eax, dword [esi + 0x50]
mov dword [ecx + 0x50], eax
mov ecx, dword [esp + 0x8c]
test ecx, ecx
je 0x605ed9
mov dword [esp + 0xa8], ecx
jmp 0x605f3c
mov edx, dword [esp + 0x88]
cmp byte [edx + 0x1f], 0
mov eax, dword [esp + 0x90]
lea ebx, [esp + 0xec]
je 0x605efb
call fcn.005cf710
jmp 0x605f00
call fcn.005cf730
mov ecx, dword [esp + 0x70]
mov dword [esp + 0xa8], eax
cmp ecx, dword [esp + 0xec]
ja 0x605f27
mov edx, dword [esp + 0x88]
mov dword [esp + 0x8c], eax
mov dword [edx + 0x60], eax
jmp 0x605f35
mov eax, dword [esp + 0x88]
mov dword [eax + 0x60], 0
mov ecx, dword [esp + 0xa8]
mov al, byte [ecx]
cmp al, 0x80
jae 0x605f53
movzx edx, al
mov dword [esp + 0xe0], edx
mov eax, 1
jmp 0x605f70
lea esi, [esp + 0xe0]
call fcn.005cb7e0
mov edx, dword [esp + 0xe0]
mov ecx, dword [esp + 0xa8]
movzx eax, al
movzx eax, al
mov dword [esp + 0xe8], eax
cmp edx, 0x18003
jbe 0x605f98
push 0x102e2
call fcn.005e2a20
add esp, 4
mov dword [esp + 0x14], eax
jmp case.default.0x6047b9
mov esi, dword [esp + 0x9c]
lea eax, [esi + esi*4 + 3]
cmp eax, edx
mov dword [esp + 0xa0], eax
jle 0x605fb7
mov eax, edx
mov dword [esp + 0xa0], eax
cmp dword [esp + 0x8c], 0
jne 0x606035
cmp dword [esp + 0xec], eax
jge 0x606035
mov edx, dword [esp + 0x88]
xor ecx, ecx
mov word [esp + 0xcc], cx
mov dword [esp + 0xb0], ecx
movzx ecx, byte [edx + 0x1f]
mov edx, dword [esp + 0x90]
push ecx
push 0
push edx
lea esi, [esp + 0xbc]
mov edi, eax
call fcn.005fdde0
add esp, 0xc
mov dword [esp + 0x14], eax
test eax, eax
jne case.default.0x6047b9
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0xe0]
mov eax, dword [esp + 0xa0]
mov esi, dword [esp + 0x9c]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0xa8], ecx
add eax, ecx
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0xe8]
add eax, ecx
mov dword [esp + 0xd8], eax
xor eax, eax
mov dword [esp + 0xa4], eax
test esi, esi
jle 0x606106
mov ecx, dword [esp + 0xdc]
cmp dword [esp + 0xd8], ecx
mov ecx, dword [esp + 0x98]
jae 0x6061df
mov dword [ecx + eax*4], edx
mov ecx, dword [esp + 0xd8]
mov al, byte [ecx]
cmp al, 0x80
jae 0x60609e
movzx edx, al
inc ecx
mov dword [esp + 0xf0], edx
mov dword [esp + 0xd8], ecx
jmp 0x6060b4
lea esi, [esp + 0xf0]
call fcn.005cb7e0
movzx eax, al
add dword [esp + 0xd8], eax
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x94]
mov dword [edx + ecx*4], eax
mov eax, dword [esp + 0xf0]
call fcn.005d01f0
mov edx, dword [esp + 0xe0]
add edx, eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe0], edx
cmp edx, eax
jae 0x6061ed
mov edx, dword [esp + 0xdc]
inc edx
mov dword [esp + 0xd8], edx
lea eax, [esp + 0xb0]
push eax
call fcn.005d7cc0
mov eax, dword [esp + 0xdc]
mov ecx, 1
mov word [esp + 0xd0], cx
mov ecx, dword [esp + 0xe0]
add esp, 4
cmp eax, ecx
ja 0x60636e
mov edx, dword [esp + 0xe0]
mov esi, dword [esp + 0x70]
cmp edx, esi
ja 0x60636e
cmp eax, ecx
jne 0x606158
cmp edx, esi
jne 0x60636e
mov edx, dword [esp + 0x94]
mov ebx, dword [esp + 0x84]
mov eax, dword [esp + 0x98]
cmp dword [eax + ebx*4], 0
je 0x6062d2
cmp dword [esp + 0x8c], 0
je 0x60620e
mov eax, dword [esp + 0xac]
mov ecx, 0x2460
test word [eax + 0x1c], cx
je 0x6061b1
call fcn.005d7c50
mov eax, dword [esp + 0xac]
mov edx, dword [esp + 0x94]
mov ebx, dword [esp + 0x84]
mov ecx, dword [esp + 0x98]
mov ecx, dword [ecx + ebx*4]
add ecx, dword [esp + 0x8c]
mov esi, eax
mov eax, dword [edx + ebx*4]
call fcn.005d02b0
mov eax, dword [esp + 0xac]
mov cl, byte [esp + 0x33]
mov byte [eax + 0x1f], cl
jmp 0x60630d
mov dword [ecx + eax*4], 0
mov edx, dword [esp + 0xe0]
mov eax, dword [esp + 0xa4]
inc eax
cmp eax, dword [esp + 0x9c]
mov dword [esp + 0xa4], eax
jl 0x60605f
jmp 0x606106
mov eax, dword [edx + ebx*4]
mov dword [esp + 0xf0], eax
mov cl, byte [edi + 3]
test cl, 0xc0
je 0x60623a
cmp eax, 0xc
jb 0x606229
test al, 1
je 0x60622d
test cl, cl
jns 0x60623a
cmp eax, 0xc
sbb ecx, ecx
lea edx, [esp + 0x78]
and ecx, edx
jmp 0x6062af
call fcn.005d01f0
mov ebx, dword [esp + 0xac]
mov dword [esp + 0xa0], eax
lea eax, [esp + 0xb0]
call fcn.005d7e30
mov eax, dword [esp + 0x88]
movzx ecx, byte [eax + 0x1f]
mov edx, dword [esp + 0x98]
mov eax, dword [esp + 0x84]
mov edi, dword [esp + 0xa0]
push ecx
mov ecx, dword [edx + eax*4]
mov edx, dword [esp + 0x94]
push ecx
push edx
lea esi, [esp + 0xbc]
call fcn.005fdde0
add esp, 0xc
mov dword [esp + 0x14], eax
test eax, eax
jne case.default.0x6047b9
mov ecx, dword [esp + 0xb4]
mov eax, dword [esp + 0xf0]
mov esi, dword [esp + 0xac]
mov dword [esp + 0xa8], ecx
call fcn.005d02b0
mov eax, dword [esp + 0xac]
mov cl, byte [esp + 0x33]
mov byte [eax + 0x1f], cl
jmp 0x60630d
cmp byte [edi + 1], 0xf8
jne 0x6062f2
mov edx, dword [edi + 0x10]
mov ebx, dword [esp + 0xac]
push 0x800
push edx
call fcn.005d7de0
add esp, 8
jmp 0x60630d
mov eax, dword [esp + 0xac]
mov cx, word [eax + 0x1c]
mov edx, 0xbe01
and cx, dx
or cx, 1
mov word [eax + 0x1c], cx
cmp dword [esp + 0xd4], 0
je 0x606359
mov eax, dword [esp + 0xac]
mov ecx, 0xe7ff
and word [eax + 0x1c], cx
mov eax, dword [esp + 0xac]
mov edx, 0x200
or word [eax + 0x1c], dx
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xb4]
mov dword [eax + 4], ecx
mov edx, dword [esp + 0xd4]
mov eax, dword [esp + 0xac]
mov dword [eax + 0x24], edx
mov eax, dword [esp + 0xac]
call fcn.005de430
mov dword [esp + 0x14], eax
jmp case.default.0x6047b9
push 0x10332
call fcn.005e2a20
add esp, 4
mov dword [esp + 0x14], eax
jmp case.default.0x6047b9
mov ecx, dword [edi + 0x10]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x70], ecx
mov edi, dword [edi + 4]
lea edx, [edi + edi*4]
lea esi, [eax + edx*8]
mov al, byte [ecx]
mov byte [esp + 0x74], al
test al, al
je 0x6063dd
inc ecx
mov dword [esp + 0x70], ecx
mov ecx, 0x4000
test word [esi + 0x1c], cx
je 0x6063bd
mov eax, esi
call fcn.005d7ba0
mov al, byte [esp + 0x74]
mov edx, dword [esp + 0x33]
push edx
mov ecx, esi
call fcn.005e5370
mov ecx, dword [esp + 0x74]
mov al, byte [ecx]
add esp, 4
add esi, 0x28
mov byte [esp + 0x74], al
test al, al
jne 0x6063a2
inc ecx
mov dword [esp + 0x70], ecx
jmp case.default.0x6047b9
xor eax, eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x90], eax
mov eax, dword [edi + 4]
mov dword [esp + 0xa4], eax
mov ecx, dword [edi + 0x10]
lea edx, [eax + eax*4]
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0x20]
lea ebx, [ecx + edx*8]
mov edx, dword [esp + 0x18]
movzx edx, byte [edx + 0x5d]
mov dword [esp + 0x9c], ebx
mov eax, dword [edi + 8]
mov dword [esp + 0xa4], eax
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8 - 0x28]
mov dword [esp + 0xac], edx
mov dword [esp + 0xa0], eax
mov edi, dword [edi + 0xc]
lea edx, [edi + edi*4]
lea edi, [ecx + edx*8]
mov esi, ebx
mov dword [esp + 0x28], edi
mov dword [esp + 0x74], esi
cmp ebx, eax
ja 0x606552
cmp dword [esp + 0xa8], 0
je 0x6064a9
mov eax, dword [esp + 0x33]
push eax
mov ecx, esi
sub ecx, ebx
mov eax, 0x66666667
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [esp + 0xac]
mov al, byte [ecx + edx]
mov ecx, esi
call fcn.005e5370
mov ebx, dword [esp + 0xa0]
mov esi, dword [esp + 0x78]
add esp, 4
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x6064cc
cmp dword [esi + 0x18], 0
jle 0x6064cc
mov eax, esi
call fcn.005d7ba0
mov ebx, dword [esp + 0x9c]
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0xac]
push ecx
mov edx, esi
call fcn.005d00f0
mov ecx, eax
mov dword [esp + 0x9c], ecx
call fcn.005d01f0
mov dword [esp + 0xb8], eax
cdq
add dword [esp + 0x7c], eax
push 0
push ecx
adc dword [esp + 0x88], edx
call fcn.005cb860
add dword [esp + 0x8c], eax
mov edx, 0x4000
add esp, 0xc
test word [esi + 0x1c], dx
je 0x606525
mov eax, dword [esi + 0x10]
add dword [esp + 0x90], eax
jmp 0x60653a
cmp dword [esp + 0xb4], 0
je 0x60653a
mov dword [esp + 0x90], 0
add esi, 0x28
mov dword [esp + 0x74], esi
cmp esi, dword [esp + 0xa0]
jbe 0x606466
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x80]
mov eax, esi
cdq
push edx
push eax
call fcn.005cb860
mov ebx, eax
add esi, ebx
mov eax, esi
cdq
push edx
push eax
mov dword [esp + 0xa4], ebx
mov dword [esp + 0x90], esi
call fcn.005cb860
add esp, 0x10
cmp ebx, eax
jge 0x60658e
inc esi
mov dword [esp + 0x80], esi
mov eax, dword [esp + 0x90]
cdq
mov ebx, eax
mov eax, edx
mov dword [esp + 0x2c], eax
mov eax, esi
cdq
mov ecx, eax
sub ecx, ebx
mov ebx, dword [esp + 0x2c]
mov esi, edx
mov edx, dword [esp + 0x1c]
sbb esi, ebx
add ecx, dword [esp + 0x78]
adc esi, dword [esp + 0x7c]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], esi
mov eax, dword [edx + 0x50]
cdq
cmp esi, edx
jg 0x6053ad
jl 0x6065dd
cmp ecx, eax
ja 0x6053ad
xor eax, eax
mov ebx, edi
call fcn.005d7ad0
test eax, eax
jne 0x605df9
mov eax, dword [esp + 0x80]
mov ecx, dword [edi + 4]
mov dword [esp + 0x70], ecx
cmp eax, 0x80
jae 0x60660c
mov byte [ecx], al
mov eax, 1
jmp 0x606611
call fcn.005cb630
mov ecx, dword [esp + 0x9c]
movzx esi, al
mov eax, dword [esp + 0xa0]
mov edx, ecx
mov dword [esp + 0xb0], esi
mov dword [esp + 0x74], edx
cmp ecx, eax
ja 0x60669c
mov ecx, dword [esp + 0xac]
push ecx
call fcn.005d00f0
add esp, 4
mov dword [esp + 0x98], eax
cmp eax, 0x80
jae 0x606661
mov dl, al
mov eax, dword [esp + 0x70]
mov byte [esi + eax], dl
mov eax, 1
jmp 0x60666c
mov ecx, dword [esp + 0x70]
add ecx, esi
call fcn.005cb630
mov esi, dword [esp + 0xb0]
movzx edx, al
mov eax, dword [esp + 0xa0]
add esi, edx
mov edx, dword [esp + 0x74]
add edx, 0x28
mov dword [esp + 0xb0], esi
mov dword [esp + 0x74], edx
cmp edx, eax
jbe 0x606633
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x74], ecx
cmp ecx, eax
ja 0x6066f4
jmp 0x6066b0
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x70]
sub eax, esi
push eax
mov eax, dword [esp + 0xb0]
lea ebx, [esi + edx]
call fcn.005d0210
mov ecx, dword [esp + 0x78]
mov esi, dword [esp + 0xb4]
add ecx, 0x28
add esi, eax
add esp, 4
mov dword [esp + 0xb0], esi
mov dword [esp + 0x74], ecx
cmp ecx, dword [esp + 0xa0]
jbe 0x6066b0
mov eax, dword [esp + 0x88]
mov ecx, 0x410
mov dword [edi + 0x18], eax
mov word [edi + 0x1c], cx
mov dword [edi + 0x20], 0
mov eax, dword [esp + 0x90]
test eax, eax
je 0x606725
mov edx, 0x4410
mov dword [edi + 0x10], eax
mov word [edi + 0x1c], dx
mov byte [edi + 0x1f], 1
jmp case.default.0x6047b9
mov ecx, dword [esp + 0x18]
mov eax, dword [edi + 4]
mov edx, dword [ecx + 0x40]
mov eax, dword [edx + eax*4]
mov eax, dword [eax]
xor ecx, ecx
mov dword [esp + 0x78], eax
cmp eax, ecx
je 0x60675a
lea ecx, [esp + 0x70]
push ecx
call fcn.005fc1c0
add esp, 4
mov dword [esp + 0x14], eax
jmp 0x606762
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], ecx
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x70]
mov dword [eax + 0x10], edx
mov ecx, dword [esp + 0x74]
mov dword [eax + 0x14], ecx
jmp case.default.0x6047b9
mov eax, dword [edi + 4]
mov dword [esp + 0x70], eax
mov esi, dword [edi + 0x10]
mov dword [esp + 0x74], esi
test eax, eax
jne 0x606870
mov edx, ebx
cmp dword [edx + 0x88], eax
jle 0x6067bc
mov edi, dword [esp + 0x18]
push str.cannot_open_savepoint___SQL_statements_in_progress
add edi, 0x34
mov eax, edx
call fcn.005e3070
add esp, 4
mov dword [esp + 0x14], 5
jmp case.default.0x6047b9
mov ecx, esi
call fcn.005cabe0
mov dword [esp + 0x78], eax
mov eax, dword [edx + 0x1e4]
add eax, dword [edx + 0x1e0]
push eax
push 0
push edx
call fcn.005d32c0
add esp, 0xc
mov dword [esp + 0x14], eax
test eax, eax
jne 0x606b31
mov ecx, dword [esp + 0x78]
add ecx, 0x19
mov esi, ebx
call fcn.005d5270
mov dword [esp + 0x7c], eax
test eax, eax
je case.default.0x6047b9
lea ecx, [eax + 0x18]
mov dword [eax], ecx
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x7c]
inc edx
push edx
mov edx, dword [ecx]
push eax
push edx
call fcn.00564f70
add esp, 0xc
cmp byte [esi + 0x36], 0
je 0x606834
mov byte [esi + 0x36], 0
mov byte [esi + 0x3d], 1
jmp 0x60683a
inc dword [esi + 0x1e0]
mov eax, dword [esi + 0x1d8]
mov ecx, dword [esp + 0x7c]
mov dword [ecx + 0x10], eax
mov edx, dword [esp + 0x7c]
mov eax, dword [esi + 0x1e8]
mov dword [esi + 0x1d8], edx
mov ecx, dword [esp + 0x7c]
mov dword [ecx + 8], eax
mov edx, dword [esi + 0x1ec]
mov eax, dword [esp + 0x7c]
mov dword [eax + 0xc], edx
jmp case.default.0x6047b9
mov dword [esp + 0x88], 0
mov edi, dword [ebx + 0x1d8]
mov dword [esp + 0x80], edi
test edi, edi
je 0x6068b5
lea esp, [esp]
mov ecx, dword [edi]
push esi
push ecx
call fcn.005cacb0
add esp, 8
test eax, eax
je 0x6068d9
inc dword [esp + 0x88]
mov edi, dword [edi + 0x10]
mov dword [esp + 0x80], edi
test edi, edi
jne 0x606890
mov edi, dword [esp + 0x18]
push esi
push str.no_such_savepoint:__s
add edi, 0x34
mov eax, ebx
call fcn.005e3070
add esp, 8
mov dword [esp + 0x14], 1
jmp case.default.0x6047b9
cmp dword [ebx + 0x88], 0
mov eax, dword [esp + 0x70]
jle 0x60690e
cmp eax, 1
jne 0x60690e
push str.cannot_release_savepoint___SQL_statements_in_progress
mov edi, dword [esp + 0x1c]
add edi, 0x34
mov eax, ebx
call fcn.005e3070
add esp, 4
mov dword [esp + 0x14], 5
jmp case.default.0x6047b9
cmp dword [edi + 0x10], 0
jne 0x606968
cmp byte [ebx + 0x3d], 0
je 0x606968
mov dword [esp + 0x2c], 1
cmp eax, 1
jne 0x606970
mov esi, dword [esp + 0x18]
push eax
mov ecx, esi
call fcn.005e4e70
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x604a3c
mov edi, esi
mov byte [ebx + 0x36], 1
call fcn.005ff690
cmp eax, 5
je 0x609b0e
mov byte [ebx + 0x3d], 0
mov edx, dword [esi + 0x58]
mov dword [esp + 0x14], edx
mov esi, ebx
jmp 0x606a6f
mov dword [esp + 0x2c], 0
mov ebx, dword [ebx + 0x1e0]
sub ebx, dword [esp + 0x88]
dec ebx
mov dword [esp + 0x88], ebx
cmp eax, 2
jne 0x6069de
mov ecx, dword [esp + 0x1c]
xor eax, eax
mov dword [esp + 0x8c], eax
cmp dword [ecx + 0x14], eax
jle 0x6069de
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx + 0x10]
shl eax, 4
mov edx, dword [eax + ecx + 4]
push edx
mov ebx, 4
call fcn.005f65c0
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x20]
inc eax
add esp, 4
mov dword [esp + 0x8c], eax
cmp eax, dword [ecx + 0x14]
jl 0x60699c
mov ebx, dword [esp + 0x88]
mov edi, dword [esp + 0x80]
mov edx, dword [esp + 0x1c]
xor eax, eax
mov dword [esp + 0x8c], eax
cmp dword [edx + 0x14], eax
jle 0x606a4a
mov ecx, edx
jmp 0x606a07
mov ebx, dword [esp + 0x88]
mov edx, dword [esp + 0x70]
mov ecx, dword [ecx + 0x10]
shl eax, 4
mov eax, dword [eax + ecx + 4]
push ebx
push edx
call fcn.005f1b40
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
jne 0x606b31
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x8c], eax
cmp eax, dword [ecx + 0x14]
jl 0x606a00
mov edi, dword [esp + 0x80]
mov esi, dword [esp + 0x1c]
mov ebx, 2
cmp dword [esp + 0x70], ebx
jne 0x606a76
test byte [esi + 0x18], bl
je 0x606a76
mov eax, esi
call fcn.005d05e0
mov eax, esi
call fcn.005e5e30
or dword [esi + 0x18], ebx
mov edi, dword [esp + 0x80]
cmp dword [esi + 0x1d8], edi
je 0x606ab9
mov edi, edi
mov eax, dword [esi + 0x1d8]
mov dword [esp + 0x84], eax
mov edx, dword [eax + 0x10]
mov dword [esi + 0x1d8], edx
mov edx, dword [esp + 0x84]
mov ecx, esi
call fcn.005ca970
dec dword [esi + 0x1e0]
mov edi, dword [esp + 0x80]
cmp dword [esi + 0x1d8], edi
jne 0x606a80
cmp dword [esp + 0x70], 1
jne 0x606aee
mov eax, dword [edi + 0x10]
mov dword [esi + 0x1d8], eax
mov edx, dword [esp + 0x80]
mov ecx, esi
call fcn.005ca970
cmp dword [esp + 0x2c], 0
jne case.default.0x6047b9
mov eax, dword [esp + 0x1c]
dec dword [eax + 0x1e0]
jmp 0x606b0f
cmp dword [esp + 0x2c], 0
mov ecx, dword [edi + 8]
mov dword [esi + 0x1e8], ecx
mov edx, dword [edi + 0xc]
mov dword [esi + 0x1ec], edx
jne case.default.0x6047b9
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x70]
push ecx
push edx
push eax
call fcn.005d32c0
add esp, 0xc
mov dword [esp + 0x14], eax
test eax, eax
je case.default.0x6047b9
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
cmp byte [ebx + 0x38], 0
je 0x609c04
mov dword [esp + 0x14], 7
jmp 0x609c12
mov eax, dword [edi + 4]
mov dword [esp + 0x70], eax
mov edi, dword [edi + 8]
mov dword [esp + 0x74], edi
test eax, eax
je 0x606b86
cmp byte [ebx + 0x36], 0
jne 0x606b86
mov dword [esp + 0x78], 1
test edi, edi
jne 0x606b8e
cmp dword [ebx + 0x88], edi
jle 0x606b8e
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x6068f0
mov dword [esp + 0x78], 0
movzx ecx, byte [ebx + 0x36]
cmp eax, ecx
jne 0x609b2d
test eax, eax
jne 0x606ba5
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x606bb3
mov eax, str.cannot_rollback___no_transaction_is_active
test edi, edi
jne 0x606bb3
mov eax, str.cannot_commit___no_transaction_is_active
mov edi, dword [esp + 0x18]
push eax
add edi, 0x34
mov eax, ebx
call fcn.005e3070
add esp, 4
mov dword [esp + 0x14], 1
jmp case.default.0x6047b9
mov edx, dword [edi + 4]
mov eax, ebx
mov ecx, dword [eax + 0x10]
shl edx, 4
mov eax, dword [edx + ecx + 4]
mov dword [esp + 0x70], eax
test eax, eax
je case.default.0x6047b9
mov edx, dword [edi + 8]
push edx
push eax
call fcn.005fa3e0
add esp, 8
mov dword [esp + 0x14], eax
cmp eax, 5
je 0x609bba
test eax, eax
jne 0x606b31
cmp dword [edi + 8], eax
je case.default.0x6047b9
mov edi, dword [esp + 0x18]
test byte [edi + 0x60], 0x80
je case.default.0x6047b9
mov esi, ebx
cmp byte [esi + 0x36], al
je 0x606c3a
cmp dword [esi + 0x84], 1
jle case.default.0x6047b9
cmp dword [edi + 0x70], 0
jne 0x606c57
inc dword [esi + 0x1e4]
mov eax, dword [esi + 0x1e4]
mov ecx, dword [esi + 0x1e0]
add ecx, eax
mov dword [edi + 0x70], ecx
mov edx, dword [edi + 0x70]
dec edx
push edx
push 0
push esi
call fcn.005d32c0
add esp, 0xc
mov dword [esp + 0x14], eax
test eax, eax
jne 0x606c83
mov eax, dword [edi + 0x70]
push eax
mov eax, dword [esp + 0x74]
call fcn.005d7a30
add esp, 4
mov dword [esp + 0x14], eax
mov ecx, dword [esi + 0x1e8]
mov dword [edi + 0x90], ecx
mov edx, dword [esi + 0x1ec]
mov dword [edi + 0x94], edx
jmp case.default.0x6047b9
mov eax, dword [edi + 4]
mov dword [esp + 0x74], eax
mov edi, dword [edi + 0xc]
lea ecx, [esp + 0x70]
mov dword [esp + 0x78], edi
push ecx
mov edx, ebx
mov ecx, dword [edx + 0x10]
shl eax, 4
mov eax, dword [eax + ecx + 4]
push edi
call fcn.005cf810
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x30]
cdq
add esp, 8
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.default.0x6047b9
mov edx, dword [edi + 4]
mov ecx, dword [esp + 0x20]
shl edx, 4
add edx, dword [ebx + 0x10]
mov dword [esp + 0x70], edx
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
call fcn.005cfbf0
mov edx, dword [esi + 0x10]
mov eax, dword [edi + 8]
mov ecx, dword [esp + 0x70]
push edx
push eax
mov eax, dword [ecx + 4]
call fcn.005e9eb0
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 8]
add esp, 8
cmp eax, 1
jne 0x606d30
mov edx, dword [esp + 0x70]
mov eax, dword [edx + 0xc]
mov ecx, dword [esi + 0x10]
mov dword [eax], ecx
or dword [ebx + 0x18], 2
jmp 0x606d42
cmp eax, 2
jne 0x606d42
mov edx, dword [esp + 0x70]
mov eax, dword [edx + 0xc]
mov cl, byte [esi + 0x10]
mov byte [eax + 0x4c], cl
cmp dword [edi + 4], 1
jne case.default.0x6047b9
mov eax, ebx
call fcn.005d05e0
mov eax, dword [esp + 0x18]
and dword [eax + 0x60], 0xffffffdf
jmp case.default.0x6047b9
mov edx, dword [edi + 4]
mov esi, ebx
mov eax, dword [esi + 0x10]
shl edx, 4
mov eax, dword [edx + eax + 4]
mov dword [esp + 0x78], eax
test eax, eax
je 0x606d98
lea ecx, [esp + 0x70]
push ecx
push 1
call fcn.005cf810
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x10]
add esp, 8
shl edx, 4
mov ecx, dword [edx + eax + 0xc]
mov eax, dword [ecx + 4]
jmp 0x606da2
mov dword [esp + 0x70], 0
xor eax, eax
mov edx, dword [esp + 0x70]
mov dword [esp + 0x74], eax
cmp edx, dword [edi + 8]
jne 0x606dba
cmp eax, dword [edi + 0xc]
je case.default.0x6047b9
mov esi, ebx
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0x34]
mov ecx, esi
call fcn.005ca970
mov esi, dword [esp + 0x1c]
mov ebx, str.database_schema_has_changed
mov edx, esi
call fcn.005d5390
mov ebx, dword [esp + 0x18]
mov dword [ebx + 0x34], eax
mov edi, dword [edi + 4]
mov edx, dword [esi + 0x10]
mov ecx, edi
shl ecx, 4
mov eax, dword [ecx + edx + 0xc]
mov ecx, dword [eax]
cmp ecx, dword [esp + 0x70]
je 0x606e01
mov esi, edi
mov edi, dword [esp + 0x1c]
call fcn.005e5e00
or dword [ebx + 0x60], 0x20
mov dword [esp + 0x14], 0x11
jmp case.default.0x6047b9
mov edx, dword [esp + 0x18]
test byte [edx + 0x60], 0x20
je 0x606e29
mov dword [esp + 0x14], 4
jmp case.default.0x6047b9
xor ecx, ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], ecx
mov edx, dword [edi + 8]
mov dword [esp + 0x78], edx
mov eax, dword [edi + 0xc]
mov dword [esp + 0x7c], eax
shl eax, 4
mov esi, ebx
add eax, dword [esi + 0x10]
mov dword [esp + 0x8c], eax
mov esi, dword [eax + 4]
mov dword [esp + 0x84], esi
cmp byte [edi], 0x28
jne 0x606e7e
mov esi, dword [esp + 0x18]
mov dword [esp + 0x80], 1
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4c]
cmp al, byte [esi + 0x5d]
jae 0x606e85
mov byte [esi + 0x5d], al
jmp 0x606e85
mov dword [esp + 0x80], ecx
test byte [edi + 3], 2
je 0x606eae
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x20]
lea esi, [edx + ecx*8]
call fcn.005cfbf0
mov esi, dword [esi + 0x10]
cmp esi, 2
mov dword [esp + 0x78], esi
jl 0x609bd9
mov ecx, dword [esp + 0x70]
mov al, byte [edi + 1]
cmp al, 0xfa
jne 0x606ed9
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
mov eax, dword [edi + 0x10]
mov dword [esp + 0x74], eax
mov ecx, dword [edx + 0x10]
mov edx, dword [ecx + 0xc]
mov cl, byte [edx + 0x4d]
mov byte [eax + 4], cl
mov edx, dword [esp + 0x74]
movzx ecx, word [edx + 6]
inc ecx
jmp 0x606ee0
cmp al, 0xf2
jne 0x606ee4
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x70], ecx
mov eax, dword [esp + 0x7c]
push 1
push eax
mov eax, dword [esp + 0x20]
push ecx
mov ecx, dword [edi + 4]
push ecx
call fcn.005fe560
add esp, 0x10
mov dword [esp + 0x88], eax
test eax, eax
je 0x605dfd
mov byte [eax + 0x1c], 1
mov edx, dword [esp + 0x88]
mov byte [edx + 0x20], 1
mov eax, dword [esp + 0x88]
mov ecx, dword [eax]
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x80]
push ecx
push edx
push eax
mov eax, dword [esp + 0x90]
call fcn.005cf5a0
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x80]
mov dword [ecx + 8], edx
mov ecx, dword [esp + 0x94]
mov ecx, dword [ecx]
mov dword [esp + 0x20], eax
movzx eax, byte [edi + 3]
and eax, 1
push eax
call fcn.005cf930
mov eax, dword [esp + 0x98]
add esp, 0x10
cmp byte [edi + 1], 0xfa
setne dl
mov byte [eax + 0x1e], dl
mov eax, dword [esp + 0x88]
cmp byte [eax + 0x1e], 0
sete cl
mov byte [eax + 0x1f], cl
jmp case.default.0x6047b9
mov edx, dword [edi + 8]
mov eax, dword [edi + 4]
mov esi, dword [esp + 0x18]
push 1
push 0xffffffffffffffff
push edx
push eax
mov eax, esi
call fcn.005fe560
add esp, 0x10
mov dword [esp + 0x70], eax
test eax, eax
je 0x605e01
mov byte [eax + 0x1c], 1
movzx ecx, byte [edi + 3]
or ecx, 5
push 0x41e
push ecx
mov ecx, dword [esp + 0x78]
mov edx, ebx
mov eax, dword [edx]
push 0
add ecx, 4
push eax
call fcn.005fd0c0
add esp, 0x10
mov dword [esp + 0x14], eax
test eax, eax
jne 0x6070ab
mov ecx, dword [esp + 0x70]
mov edx, dword [ecx + 4]
push 1
push edx
call fcn.005fa3e0
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
jne 0x6070ab
cmp dword [edi + 0x10], eax
je 0x607085
movzx eax, byte [edi + 3]
mov edx, dword [esp + 0x70]
or eax, 2
push eax
mov eax, dword [edx + 4]
lea ecx, [esp + 0x5c]
push ecx
call fcn.005f7df0
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
jne 0x60707b
mov eax, dword [esp + 0x70]
mov ecx, dword [eax]
mov edx, dword [edi + 0x10]
mov eax, dword [eax + 4]
push ecx
mov ecx, dword [esp + 0x5c]
push edx
push ecx
mov ebx, 1
call fcn.005cf5a0
mov edx, dword [edi + 0x10]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x7c]
mov dword [eax + 8], edx
mov ecx, esi
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x7c]
mov eax, dword [edx + 8]
mov cl, byte [ecx + 0x4d]
add esp, 0xc
mov byte [eax + 4], cl
mov edx, dword [esp + 0x70]
mov byte [edx + 0x1e], 0
jmp 0x6070ab
mov eax, dword [esp + 0x70]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
push ecx
push 0
push 1
mov ebx, 1
call fcn.005cf5a0
mov edx, dword [esp + 0x7c]
add esp, 0xc
mov dword [esp + 0x14], eax
mov byte [edx + 0x1e], bl
cmp byte [edi + 3], 8
mov ecx, dword [esp + 0x70]
setne al
mov byte [ecx + 0x20], al
mov eax, dword [esp + 0x70]
cmp byte [eax + 0x1e], 0
sete dl
mov byte [eax + 0x1f], dl
jmp case.default.0x6047b9
mov eax, dword [edi + 8]
mov ecx, dword [edi + 4]
mov esi, dword [esp + 0x18]
push 1
push 0xffffffffffffffff
push eax
push ecx
mov eax, esi
call fcn.005fe560
add esp, 0x10
mov dword [esp + 0x70], eax
test eax, eax
je 0x605e01
mov edx, dword [edi + 0x10]
mov dword [eax + 8], edx
mov eax, dword [esi]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + 0xc]
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 8]
mov dl, byte [edx + 0x4d]
mov byte [ecx + 4], dl
mov eax, dword [esp + 0x70]
mov byte [eax + 0x21], 1
mov ecx, dword [esp + 0x70]
push ecx
mov edx, ebx
push edx
call fcn.005de980
add esp, 8
mov dword [esp + 0x14], eax
jmp case.default.0x6047b9
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 4]
mov esi, dword [esp + 0x18]
push 0
push 0xffffffffffffffff
push eax
push ecx
mov eax, esi
call fcn.005fe560
add esp, 0x10
mov dword [esp + 0x70], eax
test eax, eax
je 0x605e01
mov byte [eax + 0x1c], 1
mov edx, dword [edi + 8]
mov eax, dword [esp + 0x70]
mov dword [eax + 0x10], edx
mov ecx, dword [esp + 0x70]
mov byte [ecx + 0x1e], 1
mov edx, dword [esp + 0x70]
mov byte [edx + 0x1f], 0
mov al, byte [edi + 3]
mov ecx, dword [esp + 0x70]
mov byte [ecx + 0x22], al
jmp case.default.0x6047b9
mov edx, dword [edi + 4]
mov edi, dword [esp + 0x18]
mov eax, dword [edi + 0x40]
mov eax, dword [eax + edx*4]
call fcn.005fe280
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + 4]
mov eax, dword [edi + 0x40]
mov dword [eax + edx*4], 0
jmp case.default.0x6047b9
mov edx, dword [esp + 0x18]
mov ecx, dword [edi + 4]
mov eax, dword [edx + 0x40]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x78], eax
cmp dword [eax], 0
je 0x6047ce
movzx ecx, byte [edi]
mov dword [esp + 0x74], ecx
mov byte [eax + 0x1c], 0
mov ecx, dword [esp + 0x78]
cmp byte [ecx + 0x1e], 0
je 0x607391
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x20]
lea esi, [eax + edx*8]
call fcn.005d09b0
mov ecx, esi
call fcn.005cfad0
mov ecx, dword [esp + 0x78]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], edx
mov byte [ecx + 0x19], 0
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x60732a
test al, 8
jne 0x607228
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x24], edi
jmp case.default.0x6047b9
xor ebx, ebx
cmp dword [esp + 0xa0], ebx
jne 0x6072d4
mov eax, accept
cmp dword [esp + 0xa4], eax
jne 0x6072d4
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], ebx
fild qword [esp + 0x68]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
je 0x60726b
fldz
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x6072d4
fldz
mov dword [esp + 0x70], 1
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x607297
cmp dword [esp + 0x74], 0x30
jl 0x6072c7
mov edx, dword [esp + 0x78]
mov esi, dword [edx]
lea edi, [esp + 0x70]
call fcn.005fade0
jmp 0x6072ad
cmp dword [esp + 0x74], 0x2f
jg 0x6072c7
mov eax, dword [esp + 0x78]
mov esi, dword [eax]
lea edi, [esp + 0x70]
call fcn.005fae10
mov dword [esp + 0x14], eax
cmp eax, ebx
jne 0x606b31
cmp dword [esp + 0x70], ebx
je case.default.0x6047b9
mov edi, dword [esp + 0x2c]
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x24], edi
jmp case.default.0x6047b9
mov eax, dword [esp + 0x74]
cmp eax, 0x2e
je 0x607308
cmp eax, 0x30
je 0x607308
fild qword [esp + 0xa0]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x60732c
mov eax, 0xffffffff
add dword [esp + 0xa0], eax
adc dword [esp + 0xa4], eax
jmp 0x60732c
fild qword [esp + 0xa0]
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x60732c
add dword [esp + 0xa0], 1
adc dword [esp + 0xa4], ebx
jmp 0x60732c
xor ebx, ebx
mov edx, dword [esp + 0xa4]
mov eax, dword [esp + 0xa0]
lea ecx, [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x7c]
push ebx
push edx
mov edx, dword [ecx]
push eax
push ebx
push edx
call fcn.005fae50
add esp, 0x18
mov dword [esp + 0x14], eax
cmp eax, ebx
jne 0x606b31
cmp dword [esp + 0x70], ebx
jne 0x607415
mov eax, dword [esp + 0x78]
mov byte [eax + 0x19], 1
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x78]
mov dword [edx + 0x40], ecx
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x78]
mov dword [ecx + 0x44], eax
jmp 0x607415
mov edx, dword [edi + 0x10]
mov dword [esp + 0x98], edx
mov eax, dword [ecx + 8]
mov dword [esp + 0x80], eax
mov al, byte [esp + 0x74]
and al, 1
mov word [esp + 0x84], dx
mov byte [esp + 0x86], al
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x20]
lea eax, [eax + edx*8]
mov edx, 0x4000
mov dword [esp + 0x90], eax
test word [eax + 0x1c], dx
je 0x6073e2
call fcn.005d7ba0
mov ecx, dword [esp + 0x78]
lea eax, [esp + 0x70]
push eax
mov eax, dword [ecx]
push 0
push 0
push 0
lea edx, [esp + 0x90]
push edx
push eax
call fcn.005fae50
add esp, 0x18
mov dword [esp + 0x14], eax
test eax, eax
jne 0x606b31
mov ecx, dword [esp + 0x78]
mov byte [ecx + 0x19], al
xor ebx, ebx
mov edx, dword [esp + 0x78]
mov byte [edx + 0x1d], 0
mov eax, dword [esp + 0x78]
mov dword [eax + 0x50], ebx
mov ecx, dword [esp + 0x74]
cmp ecx, 0x30
mov eax, dword [esp + 0x70]
jl 0x60746f
cmp eax, ebx
jl 0x607445
jne 0x60743c
cmp ecx, 0x31
je 0x607445
mov dword [esp + 0x70], ebx
jmp case.default.0x6047b9
mov edx, dword [esp + 0x78]
mov eax, dword [edx]
lea ecx, [esp + 0x70]
push ecx
push eax
call fcn.005fd740
add esp, 8
mov dword [esp + 0x14], eax
cmp eax, ebx
jne 0x606b31
mov ecx, dword [esp + 0x78]
mov byte [ecx + 0x19], 0
jmp 0x6074b3
cmp eax, ebx
jg 0x60748b
jne 0x60747a
cmp ecx, 0x2e
je 0x60748b
mov edx, dword [esp + 0x78]
mov ecx, dword [edx]
call fcn.005cf750
mov dword [esp + 0x70], eax
jmp 0x6074b3
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx]
lea eax, [esp + 0x70]
push eax
push edx
call fcn.005fd850
add esp, 8
mov dword [esp + 0x14], eax
cmp eax, ebx
jne 0x606b31
mov eax, dword [esp + 0x78]
mov byte [eax + 0x19], 0
cmp dword [esp + 0x70], ebx
je case.default.0x6047b9
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x24], edi
jmp case.default.0x6047b9
mov edx, dword [esp + 0x18]
mov ecx, dword [edi + 4]
mov eax, dword [edx + 0x40]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x70], eax
cmp dword [eax], 0
je case.default.0x6047b9
mov edx, dword [esp + 0x20]
mov byte [eax + 0x1c], 0
mov edi, dword [edi + 8]
lea ecx, [edi + edi*4]
lea ecx, [edx + ecx*8]
call fcn.005cfad0
mov ecx, dword [esp + 0x70]
mov dword [ecx + 0x38], eax
mov eax, dword [esp + 0x70]
mov dword [eax + 0x3c], edx
mov ecx, dword [esp + 0x70]
mov byte [ecx + 0x19], 0
mov edx, dword [esp + 0x70]
mov byte [edx + 0x1d], 1
jmp case.default.0x6047b9
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x40]
mov esi, dword [esp + 0x20]
xor edx, edx
mov dword [esp + 0x70], edx
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x74], eax
mov ecx, dword [edi + 0xc]
lea ecx, [ecx + ecx*4]
lea esi, [esi + ecx*8]
cmp dword [eax], edx
je 0x60763b
cmp dword [edi + 0x10], edx
jle 0x607583
mov edx, dword [eax + 8]
mov dword [esp + 0x88], edx
mov cx, word [edi + 0x10]
lea edx, [esp + 0x88]
mov word [esp + 0x8c], cx
mov dword [esp + 0x98], esi
mov byte [esp + 0x8e], 2
mov dword [esp + 0x80], edx
jmp 0x6075dc
mov edi, dword [eax + 8]
push 0x97
lea ebx, [esp + 0x80]
lea edx, [esp + 0xa4]
call fcn.005d8510
add esp, 4
mov dword [esp + 0x80], eax
test eax, eax
je 0x605df9
mov ecx, dword [esi + 0x18]
mov edx, dword [esp + 0x74]
push eax
mov eax, dword [esi + 4]
push eax
mov eax, dword [edx + 8]
push ecx
push eax
call fcn.005d04d0
mov eax, dword [esp + 0x90]
mov edi, dword [esp + 0x3c]
add esp, 0x10
or byte [eax + 6], 2
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x80]
mov eax, dword [eax]
lea ecx, [esp + 0x78]
push ecx
push 0
push 0
push 0
push edx
push eax
call fcn.005fae50
add esp, 0x18
cmp dword [edi + 0x10], 0
mov esi, eax
mov dword [esp + 0x14], esi
jne 0x607613
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x1c]
call fcn.005ca970
test esi, esi
jne case.default.0x6047b9
mov edx, dword [esp + 0x74]
xor ecx, ecx
cmp dword [esp + 0x78], ecx
sete cl
mov dword [esp + 0x70], ecx
mov byte [edx + 0x1d], 0
mov eax, dword [esp + 0x74]
mov dword [eax + 0x50], esi
mov edx, dword [esp + 0x70]
cmp byte [edi], 0x34
jne 0x607655
test edx, edx
je case.default.0x6047b9
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x24], edi
jmp case.default.0x6047b9
test edx, edx
jne case.default.0x6047b9
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x24], edi
jmp case.default.0x6047b9
mov eax, dword [edi + 0xc]
mov ecx, dword [esp + 0x20]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x10]
lea esi, [ecx + edx*8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x80], ecx
mov edx, dword [edi + 4]
mov ecx, dword [eax + 0x40]
mov eax, dword [ecx + edx*4]
mov dword [esp + 0x74], eax
xor ecx, ecx
mov dword [eax + 0x4c], ecx
mov edx, dword [esp + 0x74]
mov dword [edx + 0x50], ecx
mov edx, dword [esp + 0x74]
mov eax, dword [edx]
mov dword [esp + 0x78], eax
mov ecx, dword [edx + 8]
mov cx, word [ecx + 6]
xor ebx, ebx
xor eax, eax
cmp bx, cx
mov ebx, dword [esp + 0x80]
mov word [esp + 0x7c], cx
mov word [esp + 0x70], ax
jae 0x6076f1
nop
movzx edx, ax
lea edx, [edx + edx*4]
test byte [ebx + edx*8 + 0x1c], 1
jne 0x6077a9
inc ax
mov word [esp + 0x70], ax
cmp ax, cx
jb 0x6076d0
mov edx, dword [esp + 0x74]
cmp dword [esp + 0x78], 0
je case.default.0x6047b9
mov eax, dword [edx + 8]
mov ecx, dword [esp + 0x7c]
inc ecx
mov dword [esp + 0x88], eax
mov word [esp + 0x8c], cx
mov byte [esp + 0x8e], 4
mov dword [esp + 0x98], ebx
call fcn.005cfbf0
mov ecx, dword [esp + 0x74]
mov edx, dword [esi + 0x10]
add ecx, 0x4c
push ecx
push 0
mov dword [esp + 0xa8], edx
mov eax, dword [esi + 0x14]
push 0
push 0
lea edx, [esp + 0x98]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x88]
push edx
push eax
call fcn.005fae50
add esp, 0x18
test byte [esp + 0x8e], 4
mov dword [esp + 0x14], eax
jne 0x6047ce
mov eax, dword [esp + 0x90]
cmp eax, dword [esp + 0xa0]
jne 0x607797
mov ecx, dword [esp + 0x94]
cmp ecx, dword [esp + 0xa4]
je 0x6047ce
mov dword [esi + 0x10], eax
mov edx, dword [esp + 0x94]
mov dword [esi + 0x14], edx
jmp case.default.0x6047b9
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x78], 0
jmp case.default.0x6047b9
mov eax, dword [edi + 0xc]
mov ecx, dword [esp + 0x20]
mov edx, dword [edi + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x40]
mov ecx, dword [ecx + edx*4]
mov dword [esp + 0x70], ecx
mov eax, dword [ecx]
xor edx, edx
mov dword [esp + 0x74], eax
cmp eax, edx
je 0x60787f
mov dword [esp + 0x78], edx
mov ecx, dword [esi + 0x10]
lea ebx, [esp + 0x78]
push ebx
push 0
mov dword [esp + 0x88], ecx
mov edx, dword [esi + 0x14]
push edx
push ecx
push 0
push eax
mov dword [esp + 0x9c], edx
call fcn.005fae50
mov edx, dword [esi + 0x10]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x88]
mov dword [eax + 0x40], edx
mov ecx, dword [esi + 0x14]
mov edx, dword [esp + 0x88]
mov dword [edx + 0x44], ecx
mov ecx, dword [esp + 0x88]
add esp, 0x18
cmp dword [esp + 0x78], 0
sete al
mov byte [ecx + 0x19], al
mov edx, dword [esp + 0x70]
mov byte [edx + 0x1c], 0
mov eax, dword [esp + 0x70]
mov dword [eax + 0x50], 0
mov ecx, dword [esp + 0x70]
mov byte [ecx + 0x1d], 0
mov eax, dword [esp + 0x78]
test eax, eax
je 0x607873
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x24], edi
mov edx, dword [esp + 0x70]
mov dword [edx + 0x4c], eax
jmp case.default.0x6047b9
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x24], edi
mov dword [ecx + 0x4c], edx
jmp case.default.0x6047b9
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0x40]
mov eax, dword [ecx + eax*4]
mov esi, dword [eax + 0x30]
mov ecx, dword [esp + 0x28]
mov dword [ecx + 0x10], esi
mov eax, dword [eax + 0x34]
mov dword [ecx + 0x14], eax
mov ecx, dword [edi + 4]
mov edx, dword [edx + 0x40]
mov eax, dword [edx + ecx*4]
add dword [eax + 0x30], 1
adc dword [eax + 0x34], 0
jmp case.default.0x6047b9
mov edx, dword [esp + 0x18]
mov edx, dword [edx + 0x40]
xor eax, eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x7c], eax
mov ecx, dword [edi + 4]
mov esi, dword [edx + ecx*4]
mov dword [esp + 0x78], esi
mov ecx, dword [esi]
cmp ecx, eax
je 0x606762
cmp byte [esi + 0x1b], al
jne 0x607a63
call fcn.005cf620
mov ecx, eax
or ecx, edx
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
jne 0x60797b
mov esi, dword [esi]
lea edi, [esp + 0x7c]
call fcn.005fae10
mov dword [esp + 0x14], eax
test eax, eax
jne 0x609b05
cmp dword [esp + 0x7c], eax
je 0x60792d
mov eax, 1
xor edx, edx
jmp 0x60796f
mov edx, dword [esp + 0x78]
mov eax, dword [edx]
lea edi, [esp + 0x70]
call fcn.005cf660
mov edx, dword [esp + 0x74]
cmp edx, 0x7fffffff
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x70]
jl 0x607969
jg 0x607957
cmp eax, 0xffffffff
jb 0x607969
mov eax, dword [esp + 0x78]
mov byte [eax + 0x1b], 1
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
jmp 0x607977
add eax, 1
adc edx, 0
mov dword [esp + 0x74], edx
mov dword [esp + 0x70], eax
mov edi, dword [esp + 0x2c]
mov esi, dword [edi + 0xc]
test esi, esi
je 0x607a38
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0xa0]
test ecx, ecx
je 0x6079c0
mov dword [esp + 0x88], ecx
mov eax, dword [ecx + 4]
test eax, eax
je 0x6079b2
mov ecx, eax
mov dword [esp + 0x88], ecx
mov eax, dword [ecx + 4]
test eax, eax
jne 0x6079a2
mov edi, dword [edi + 0xc]
mov eax, dword [ecx + 0xc]
lea edx, [edi + edi*4]
lea esi, [eax + edx*8]
jmp 0x6079ca
mov edx, dword [esp + 0x20]
lea ecx, [esi + esi*4]
lea esi, [edx + ecx*8]
mov dword [esp + 0x84], esi
call fcn.005cfbf0
mov edx, dword [esp + 0x84]
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0x14]
add edx, 0x10
cmp eax, 0xffffffff
jne 0x6079f7
cmp ecx, 0x7fffffff
je 0x609bf3
mov esi, dword [esp + 0x78]
cmp byte [esi + 0x1b], 0
jne 0x609bf3
mov esi, dword [esp + 0x74]
add eax, 1
adc ecx, 0
cmp esi, ecx
jg 0x607a23
jl 0x607a1b
cmp dword [esp + 0x70], eax
jae 0x607a23
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
mov eax, dword [esp + 0x70]
mov dword [edx], eax
mov ecx, dword [esp + 0x74]
mov dword [edx + 4], ecx
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
cmp edx, 0x7fffffff
jg 0x607a4f
jl 0x607a47
cmp eax, 0xffffffff
jae 0x607a4f
add eax, 1
adc edx, 0
jmp 0x607a53
xor eax, eax
xor edx, edx
push edx
mov edx, dword [esp + 0x7c]
mov esi, dword [edx]
push eax
call fcn.005cf5f0
add esp, 8
mov edx, dword [esp + 0x78]
cmp byte [edx + 0x1b], 0
je 0x607b5d
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
and eax, 0x3fffffff
add ecx, 1
lea esi, [esp + 0x7c]
push esi
adc eax, 0
push 0
push eax
push ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], eax
mov dword [esp + 0x90], 0
mov eax, dword [edx]
push 0
push eax
call fcn.005fae50
add esp, 0x18
mov dword [esp + 0x14], eax
test eax, eax
jne 0x607b5d
mov ecx, dword [esp + 0x7c]
test ecx, ecx
jne 0x607b4e
mov eax, dword [esp + 0x80]
inc eax
cmp eax, 0x64
mov dword [esp + 0x80], eax
jge 0x607b4e
lea ecx, [esp + 0x70]
push ecx
push 8
call fcn.005d5680
mov eax, dword [esp + 0x78]
add esp, 8
cmp dword [esp + 0x80], 5
jge 0x607b05
and eax, 0xffffff
xor ecx, ecx
jmp 0x607b0f
mov ecx, dword [esp + 0x74]
and ecx, 0x3fffffff
add eax, 1
lea edx, [esp + 0x7c]
push edx
adc ecx, 0
push 0
push ecx
push eax
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x84], ecx
mov ecx, dword [eax]
push 0
push ecx
call fcn.005fae50
add esp, 0x18
mov dword [esp + 0x14], eax
test eax, eax
je 0x607abf
jmp 0x607b5d
cmp dword [esp + 0x14], 0
jne 0x607b5d
test ecx, ecx
je 0x609bf3
mov edx, dword [esp + 0x78]
mov byte [edx + 0x19], 0
mov eax, dword [esp + 0x78]
mov byte [eax + 0x1d], 0
mov ecx, dword [esp + 0x78]
mov dword [ecx + 0x50], 0
jmp 0x606762
mov eax, dword [edi + 8]
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x18]
lea edx, [eax + eax*4]
lea esi, [ecx + edx*8]
mov edx, dword [ebx + 0x40]
mov dword [esp + 0x70], esi
mov eax, dword [edi + 4]
mov eax, dword [edx + eax*4]
mov dword [esp + 0x80], eax
cmp byte [edi], 0x39
mov eax, dword [edi + 0xc]
jne 0x607bc0
lea edx, [eax + eax*4]
lea ecx, [ecx + edx*8]
mov dword [esp + 0x74], ecx
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x78], eax
mov edx, dword [ecx + 0x14]
jmp 0x607bc5
cdq
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
test byte [edi + 3], 1
je 0x607bd2
inc dword [ebx + 0x64]
test byte [edi + 3], 2
je 0x607bf2
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x20], eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x7c]
mov dword [ecx + 0x24], eax
mov esi, dword [esp + 0x70]
mov dword [esp + 0x3c], edx
xor eax, eax
test byte [esi + 0x1c], 1
je 0x607c08
mov dword [esi + 4], eax
mov ecx, dword [esp + 0x70]
mov dword [ecx + 0x18], eax
mov esi, dword [esp + 0x70]
test byte [edi + 3], 0x10
je 0x607c21
mov edx, dword [esp + 0x80]
mov ecx, dword [edx + 0x4c]
mov dword [esp + 0x88], ecx
jmp 0x607c28
mov dword [esp + 0x88], eax
mov edx, 0x4000
test word [esi + 0x1c], dx
je 0x607c36
mov eax, dword [esi + 0x10]
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x84], eax
mov esi, dword [ecx]
push 0
push 0
call fcn.005cf5f0
movzx eax, byte [edi + 3]
mov edx, dword [esp + 0x90]
mov ecx, dword [esp + 0x8c]
push edx
and eax, 8
push eax
mov eax, dword [esp + 0x80]
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 4]
push ecx
mov ecx, dword [esp + 0x90]
push edx
mov edx, dword [esp + 0x90]
push eax
mov eax, dword [esp + 0x9c]
push ecx
mov ecx, dword [eax]
push edx
push 0
push ecx
call fcn.005fd960
mov edx, dword [esp + 0xac]
mov byte [edx + 0x19], 0
mov ecx, dword [esp + 0xac]
mov byte [ecx + 0x1d], 0
mov edx, dword [esp + 0xac]
add esp, 0x2c
mov dword [esp + 0x14], eax
mov dword [edx + 0x50], 0
test eax, eax
jne case.default.0x6047b9
mov eax, dword [esp + 0x1c]
cmp dword [eax + 0xbc], 0
je case.default.0x6047b9
cmp dword [edi + 0x10], 0
je case.default.0x6047b9
mov ecx, dword [esp + 0x80]
mov edx, dword [ecx + 0xc]
mov ecx, eax
mov eax, dword [ecx + 0x10]
shl edx, 4
mov edx, dword [edx + eax]
mov dword [esp + 0x8c], edx
mov esi, dword [edi + 0x10]
mov dword [esp + 0x90], esi
mov al, byte [edi + 3]
mov edi, dword [esp + 0x7c]
and al, 4
movzx eax, al
push edi
mov edi, dword [esp + 0x7c]
neg eax
sbb eax, eax
push edi
and eax, 5
add eax, 0x12
push esi
push edx
mov dword [esp + 0xa4], eax
mov edx, dword [ecx + 0xb8]
push eax
mov eax, dword [ecx + 0xbc]
push edx
call eax
add esp, 0x18
jmp case.default.0x6047b9
mov esi, dword [esp + 0x18]
mov eax, dword [esi + 0x40]
xor ecx, ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], ecx
mov edx, dword [edi + 4]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x78], eax
cmp dword [ebx + 0xbc], ecx
je 0x607d7e
cmp dword [edi + 0x10], ecx
je 0x607d7e
mov ecx, dword [eax + 0x40]
mov dword [esp + 0x70], ecx
mov edx, dword [eax + 0x44]
mov dword [esp + 0x74], edx
push eax
call fcn.005fe2e0
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x606b39
push eax
push eax
mov eax, dword [esp + 0x80]
mov esi, dword [eax]
call fcn.005cf5f0
mov ecx, dword [esp + 0x80]
mov edx, dword [ecx]
push edx
call fcn.005fdb60
mov ecx, dword [esp + 0x84]
add esp, 0xc
mov dword [esp + 0x14], eax
mov dword [ecx + 0x50], 0
test eax, eax
jne 0x607e0b
mov edx, ebx
mov ecx, dword [edx + 0xbc]
test ecx, ecx
je 0x607e0b
mov eax, dword [edi + 0x10]
test eax, eax
je 0x607e0b
mov esi, dword [esp + 0x74]
push esi
mov esi, dword [esp + 0x74]
push esi
mov esi, dword [edx + 0x10]
mov edx, dword [edx + 0xb8]
push eax
mov eax, dword [esp + 0x84]
mov eax, dword [eax + 0xc]
shl eax, 4
mov eax, dword [eax + esi]
push eax
push 9
push edx
call ecx
add esp, 0x18
test byte [edi + 8], 1
je case.default.0x6047b9
mov eax, dword [esp + 0x18]
inc dword [eax + 0x64]
jmp case.default.0x6047b9
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0x64]
mov eax, ebx
call fcn.005d05c0
mov dword [edx + 0x64], 0
jmp case.default.0x6047b9
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x40]
mov eax, dword [edx + eax*4]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x70], eax
mov edi, dword [edi + 0xc]
lea ecx, [edi + edi*4]
lea esi, [edx + ecx*8]
lea ebx, [esp + 0x74]
mov edi, eax
call fcn.005eb1b0
cmp dword [esp + 0x74], 0
mov dword [esp + 0x14], eax
je case.default.0x6047b9
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 8]
dec eax
mov dword [esp + 0x24], eax
jmp case.default.0x6047b9
mov eax, dword [edi + 8]
mov edx, dword [esp + 0x20]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 4]
lea ecx, [edx + ecx*8]
mov edx, dword [esp + 0x18]
mov edx, dword [edx + 0x40]
mov eax, dword [edx + eax*4]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x70], eax
call fcn.005d8db0
mov dword [esp + 0x14], eax
jmp case.default.0x6047b9
mov eax, dword [edi + 8]
mov ecx, dword [esp + 0x20]
mov edx, dword [edi + 4]
mov esi, dword [esp + 0x18]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [esi + 0x40]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x70], eax
mov ecx, dword [eax]
push eax
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x78], ecx
call fcn.005fe2e0
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x606b35
mov edx, dword [esp + 0x70]
cmp byte [edx + 0x1f], 0
mov eax, dword [esp + 0x74]
je 0x607f39
lea edi, [esp + 0x80]
call fcn.005cf660
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x50]
mov ecx, dword [esp + 0x84]
cdq
cmp ecx, edx
jg 0x6053ad
mov ecx, dword [esp + 0x80]
jl 0x607f33
cmp ecx, eax
ja 0x6053ad
mov dword [esp + 0x78], ecx
jmp 0x607f57
lea edx, [esp + 0x78]
push edx
call fcn.005cf690
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x20]
add esp, 4
cmp ecx, dword [eax + 0x50]
ja 0x6053ad
xor eax, eax
call fcn.005d7ad0
test eax, eax
jne 0x605df9
mov dx, word [ebx + 0x1c]
mov ecx, dword [esp + 0x78]
mov eax, 0xbe10
and dx, ax
mov eax, dword [ebx + 4]
or dx, 0x10
mov dword [ebx + 0x18], ecx
mov word [ebx + 0x1c], dx
mov ecx, dword [esp + 0x70]
cmp byte [ecx + 0x1f], 0
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
je 0x607fae
push edx
xor edx, edx
call fcn.005f6a70
add esp, 4
mov dword [esp + 0x14], eax
mov byte [ebx + 0x1f], 1
jmp case.default.0x6047b9
push eax
push ecx
push 0
push edx
call fcn.005fd700
add esp, 0x10
mov dword [esp + 0x14], eax
mov byte [ebx + 0x1f], 1
jmp case.default.0x6047b9
mov esi, dword [esp + 0x18]
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x40]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x70], eax
cmp byte [eax + 0x1c], 0
je 0x607ff1
mov eax, dword [esp + 0x28]
mov edx, 1
mov word [eax + 0x1c], dx
jmp case.default.0x6047b9
cmp byte [eax + 0x1d], 0
je 0x60800a
mov ecx, dword [eax + 0x38]
mov dword [esp + 0x78], ecx
mov edx, dword [eax + 0x3c]
mov dword [esp + 0x7c], edx
jmp 0x60808a
cmp dword [eax + 0x24], 0
je 0x60804c
mov ecx, dword [eax + 0x24]
mov ecx, dword [ecx]
mov dword [esp + 0x80], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x84], ecx
mov eax, dword [eax + 0x24]
mov ecx, dword [ecx + 0x30]
lea edx, [esp + 0x78]
push edx
push eax
call ecx
mov esi, dword [esp + 0x88]
mov edi, dword [esp + 0x20]
add esp, 8
mov dword [esp + 0x14], eax
call fcn.005d88f0
jmp 0x60808a
push eax
call fcn.005fe2e0
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x606b35
mov eax, dword [esp + 0x70]
cmp byte [eax + 0x19], 0
je 0x60807b
mov edx, dword [eax + 0x40]
mov dword [esp + 0x78], edx
mov eax, dword [eax + 0x44]
mov dword [esp + 0x7c], eax
jmp 0x60808a
mov eax, dword [eax]
lea edi, [esp + 0x78]
call fcn.005cf660
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x78]
mov dword [eax + 0x10], ecx
mov edx, dword [esp + 0x7c]
mov dword [eax + 0x14], edx
jmp case.default.0x6047b9
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x40]
mov eax, dword [edx + eax*4]
mov dword [esp + 0x70], eax
mov byte [eax + 0x1c], 1
mov eax, dword [esp + 0x70]
mov byte [eax + 0x19], 0
mov ecx, dword [esp + 0x70]
mov esi, dword [ecx]
test esi, esi
je case.default.0x6047b9
call fcn.005cef30
jmp case.default.0x6047b9
mov edx, dword [edi + 4]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x40]
mov eax, dword [ecx + edx*4]
mov dword [esp + 0x70], eax
mov esi, dword [eax]
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], 0
test esi, esi
je 0x60810e
lea edi, [esp + 0x78]
call fcn.005fae10
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x70]
mov dl, byte [esp + 0x78]
mov byte [eax + 0x1c], dl
mov eax, dword [esp + 0x70]
mov byte [eax + 0x1d], 0
mov ecx, dword [esp + 0x70]
mov byte [ecx + 0x19], 0
mov edx, dword [esp + 0x70]
mov dword [edx + 0x50], 0
mov edi, dword [edi + 8]
test edi, edi
jle case.default.0x6047b9
cmp dword [esp + 0x78], 0
je case.default.0x6047b9
dec edi
mov dword [esp + 0x24], edi
jmp case.default.0x6047b9
mov eax, dword [esp + 0x18]
inc dword [eax + 0x78]
jmp 0x60815d
mov eax, dword [esp + 0x18]
mov ecx, dword [edi + 4]
mov edx, dword [eax + 0x40]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x70], eax
mov dword [esp + 0x78], 1
cmp dword [eax + 0x48], 0
je 0x60818f
lea ecx, [esp + 0x78]
push ecx
push eax
mov edx, ebx
push edx
call fcn.005f2100
add esp, 0xc
mov dword [esp + 0x14], eax
jmp 0x6081d2
mov eax, dword [eax]
lea edi, [esp + 0x78]
mov esi, eax
mov dword [esp + 0x74], eax
call fcn.005fade0
cmp dword [esp + 0x78], 0
mov ecx, dword [esp + 0x70]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x14], eax
sete al
mov byte [ecx + 0x1a], al
mov edx, dword [esp + 0x70]
mov byte [edx + 0x1d], 0
mov eax, dword [esp + 0x70]
mov dword [eax + 0x50], 0
mov ecx, dword [esp + 0x70]
mov byte [ecx + 0x19], 0
mov dl, byte [esp + 0x78]
mov eax, dword [esp + 0x70]
mov byte [eax + 0x1c], dl
cmp dword [esp + 0x78], 0
je case.default.0x6047b9
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x24], edi
jmp case.default.0x6047b9
mov ecx, dword [ebx + 0xe0]
test ecx, ecx
jne 0x609c35
mov esi, dword [esp + 0x18]
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x40]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x70], eax
test eax, eax
je case.default.0x6047b9
cmp dword [eax + 0x48], ecx
je 0x608232
lea ecx, [esp + 0x74]
push ecx
mov ecx, ebx
call fcn.005eb110
add esp, 4
jmp 0x60824a
mov dword [esp + 0x74], 1
mov eax, dword [eax]
mov ecx, dword [edi + 0x10]
lea edx, [esp + 0x74]
push edx
push eax
call ecx
add esp, 8
mov edx, dword [esp + 0x70]
mov dword [esp + 0x14], eax
mov al, byte [esp + 0x74]
mov byte [edx + 0x1c], al
mov ecx, dword [esp + 0x70]
mov dword [ecx + 0x50], 0
cmp dword [esp + 0x74], 0
jne 0x608285
mov eax, dword [edi + 8]
dec eax
mov dword [esp + 0x24], eax
mov al, byte [edi + 3]
test al, al
je 0x608285
movzx edx, al
inc dword [esi + edx*4 + 0x70]
lea eax, [esi + edx*4 + 0x70]
mov eax, dword [esp + 0x70]
mov byte [eax + 0x19], 0
jmp case.default.0x6047b9
mov edx, dword [esp + 0x18]
mov ecx, dword [edi + 4]
mov eax, dword [edx + 0x40]
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x70], ecx
mov eax, dword [edi + 8]
mov ebx, dword [ecx]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x20]
lea esi, [eax + edx*8]
mov dword [esp + 0x74], ebx
test ebx, ebx
je case.default.0x6047b9
mov edx, 0x4000
test word [esi + 0x1c], dx
je 0x6082e4
mov eax, esi
call fcn.005d7ba0
mov dword [esp + 0x14], eax
test eax, eax
jne case.default.0x6047b9
mov ebx, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
cmp dword [ecx + 0x48], 0
je 0x608301
mov eax, dword [esp + 0x1c]
push esi
push ecx
call fcn.005eafd0
add esp, 8
mov dword [esp + 0x14], eax
jmp case.default.0x6047b9
mov eax, dword [esi + 0x18]
mov dword [esp + 0x78], eax
mov esi, dword [esi + 4]
mov dword [esp + 0x7c], esi
test byte [edi + 3], 0x10
je 0x60831a
mov ecx, dword [ecx + 0x4c]
jmp 0x60831c
xor ecx, ecx
push ecx
mov ecx, dword [edi + 0xc]
push ecx
push 0
push 0
push 0x7b32cb
cdq
push edx
push eax
push esi
push ebx
call fcn.005fd960
mov edx, dword [esp + 0x94]
add esp, 0x24
mov dword [esp + 0x14], eax
mov dword [edx + 0x50], 0
jmp case.default.0x6047b9
mov ecx, dword [esp + 0x18]
mov eax, dword [edi + 4]
mov edx, dword [ecx + 0x40]
mov eax, dword [edx + eax*4]
mov dword [esp + 0x70], eax
mov ecx, dword [eax]
mov dword [esp + 0x74], ecx
test ecx, ecx
je case.default.0x6047b9
mov eax, dword [eax + 8]
mov dword [esp + 0x80], eax
mov dx, word [edi + 0xc]
mov word [esp + 0x84], dx
mov edx, dword [esp + 0x20]
mov byte [esp + 0x86], 0
mov edi, dword [edi + 8]
lea eax, [edi + edi*4]
lea eax, [edx + eax*8]
lea edx, [esp + 0x78]
push edx
push 0
push 0
mov dword [esp + 0x9c], eax
push 0
lea eax, [esp + 0x90]
push eax
push ecx
call fcn.005fae50
add esp, 0x18
mov dword [esp + 0x14], eax
test eax, eax
jne 0x6083da
cmp dword [esp + 0x78], eax
jne 0x6083da
mov ecx, dword [esp + 0x74]
push ecx
call fcn.005fdb60
add esp, 4
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x70]
mov dword [edx + 0x50], 0
jmp case.default.0x6047b9
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x40]
mov eax, dword [edx + eax*4]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x74], eax
mov eax, dword [eax]
mov dword [esp + 0x70], eax
mov ecx, 1
mov word [edx + 0x1c], cx
cmp dword [esp + 0x70], 0
je case.default.0x6047b9
mov eax, dword [esp + 0x74]
push eax
call fcn.005fe2e0
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x606b31
mov ecx, dword [esp + 0x74]
cmp byte [ecx + 0x1c], al
jne case.default.0x6047b9
mov eax, dword [esp + 0x70]
lea edx, [esp + 0x78]
push edx
call fcn.005fe370
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x606b31
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x28]
mov dword [eax + 0x10], ecx
mov edx, dword [esp + 0x7c]
mov ecx, 4
mov dword [eax + 0x14], edx
mov word [eax + 0x1c], cx
jmp case.default.0x6047b9
mov eax, dword [esp + 0x18]
mov edx, dword [edi + 4]
mov ecx, dword [eax + 0x40]
mov eax, dword [ecx + edx*4]
mov dword [esp + 0x70], eax
cmp dword [eax], 0
je case.default.0x6047b9
mov edx, dword [eax + 8]
mov dword [esp + 0x78], edx
mov cx, word [edi + 0x10]
mov word [esp + 0x7c], cx
cmp byte [edi + 3], 0
setne dl
add dl, 2
mov byte [esp + 0x7e], dl
mov ecx, dword [edi + 0xc]
mov edx, dword [esp + 0x20]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
lea edx, [esp + 0x74]
mov dword [esp + 0x88], ecx
push edx
lea ecx, [esp + 0x7c]
push ecx
call fcn.005fe490
add esp, 8
cmp byte [edi], 0x64
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x74]
jne 0x6084eb
neg eax
jmp 0x6084ec
inc eax
mov dword [esp + 0x74], eax
test eax, eax
jle case.default.0x6047b9
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x24], edi
jmp case.default.0x6047b9
mov ecx, ebx
mov dword [esp + 0x74], 0
mov eax, dword [ecx + 4]
mov dword [esp + 0x78], eax
mov edx, 1
test eax, eax
je 0x608549
nop
cmp dword [eax + 0x30], 0xbdf20da3
jne 0x60853e
mov ebx, dword [eax + 0x60]
and bl, 0xc
cmp bl, 8
jae 0x60853e
cmp dword [eax + 0x54], 0
jl 0x60853e
add dword [esp + 0x74], edx
mov eax, dword [eax + 0x3c]
mov dword [esp + 0x78], eax
test eax, eax
jne 0x608520
mov esi, dword [esp + 0x28]
mov eax, edx
mov word [esi + 0x1c], ax
cmp dword [esp + 0x74], edx
jle 0x60856e
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x14], 6
mov byte [ecx + 0x5c], 2
jmp case.default.0x6047b9
mov eax, dword [edi + 0xc]
mov dword [esp + 0x7c], eax
mov ecx, dword [ecx + 0x10]
lea edx, [esp + 0x70]
push edx
mov edx, dword [edi + 4]
shl eax, 4
mov eax, dword [eax + ecx + 4]
push edx
call fcn.005fc190
mov ecx, eax
mov edx, 4
mov word [esi + 0x1c], dx
mov eax, dword [esp + 0x78]
cdq
add esp, 8
mov dword [esp + 0x14], ecx
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
test ecx, ecx
jne case.default.0x6047b9
mov esi, dword [esp + 0x70]
test esi, esi
je case.default.0x6047b9
mov edi, dword [edi + 4]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x1c]
call fcn.005d1c80
mov al, byte [esp + 0x7c]
inc al
mov byte [esp + 0x37], al
jmp case.default.0x6047b9
mov dword [esp + 0x70], 0
mov eax, dword [edi + 0xc]
mov edx, dword [edi + 4]
neg eax
sbb eax, eax
lea ecx, [esp + 0x70]
and eax, ecx
push eax
mov eax, dword [edi + 8]
mov ecx, ebx
push edx
mov edx, dword [ecx + 0x10]
shl eax, 4
mov ebx, dword [eax + edx + 4]
call fcn.005fbf50
add esp, 8
cmp dword [edi + 0xc], 0
mov dword [esp + 0x14], eax
je case.default.0x6047b9
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x18]
add dword [ecx + 0x64], eax
mov edi, dword [edi + 0xc]
test edi, edi
jle case.default.0x6047b9
mov edx, dword [esp + 0x20]
lea ecx, [edi + edi*4]
lea ecx, [edx + ecx*8 + 0x10]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp case.default.0x6047b9
mov dword [esp + 0x70], 0
mov eax, dword [edi + 4]
shl eax, 4
mov ecx, ebx
add eax, dword [ecx + 0x10]
xor ecx, ecx
mov dword [esp + 0x78], eax
cmp byte [edi], 0x69
lea edx, [esp + 0x70]
setne cl
inc ecx
push ecx
mov dword [esp + 0x78], ecx
mov eax, dword [eax + 4]
push edx
call fcn.005f7df0
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x78]
cdq
add esp, 8
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.default.0x6047b9
mov eax, dword [edi + 4]
mov dword [esp + 0x70], eax
mov ecx, str.sqlite_temp_master
cmp eax, 1
je 0x6086ab
mov ecx, str.sqlite_master
mov dword [esp + 0x74], ecx
mov esi, ebx
mov dword [esp + 0x7c], esi
mov edx, dword [edi + 4]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x18]
add edx, 0x34
mov dword [esp + 0x80], edx
mov edx, dword [edi + 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.005dc8b0
add esp, 0x10
mov dword [esp + 0x78], eax
test eax, eax
jne 0x6086fb
mov dword [esp + 0x14], 7
jmp 0x60875a
push 0
lea eax, [esp + 0x80]
push eax
mov byte [esi + 0x81], 1
mov ecx, dword [esp + 0x80]
push fcn.00602bc0
push ecx
push esi
mov dword [esp + 0x9c], 0
call fcn.0060aee0
mov edi, eax
add esp, 0x14
mov dword [esp + 0x14], edi
test edi, edi
jne 0x608744
mov edx, dword [esp + 0x88]
mov dword [esp + 0x14], edx
mov edi, edx
mov edx, dword [esp + 0x78]
mov ecx, esi
call fcn.005ca970
mov byte [esi + 0x81], 0
test edi, edi
je 0x608761
mov eax, esi
call fcn.005e5e30
cmp dword [esp + 0x14], 7
je 0x605df9
jmp case.default.0x6047b9
mov eax, dword [edi + 4]
mov ecx, ebx
call fcn.005df5a0
mov dword [esp + 0x14], eax
jmp case.default.0x6047b9
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 4]
mov esi, ebx
call fcn.005dfae0
jmp case.default.0x6047b9
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 4]
mov edx, ebx
call fcn.005d9d40
jmp case.default.0x6047b9
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 4]
mov edi, ebx
call fcn.005da8a0
jmp case.default.0x6047b9
mov eax, dword [edi + 8]
lea ecx, [eax*4 + 4]
mov esi, ebx
mov dword [esp + 0x70], eax
call fcn.005d5270
mov dword [esp + 0x74], eax
test eax, eax
je 0x605df9
mov ecx, dword [edi + 0xc]
mov edx, dword [esp + 0x20]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
mov dword [esp + 0x84], ecx
mov ecx, dword [edi + 4]
lea ecx, [ecx + ecx*4]
lea esi, [edx + ecx*8]
xor ecx, ecx
cmp dword [esp + 0x70], ecx
mov dword [esp + 0x78], ecx
jle 0x60882d
lea edx, [ecx + ecx*4]
lea ecx, [esi + edx*8]
call fcn.005cfad0
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
mov dword [edx + ecx*4], eax
mov ecx, dword [esp + 0x78]
inc ecx
cmp ecx, dword [esp + 0x70]
mov dword [esp + 0x78], ecx
jl 0x608804
mov eax, dword [esp + 0x74]
mov dword [eax + ecx*4], 0
mov ecx, dword [esp + 0x84]
mov edx, dword [ecx + 0x10]
mov ecx, dword [esp + 0x74]
lea eax, [esp + 0x7c]
push eax
mov eax, dword [esp + 0x74]
push edx
movzx edx, byte [edi + 3]
push eax
mov eax, dword [ebx + 0x10]
shl edx, 4
mov edx, dword [edx + eax + 4]
call fcn.005f8720
mov edx, dword [esp + 0x80]
add esp, 0xc
mov ecx, ebx
mov dword [esp + 0x80], eax
call fcn.005ca970
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x84]
cdq
add ecx, 0x10
sub dword [ecx], eax
sbb dword [ecx + 4], edx
call fcn.005cfcd0
cmp dword [esp + 0x7c], 0
je 0x6088bc
mov eax, dword [esp + 0x80]
test eax, eax
je 0x605df9
push 1
push eax
mov eax, fcn.005ca910
or ecx, 0xffffffff
mov edx, esi
call fcn.005e4850
add esp, 8
movzx ecx, byte [esp + 0x33]
mov eax, esi
call fcn.005e47b0
jmp case.default.0x6047b9
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x20]
test byte [eax + ecx*8 + 0x1c], 0x20
lea esi, [eax + ecx*8]
lea edx, [edi + edi*4]
lea ebx, [eax + edx*8]
jne 0x6088fb
mov edi, esi
call fcn.005d7d90
test byte [esi + 0x1c], 0x20
je 0x605df9
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x10]
push eax
mov eax, dword [esi + 0x10]
push ecx
call fcn.005d61f0
add esp, 8
jmp case.default.0x6047b9
mov edx, dword [ebx + 0xe0]
test edx, edx
jne 0x609c35
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 0x20
lea esi, [ecx + eax*8]
je 0x608969
mov ecx, dword [esi + 0x10]
lea eax, [esp + 0x70]
call fcn.005cd690
test eax, eax
je 0x608969
mov edx, dword [esp + 0x74]
mov edi, dword [edi + 0xc]
mov eax, dword [esp + 0x70]
push edx
mov edx, dword [esp + 0x24]
lea ecx, [edi + edi*4]
push eax
lea esi, [edx + ecx*8]
call fcn.005d7d20
add esp, 8
jmp case.default.0x6047b9
call fcn.005cfcd0
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x24], edi
jmp case.default.0x6047b9
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x10]
mov dword [esp + 0x70], eax
test byte [esi + 0x1c], 0x20
lea ebx, [ecx + edx*8]
jne 0x6089b7
mov edi, esi
call fcn.005d7d90
test byte [esi + 0x1c], 0x20
je 0x605df9
mov eax, dword [esp + 0x70]
mov edi, dword [esp + 0x2c]
test eax, eax
je 0x6088fb
jl 0x6089c6
and eax, 0xf
jmp 0x6089cb
mov eax, 0xff
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebx + 0x10]
push ecx
push edx
push eax
mov eax, dword [esi + 0x10]
call fcn.005d6250
add esp, 0xc
mov dword [esp + 0x74], eax
test eax, eax
je 0x6089f4
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x24], edi
jmp case.default.0x6047b9
mov eax, dword [esp + 0x70]
test eax, eax
jl case.default.0x6047b9
jmp 0x6088fb
mov ecx, dword [edi + 0x10]
mov esi, dword [esp + 0x18]
mov dword [esp + 0x88], ecx
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x20]
lea edx, [eax + edx*8]
mov dword [esp + 0x78], edx
cmp byte [edi + 3], 0
je 0x608a5c
mov eax, dword [esi + 0xa0]
mov edi, dword [ecx + 0x14]
mov dword [esp + 0x8c], edi
mov dword [esp + 0x84], eax
test eax, eax
je 0x608a5c
cmp dword [eax + 0x18], edi
je case.default.0x6047b9
mov eax, dword [eax + 4]
mov dword [esp + 0x84], eax
test eax, eax
jne 0x608a45
mov eax, dword [esi + 0xa8]
cmp eax, dword [ebx + 0x78]
jl 0x608a86
push str.too_many_levels_of_trigger_recursion
lea edi, [esi + 0x34]
mov eax, ebx
mov dword [esp + 0x18], 1
call fcn.005e3070
add esp, 4
jmp case.default.0x6047b9
test byte [edx + 0x1c], 0x40
jne 0x608bfc
mov eax, dword [ecx + 8]
add eax, dword [ecx + 0xc]
lea edx, [eax + eax*4]
mov dword [esp + 0x70], eax
mov eax, dword [ecx + 0xc]
lea edx, [eax + edx*2]
mov eax, dword [ecx + 0x10]
lea edi, [eax + edx*4 + 0x48]
mov eax, ebx
mov dword [esp + 0x74], edi
call fcn.005dba50
mov dword [esp + 0x84], eax
test eax, eax
je 0x605e01
mov ecx, dword [esp + 0x78]
push ecx
call fcn.005d7cc0
mov eax, dword [esp + 0x7c]
mov edx, 0x40
mov word [eax + 0x1c], dx
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x7c]
mov dword [edx + 0x10], ecx
mov eax, dword [esp + 0x88]
mov dword [eax], esi
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x74]
mov dword [ecx + 0x3c], edx
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x88]
mov dword [edx + 0x40], ecx
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x28]
mov dword [eax + 0x2c], ecx
mov edx, dword [esi + 8]
mov eax, dword [esp + 0x88]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x88]
mov ecx, dword [esi + 0x18]
mov dword [edx + 0x34], ecx
mov eax, dword [esi + 0x40]
mov ecx, dword [esp + 0x88]
mov dword [ecx + 0x14], eax
mov dx, word [esi + 0x2e]
mov eax, dword [esp + 0x88]
mov word [eax + 0x28], dx
mov ecx, dword [esi + 4]
mov edx, dword [esp + 0x88]
mov dword [edx + 8], ecx
mov eax, dword [esi + 0x1c]
mov ecx, dword [esp + 0x88]
mov dword [ecx + 0x30], eax
mov edx, dword [esp + 0x8c]
mov eax, dword [edx + 0x14]
mov ecx, dword [esp + 0x88]
mov dword [ecx + 0x18], eax
mov edx, dword [esi + 0xb8]
mov eax, dword [esp + 0x88]
mov dword [eax + 0x10], edx
mov ecx, dword [esi + 0xb4]
mov edx, dword [esp + 0x88]
mov dword [edx + 0x38], ecx
mov eax, dword [esp + 0x88]
mov ecx, dword [eax + 0x3c]
lea ecx, [ecx + ecx*4]
lea edx, [eax + ecx*8 + 0x48]
lea ecx, [eax + 0x48]
add esp, 4
mov dword [esp + 0x80], edx
mov dword [esp + 0x7c], ecx
cmp ecx, edx
je 0x608c06
lea esp, [esp]
mov edx, 0x80
mov word [ecx + 0x1c], dx
mov eax, dword [esp + 0x7c]
mov dword [eax], ebx
mov ecx, dword [esp + 0x7c]
add ecx, 0x28
mov dword [esp + 0x7c], ecx
cmp ecx, dword [esp + 0x80]
jne 0x608bd0
mov eax, dword [esp + 0x84]
jmp 0x608c06
mov eax, dword [edx + 0x10]
mov dword [esp + 0x84], eax
inc dword [esi + 0xa8]
mov ecx, dword [esi + 0xa0]
mov dword [eax + 4], ecx
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x38]
mov dword [edx + 0x20], eax
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x3c]
mov dword [ecx + 0x24], edx
mov eax, dword [esi + 0x64]
mov ecx, dword [esp + 0x84]
mov dword [ecx + 0x44], eax
mov eax, dword [esp + 0x84]
lea ecx, [eax + 0x20]
mov dword [esi + 0xa0], eax
mov dword [esi + 8], ecx
mov dword [esi + 0x64], 0
mov edx, dword [eax + 0x3c]
mov dword [esi + 0x18], edx
mov ax, word [eax + 0x40]
mov word [esi + 0x2e], ax
mov eax, edx
inc eax
lea edx, [eax + eax*4]
lea eax, [ecx + edx*8]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x88]
mov dword [esi + 0x40], eax
mov edx, dword [ecx]
mov dword [esi + 4], edx
mov dword [esp + 0x54], edx
mov edx, dword [ecx + 4]
mov dword [esi + 0x1c], edx
movzx edx, word [esi + 0x2e]
lea eax, [eax + edx*4]
mov dword [esi + 0xb8], eax
mov ecx, dword [ecx + 0x10]
push ecx
push 0
push eax
mov dword [esi + 0xb4], ecx
mov dword [esp + 0x30], 0xffffffff
call fcn.00566330
add esp, 0xc
jmp case.default.0x6047b9
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0xa0]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x70], ecx
mov eax, dword [ecx + 0x2c]
lea edx, [eax + eax*4]
mov eax, dword [ecx + 8]
mov eax, dword [eax + edx*4 + 4]
add eax, dword [edi + 4]
push 0x1000
lea edx, [eax + eax*4]
mov eax, dword [ecx + 0xc]
lea eax, [eax + edx*8]
push eax
mov dword [esp + 0x7c], eax
call fcn.005d7de0
add esp, 8
jmp case.default.0x6047b9
cmp dword [edi + 4], 0
mov eax, dword [edi + 8]
cdq
je 0x608d1a
mov ecx, ebx
add dword [ecx + 0x1e8], eax
adc dword [ecx + 0x1ec], edx
jmp case.default.0x6047b9
mov ecx, dword [esp + 0x18]
add dword [ecx + 0x88], eax
adc dword [ecx + 0x8c], edx
jmp case.default.0x6047b9
cmp dword [edi + 4], 0
je 0x608d56
mov eax, ebx
mov ecx, dword [eax + 0x1e8]
or ecx, dword [eax + 0x1ec]
jne case.default.0x6047b9
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x24], edi
jmp case.default.0x6047b9
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0x88]
or edx, dword [eax + 0x8c]
jne case.default.0x6047b9
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x24], edi
jmp case.default.0x6047b9
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0xa0]
test ecx, ecx
je 0x608dad
mov dword [esp + 0x74], ecx
mov eax, dword [ecx + 4]
test eax, eax
je 0x608d9f
mov ecx, eax
mov dword [esp + 0x74], ecx
mov eax, dword [ecx + 4]
test eax, eax
jne 0x608d92
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [ecx + 0xc]
lea esi, [eax + edx*8]
jmp 0x608dba
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x20]
lea ecx, [eax + eax*4]
lea esi, [edx + ecx*8]
mov dword [esp + 0x70], esi
call fcn.005cfbf0
mov edi, dword [edi + 8]
mov ecx, dword [esp + 0x20]
lea eax, [edi + edi*4]
lea esi, [ecx + eax*8]
call fcn.005cfbf0
mov eax, dword [esp + 0x70]
mov ecx, dword [esi + 0x10]
mov esi, dword [esi + 0x14]
mov edx, dword [eax + 0x14]
add eax, 0x10
cmp edx, esi
jg case.default.0x6047b9
jl 0x608df9
mov edx, dword [eax]
cmp edx, ecx
jae case.default.0x6047b9
mov dword [eax], ecx
mov dword [eax + 4], esi
jmp case.default.0x6047b9
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
cmp dword [ecx + eax*8 + 0x14], 0
jl case.default.0x6047b9
jg 0x608e27
mov edx, ecx
cmp dword [edx + eax*8 + 0x10], 0
jbe case.default.0x6047b9
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x24], edi
jmp case.default.0x6047b9
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
cmp dword [ecx + eax*8 + 0x14], 0
jg case.default.0x6047b9
jl 0x608e58
mov edx, ecx
cmp dword [edx + eax*8 + 0x10], 0
jae case.default.0x6047b9
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x24], edi
jmp case.default.0x6047b9
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [edi + 0xc]
cdq
add dword [ecx + 0x10], eax
adc dword [ecx + 0x14], edx
mov edx, dword [ecx + 0x10]
or edx, dword [ecx + 0x14]
jne case.default.0x6047b9
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x24], edi
jmp case.default.0x6047b9
movzx ecx, byte [edi + 3]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x70], ecx
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x7c], eax
mov eax, dword [edx + 0xc]
mov dword [esp + 0xc0], eax
xor eax, eax
mov dword [esp + 0x74], eax
test ecx, ecx
jle 0x608ef1
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0xc0]
mov dword [edx + eax*4], ecx
mov ecx, dword [esp + 0x7c]
call fcn.005d0980
mov eax, dword [esp + 0x74]
add dword [esp + 0x7c], 0x28
inc eax
cmp eax, dword [esp + 0x70]
mov dword [esp + 0x74], eax
jl 0x608ec6
mov eax, dword [edi + 0x10]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x80], eax
mov eax, dword [edi + 0xc]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
mov dword [esp + 0x78], eax
mov dword [esp + 0xb0], eax
inc dword [eax + 0x18]
xor esi, esi
mov eax, 1
mov word [esp + 0xa4], ax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x8c], esi
mov dword [esp + 0xac], esi
mov dword [esp + 0xa8], esi
mov dword [esp + 0x88], ebx
mov dword [esp + 0xb8], esi
mov dword [esp + 0xb4], esi
mov dword [esp + 0xbc], esi
test byte [eax + 3], 8
je 0x608f6d
mov ecx, dword [edi - 4]
mov dword [esp + 0xb4], ecx
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x70]
mov eax, dword [eax + 0x10]
push edx
push ecx
lea edx, [esp + 0x88]
push edx
call eax
add esp, 0xc
cmp dword [esp + 0xb8], esi
je 0x608fc6
lea ecx, [esp + 0x88]
push ecx
call fcn.005e4ef0
mov edi, dword [esp + 0x1c]
push eax
push 0x7d0b98
add edi, 0x34
mov eax, ebx
call fcn.005e3070
mov edx, dword [esp + 0xc4]
mov edi, dword [esp + 0x38]
add esp, 0xc
mov dword [esp + 0x14], edx
cmp dword [esp + 0xbc], esi
je 0x608fef
mov edi, dword [edi - 0x10]
mov dword [esp + 0x74], edi
cmp edi, esi
je 0x608fef
mov ecx, dword [esp + 0x20]
push esi
lea eax, [edi + edi*4]
push 1
lea esi, [ecx + eax*8]
call fcn.005d7d20
add esp, 8
lea edx, [esp + 0x88]
push edx
call fcn.005d7cc0
add esp, 4
jmp case.default.0x6047b9
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [esp + 0x70], ecx
mov eax, dword [edi + 0x10]
call fcn.005cfa00
mov dword [esp + 0x14], eax
test eax, eax
je 0x609048
mov edx, dword [esp + 0x70]
push edx
call fcn.005e4ef0
mov esi, dword [esp + 0x1c]
push eax
push 0x7d0b98
lea edi, [esi + 0x34]
mov eax, ebx
call fcn.005e3070
add esp, 0xc
jmp 0x60904c
mov esi, dword [esp + 0x18]
movzx ecx, byte [esp + 0x33]
mov eax, dword [esp + 0x70]
call fcn.005e47b0
mov ecx, dword [esp + 0x70]
call fcn.005cfd20
test eax, eax
jne 0x6049c5
jmp case.default.0x6047b9
mov esi, dword [esp + 0x1c]
or eax, 0xffffffff
xor ebx, ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], eax
mov eax, dword [edi + 8]
mov ecx, dword [edi + 4]
push eax
push ecx
lea edx, [esp + 0x84]
lea ecx, [esp + 0x80]
call fcn.005fcdb0
add esp, 8
mov dword [esp + 0x14], eax
cmp eax, 5
jne 0x6090b8
mov dword [esp + 0x14], ebx
mov dword [esp + 0x74], 1
mov ecx, dword [esp + 0x20]
xor eax, eax
mov dword [esp + 0x70], eax
mov edi, dword [edi + 0xc]
lea edx, [edi + edi*4]
lea esi, [ecx + edx*8]
mov dword [esp + 0x80], esi
mov eax, dword [esp + eax*4 + 0x74]
cdq
push edx
push eax
call fcn.005d7d20
mov eax, dword [esp + 0x78]
mov esi, dword [esp + 0x88]
inc eax
add esi, 0x28
add esp, 8
cmp eax, 3
mov dword [esp + 0x70], eax
mov dword [esp + 0x80], esi
jl 0x6090d2
jmp case.default.0x6047b9
mov edx, dword [edi + 0xc]
mov dword [esp + 0x78], edx
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x10]
shl eax, 4
mov eax, dword [eax + ecx + 4]
mov dword [esp + 0x70], eax
call fcn.005cf840
mov edi, eax
mov dword [esp + 0x74], edi
call fcn.005ce180
mov esi, eax
mov dword [esp + 0x7c], esi
cmp edx, 0xffffffff
jne 0x60913e
mov edx, esi
mov dword [esp + 0x78], edx
mov eax, edi
call fcn.005ce190
test eax, eax
jne 0x60914f
mov edx, esi
mov dword [esp + 0x78], edx
push 1
mov eax, edi
call fcn.005ce100
add esp, 4
mov dword [esp + 0x80], eax
cmp edx, 5
jne 0x609193
mov ecx, eax
call fcn.005cabe0
test eax, eax
je 0x60917d
mov eax, edi
call fcn.005ce1d0
test eax, eax
jne 0x609193
mov edx, esi
mov dword [esp + 0x78], edx
cmp dword [esp + 0x14], 0
je 0x609261
jmp 0x60925b
cmp edx, esi
je 0x609183
cmp esi, 5
je 0x6091a1
cmp edx, 5
jne 0x609183
cmp byte [ebx + 0x36], 0
je 0x609224
cmp dword [ebx + 0x84], 1
jg 0x609224
cmp esi, 5
jne 0x6091d6
mov eax, edi
call fcn.005fcec0
mov edi, dword [esp + 0x74]
mov dword [esp + 0x14], eax
test eax, eax
jne 0x609257
mov ecx, dword [esp + 0x78]
jmp 0x6091de
cmp esi, 4
jne 0x6091ef
lea ecx, [esi - 2]
call fcn.005f9e20
mov edi, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
mov esi, dword [esp + 0x7c]
cmp dword [esp + 0x14], 0
jne 0x60925b
xor ebx, ebx
cmp edx, 5
mov edx, dword [esp + 0x70]
sete bl
push edx
inc ebx
call fcn.005fc310
mov esi, dword [esp + 0x80]
mov edx, dword [esp + 0x7c]
mov edi, dword [esp + 0x78]
add esp, 4
mov dword [esp + 0x14], eax
jmp 0x609183
mov dword [esp + 0x14], 1
mov eax, str.into
cmp edx, 5
je 0x60923b
mov eax, str.out_of
mov edi, dword [esp + 0x18]
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
add edi, 0x34
mov eax, ebx
call fcn.005e3070
add esp, 8
jmp case.default.0x6047b9
mov esi, dword [esp + 0x7c]
mov edx, esi
mov dword [esp + 0x78], edx
mov ecx, edx
call fcn.005f9e20
mov edx, dword [esp + 0x20]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
lea edx, [edx + ecx*8]
mov eax, 0xa02
mov word [edx + 0x1c], ax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x28], edx
call fcn.005d2860
mov ecx, eax
mov dword [edx + 4], eax
call fcn.005cabe0
movzx ecx, byte [esp + 0x33]
mov dword [edx + 0x18], eax
mov eax, edx
mov byte [edx + 0x1f], 1
call fcn.005e47b0
jmp case.default.0x6047b9
mov eax, dword [esp + 0x18]
mov ecx, ebx
push ecx
add eax, 0x34
call fcn.006015f0
add esp, 4
mov dword [esp + 0x14], eax
jmp case.default.0x6047b9
mov edx, dword [edi + 4]
mov eax, ebx
mov ecx, dword [eax + 0x10]
shl edx, 4
mov eax, dword [edx + ecx + 4]
mov dword [esp + 0x70], eax
call fcn.005fa7e0
mov dword [esp + 0x14], eax
cmp eax, 0x65
jne case.default.0x6047b9
mov edi, dword [edi + 8]
dec edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x14], 0
jmp case.default.0x6047b9
cmp dword [edi + 4], 0
jne 0x60931c
mov eax, ebx
call fcn.005d05e0
jmp case.default.0x6047b9
mov eax, dword [esp + 0x18]
or dword [eax + 0x60], 0x20
jmp case.default.0x6047b9
mov cl, byte [edi + 0xc]
test cl, cl
jne 0x60933f
mov edx, ebx
test dword [edx + 0x18], 0x800
jne case.default.0x6047b9
mov edx, dword [edi + 8]
mov eax, dword [edi + 4]
push edx
mov edx, dword [ebx + 0x10]
shl eax, 4
mov esi, dword [eax + edx + 4]
call fcn.005d7a60
add esp, 4
mov dword [esp + 0x14], eax
cmp al, 6
jne case.default.0x6047b9
mov eax, dword [edi + 0x10]
mov edi, dword [esp + 0x18]
push eax
push str.database_table_is_locked:__s
add edi, 0x34
mov eax, ebx
call fcn.005e3070
add esp, 8
jmp case.default.0x6047b9
mov edi, dword [edi + 0x10]
mov eax, dword [esp + 0x1c]
mov ebx, edi
mov dword [esp + 0x70], edi
call fcn.005daad0
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x70]
test eax, eax
je case.default.0x6047b9
mov esi, dword [eax + 8]
mov edi, dword [esp + 0x18]
call fcn.005d88f0
jmp case.default.0x6047b9
mov ecx, dword [esp + 0x18]
mov edx, dword [edi + 0x10]
mov eax, dword [edi + 4]
add ecx, 0x34
push ecx
push edx
call fcn.005e2330
add esp, 8
mov dword [esp + 0x14], eax
jmp case.default.0x6047b9
mov esi, dword [esp + 0x18]
mov eax, dword [esi + 0x60]
and eax, 0xfffffffb
or eax, 8
mov dword [esi + 0x60], eax
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 4]
push ecx
mov ecx, ebx
call fcn.005d31c0
add esp, 4
and dword [esi + 0x60], 0xfffffff3
mov dword [esp + 0x14], eax
jmp case.default.0x6047b9
xor eax, eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov edx, dword [edi + 0x10]
mov eax, dword [edx + 8]
mov dword [esp + 0x78], eax
mov ecx, dword [eax]
lea edx, [esp + 0x74]
push edx
mov dword [esp + 0x80], ecx
push eax
mov eax, dword [ecx + 0x18]
call eax
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 0x20]
mov ebx, eax
add esp, 8
mov dword [esp + 0x14], ebx
call fcn.005d88f0
test ebx, ebx
jne case.default.0x6047b9
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x2c]
push ebx
push 0xffffffffffffffff
mov dword [edx], ecx
mov ecx, dword [eax + 4]
push ebx
push ecx
mov eax, edi
call fcn.005fe560
add esp, 0x10
mov dword [esp + 0x70], eax
test eax, eax
je 0x609490
mov edx, dword [esp + 0x74]
mov dword [eax + 0x24], edx
mov eax, dword [esp + 0x74]
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [esp + 0x70]
mov dword [eax + 0x28], edx
jmp case.default.0x6047b9
mov ecx, dword [esp + 0x1c]
mov byte [ecx + 0x38], 1
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax + 0x1c]
push edx
call ecx
add esp, 4
jmp case.default.0x6047b9
mov eax, dword [edi + 0xc]
mov ebx, dword [esp + 0x18]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x20]
lea eax, [eax + edx*8]
mov edx, dword [ebx + 0x40]
mov ebx, dword [ebx + 0xc]
mov dword [esp + 0x7c], eax
lea esi, [eax + 0x28]
mov dword [esp + 0x80], esi
mov ecx, dword [edi + 4]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0x8c], ecx
mov edx, dword [ecx + 0x24]
mov dword [esp + 0x84], edx
mov ecx, dword [edx]
mov dword [esp + 0x88], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x78], ecx
mov ecx, dword [esi + 0x10]
mov dword [esp + 0x70], ecx
mov eax, dword [eax + 0x10]
mov dword [esp + 0x74], eax
xor eax, eax
cmp ecx, eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x98], ebx
mov dword [esp + 0x94], eax
jle 0x60957c
jmp 0x609537
mov esi, dword [esp + 0x80]
lea ecx, [eax + eax*4 + 5]
lea edx, [esi + ecx*8]
mov ecx, dword [esp + 0x98]
mov dword [ecx + eax*4], edx
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0x98]
mov ecx, dword [eax + edx*4]
call fcn.005d0980
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x70]
inc eax
cmp eax, ecx
mov dword [esp + 0x94], eax
jl 0x609530
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x18]
mov eax, dword [ebx + 0x60]
and eax, 0xfffffff7
or eax, 4
mov dword [ebx + 0x60], eax
mov eax, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0x78]
push ecx
mov ecx, dword [edi + 0x10]
push ecx
mov ecx, dword [esp + 0x84]
push eax
push edx
mov edx, dword [ecx + 0x20]
call edx
mov esi, dword [esp + 0x9c]
and dword [ebx + 0x60], 0xfffffff3
add esp, 0x14
mov edi, ebx
mov dword [esp + 0x14], eax
call fcn.005d88f0
cmp dword [esp + 0x14], 0
jne 0x6095e6
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + 0x28]
push eax
call edx
add esp, 4
mov dword [esp + 0x90], eax
cmp dword [esp + 0x90], 0
je 0x6095fc
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 8]
dec eax
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x8c]
mov byte [ecx + 0x1c], 0
jmp case.default.0x6047b9
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x40]
mov edx, dword [edi + 4]
mov eax, dword [edi + 0xc]
mov esi, dword [ecx + edx*4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x20]
lea eax, [eax + edx*8]
mov dword [esp + 0x78], eax
cmp byte [esi + 0x1c], 0
je 0x60963c
mov esi, eax
call fcn.005cfcd0
jmp case.default.0x6047b9
mov ecx, dword [esi + 0x24]
mov eax, dword [ecx]
mov dword [esp + 0x70], eax
mov edx, dword [eax]
push 0x40
lea eax, [esp + 0x84]
push 0
push eax
mov dword [esp + 0x80], edx
call fcn.00566330
mov ebx, dword [esp + 0x84]
lea eax, [esp + 0x94]
call fcn.005d7e30
mov ecx, dword [esp + 0xb0]
and ecx, 0xbe01
or ecx, 1
mov word [esp + 0xb0], cx
mov edx, dword [edi + 8]
mov ecx, dword [esi + 0x24]
push edx
mov edx, dword [esp + 0x84]
lea eax, [esp + 0x90]
push eax
mov eax, dword [edx + 0x2c]
push ecx
call eax
mov esi, dword [esp + 0x88]
mov edi, dword [esp + 0x30]
add esp, 0x18
mov dword [esp + 0x14], eax
call fcn.005d88f0
mov eax, dword [esp + 0xb8]
test eax, eax
je 0x6096cc
mov dword [esp + 0x14], eax
movzx ecx, byte [esp + 0x33]
lea eax, [esp + 0x88]
call fcn.005e47b0
mov eax, dword [esp + 0x78]
lea ebx, [esp + 0x88]
call fcn.005d7e30
mov ecx, dword [esp + 0x78]
call fcn.005cfd20
test eax, eax
je case.default.0x6047b9
mov ebx, dword [esp + 0x1c]
mov esi, edi
jmp 0x6049c5
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x40]
mov dword [esp + 0x78], 0
mov ecx, dword [edi + 4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x7c], eax
cmp byte [eax + 0x1c], 0
jne case.default.0x6047b9
mov ecx, dword [eax + 0x24]
mov ecx, dword [ecx]
mov edi, edx
mov edx, dword [edi + 0x60]
mov dword [esp + 0x70], ecx
mov ecx, dword [ecx]
and edx, 0xfffffff7
or edx, 4
mov dword [esp + 0x74], ecx
mov dword [edi + 0x60], edx
mov eax, dword [eax + 0x24]
mov ecx, dword [ecx + 0x24]
push eax
call ecx
mov esi, dword [esp + 0x74]
and dword [edi + 0x60], 0xfffffff3
mov ebx, eax
add esp, 4
mov dword [esp + 0x14], ebx
call fcn.005d88f0
test ebx, ebx
jne 0x609784
mov edx, dword [esp + 0x7c]
mov eax, dword [edx + 0x24]
mov ecx, dword [esp + 0x74]
mov edx, dword [ecx + 0x28]
push eax
call edx
add esp, 4
mov dword [esp + 0x78], eax
cmp dword [esp + 0x78], 0
jne case.default.0x6047b9
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 8]
dec eax
mov dword [esp + 0x24], eax
jmp case.default.0x6047b9
mov ecx, dword [edi + 0x10]
mov edx, dword [ecx + 8]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x70], edx
mov edi, dword [edi + 4]
lea eax, [edi + edi*4]
lea eax, [ecx + eax*8]
mov ecx, 1
mov dword [esp + 0x74], eax
call fcn.005e47b0
mov dword [esp + 0x14], eax
test eax, eax
jne case.default.0x6047b9
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
mov ecx, dword [ecx + 4]
mov edx, dword [eax]
mov edx, dword [edx + 0x4c]
push ecx
push eax
call edx
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x20]
add esp, 8
mov dword [esp + 0x14], eax
call fcn.005d88f0
and dword [edi + 0x60], 0xffffffdf
jmp case.default.0x6047b9
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x70], eax
mov eax, dword [eax]
mov dword [esp + 0x74], eax
mov edx, dword [edi + 8]
mov dword [esp + 0x78], edx
cmp dword [eax + 0x34], 0
je case.default.0x6047b9
mov ecx, ebx
mov al, byte [ecx + 0x3c]
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x47], al
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x88], eax
mov eax, dword [edi + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x20]
lea ecx, [eax + ecx*8]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x7c], 0
test edx, edx
jle 0x60989a
lea ebx, [ebx]
call fcn.005d0980
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x88]
mov dword [eax + edx*4], ecx
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x8c]
inc eax
add ecx, 0x28
cmp eax, dword [esp + 0x78]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x7c], eax
jl 0x609860
mov cl, byte [edi + 3]
mov byte [ebx + 0x3c], cl
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x78]
lea edx, [esp + 0x80]
push edx
mov edx, dword [esp + 0x74]
push eax
mov eax, dword [esp + 0x7c]
push ecx
mov ecx, dword [eax + 0x34]
push edx
call ecx
mov dl, byte [esp + 0x57]
mov edi, dword [esp + 0x28]
mov byte [ebx + 0x3c], dl
mov esi, dword [esp + 0x80]
add esp, 0x10
mov dword [esp + 0x14], eax
call fcn.005d88f0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x2c]
test ecx, ecx
jne 0x609915
cmp dword [edx + 4], ecx
je 0x609915
mov eax, dword [esp + 0x80]
mov esi, dword [esp + 0x84]
mov dword [esp + 0x38], eax
mov dword [ebx + 0x20], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x3c], esi
mov dword [ebx + 0x24], eax
cmp ecx, 0x13
jne 0x609953
mov ecx, dword [edx + 0x10]
cmp byte [ecx + 0x10], 0
je 0x609953
mov al, byte [edx + 3]
cmp al, 4
jne 0x609937
mov dword [esp + 0x14], 0
jmp case.default.0x6047b9
cmp al, 5
jne 0x609948
mov eax, 2
mov byte [edi + 0x5c], al
jmp case.default.0x6047b9
movzx eax, al
mov byte [edi + 0x5c], al
jmp case.default.0x6047b9
inc dword [edi + 0x64]
jmp case.default.0x6047b9
mov edx, dword [edi + 4]
mov eax, ebx
mov ecx, dword [eax + 0x10]
shl edx, 4
mov eax, dword [edx + ecx + 4]
call fcn.005cf2b0
mov ecx, dword [esp + 0x28]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], 0
jmp case.default.0x6047b9
mov edx, dword [edi + 4]
mov edi, dword [edi + 0xc]
mov eax, ebx
mov ecx, dword [eax + 0x10]
shl edx, 4
mov ecx, dword [edx + ecx + 4]
xor eax, eax
test edi, edi
je 0x6099a7
mov eax, ecx
call fcn.005cf2b0
cmp eax, edi
jae 0x6099a7
mov eax, edi
push eax
mov eax, ecx
call fcn.005cf410
mov ecx, dword [esp + 0x2c]
cdq
add esp, 4
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.default.0x6047b9
mov edx, ebx
cmp dword [edx + 0x98], 0
je case.default.0x6047b9
mov eax, dword [esp + 0x18]
test dword [eax + 0x60], 0x400
jne case.default.0x6047b9
mov edi, dword [edi + 0x10]
test edi, edi
je 0x6099e2
mov ecx, edi
jmp 0x6099ea
mov ecx, eax
mov ecx, dword [ecx + 0x98]
mov dword [esp + 0x70], ecx
test ecx, ecx
je case.default.0x6047b9
mov edx, eax
push edx
call fcn.005e50a0
mov dword [esp + 0x78], eax
push eax
mov esi, ebx
mov eax, dword [esi + 0x9c]
mov ecx, dword [esi + 0x98]
push eax
call ecx
mov edx, dword [esp + 0x80]
add esp, 0xc
mov ecx, esi
call fcn.005ca970
inc dword [esp + 0x24]
cmp dword [esp + 0x14], 0
je 0x604723
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
jmp 0x6049df
mov esi, dword [esp + 0x18]
mov dword [esp + 0x14], 9
jmp 0x6049df
mov edx, dword [edi + 4]
mov ecx, dword [esp + 0x24]
mov dword [esi + 0x58], edx
mov al, byte [edi + 8]
mov byte [esi + 0x5c], al
mov dword [esi + 0x54], ecx
mov eax, dword [edi + 0x10]
test eax, eax
je 0x609a9f
push eax
push 0x7d0b98
lea edi, [esi + 0x34]
mov eax, ebx
call fcn.005e3070
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x10]
mov edx, dword [esi + 0x98]
push ecx
mov ecx, dword [esp + 0x30]
push edx
mov edx, dword [eax + 4]
push ecx
push str.abort_at__d_in___s_:__s
push edx
call fcn.005dca80
add esp, 0x1c
jmp 0x609abc
test edx, edx
je 0x609abc
mov eax, dword [esi + 0x98]
push eax
push ecx
mov ecx, dword [edi + 4]
push str.constraint_failed_at__d_in___s_
push ecx
call fcn.005dca80
add esp, 0x10
mov edi, esi
call fcn.005ff690
mov ecx, 5
cmp eax, ecx
je 0x609bae
mov eax, dword [esi + 0x58]
neg eax
sbb eax, eax
and eax, 0xffffff9c
add eax, 0x65
mov dword [esp + 0x14], eax
jmp 0x604a3c
lea edx, [esp + 0x80]
push edx
call fcn.005d7cc0
add esp, 4
mov ebx, esi
jmp 0x605dfd
mov dword [esp + 0x14], 0x14
mov esi, dword [esp + 0x18]
jmp 0x606b39
mov eax, dword [esp + 0x24]
mov dword [esi + 0x54], eax
mov byte [ebx + 0x36], 0
mov dword [esp + 0x14], 5
mov dword [esi + 0x58], 5
jmp 0x604a3c
test edi, edi
je 0x609b6b
push 0x204
mov eax, ebx
call fcn.005fccf0
add esp, 4
mov byte [ebx + 0x36], 1
mov esi, dword [esp + 0x1c]
call fcn.005d43f0
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x58]
neg eax
sbb eax, eax
and eax, 0xffffff9c
add eax, 0x65
mov ebx, esi
mov dword [esp + 0x14], eax
mov esi, ecx
jmp 0x604a3c
mov esi, dword [esp + 0x18]
push 1
mov ecx, esi
call fcn.005e4e70
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x604a3c
mov cl, byte [esp + 0x70]
mov edi, esi
mov byte [ebx + 0x36], cl
call fcn.005ff690
mov ecx, 5
cmp eax, ecx
jne 0x609b44
mov edx, dword [esp + 0x24]
mov al, 1
sub al, byte [esp + 0x70]
mov dword [esi + 0x54], edx
mov byte [ebx + 0x36], al
mov dword [esp + 0x14], ecx
mov dword [esi + 0x58], ecx
jmp 0x604a3c
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
mov dword [esi + 0x54], edx
mov dword [esp + 0x14], 5
mov dword [esi + 0x58], 5
jmp 0x604a3c
push 0x1065e
call fcn.005e2a20
mov esi, dword [esp + 0x1c]
add esp, 4
mov dword [esp + 0x14], eax
jmp 0x606b39
mov esi, dword [esp + 0x18]
mov dword [esp + 0x14], 0xd
jmp 0x606b39
cmp dword [esp + 0x14], 0xc0a
je 0x6049df
mov ecx, dword [esp + 0x14]
call fcn.005d4520
push eax
push 0x7d0b98
lea edi, [esi + 0x34]
mov eax, ebx
call fcn.005e3070
add esp, 8
jmp 0x6049df
mov ebx, edi
mov esi, dword [esp + 0x18]
mov ecx, 9
mov dword [esp + 0x14], ecx
mov dword [esi + 0x58], ecx
jmp 0x609c16
mov ebx, edi
jmp 0x605e01
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
jmp 0x6049c5