Function at 0x492050
Capabilities:
Enumerate pe sections
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x11c
mov eax, dword [0x55bb24]
xor eax, esp
mov dword [esp + 0x114], eax
push ebx
push ebp
push esi
mov esi, ecx
mov ebp, dword [esi]
mov ecx, dword [esi + 0x14]
mov edx, dword [ebp + 8]
xor eax, eax
mov dword [esp + 0x38], ecx
mov ecx, dword [edx + 0xc]
mov dl, byte [ecx + 0x49]
mov ecx, dword [esi + 0x4c]
push edi
lea ebx, [esi + 0x80]
xor edi, edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x20], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], ebp
mov byte [esp + 0x2f], al
mov byte [esp + 0x2b], dl
mov dword [esp + 0x44], eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x38], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x34], ebx
call fcn.004821e0
cmp dword [esi + 0x58], 7
je 0x4924bc
xor ecx, ecx
mov dword [esi + 0x58], ecx
mov dword [esi + 0x2c], ecx
mov edx, dword [ebp + 0xe0]
mov dword [ebp + 0x1a8], ecx
test edx, edx
jne 0x496ca8
xor eax, eax
cmp dword [ebp + 0x108], ecx
mov ecx, dword [esi + 0x54]
setne al
mov dword [esp + 0x20], ecx
mov ebx, ebp
mov dword [esp + 0x48], eax
mov eax, edi
jmp 0x49210c
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x44]
cmp byte [ebx + 0x1e], 0
jne 0x4924bc
mov ecx, dword [esp + 0x20]
lea edx, [ecx + ecx*4]
mov ecx, dword [esp + 0x3c]
xor esi, esi
lea ebp, [ecx + edx*4]
cmp dword [esp + 0x48], esi
je 0x492153
cmp dword [ebx + 0x110], eax
jne 0x49214e
mov edx, dword [ebx + 0x10c]
mov eax, dword [ebx + 0x108]
push edx
call eax
add esp, 4
test eax, eax
jne 0x496ac2
inc eax
mov dword [esp + 0x44], eax
test byte [ebp + 2], 2
je 0x49217a
mov eax, dword [ebp + 8]
mov edx, dword [esp + 0x18]
lea ecx, [eax + eax*4]
lea edi, [edx + ecx*8]
mov eax, edi
mov dword [esp + 0x24], edi
call fcn.0048c5d0
mov eax, 4
mov word [edi + 0x1c], ax
movzx eax, byte [ebp]
dec eax
cmp eax, 0x90
ja case.0x49218a.17
jmp dword [eax*4 + 0x496ce0]
mov ecx, dword [ebx + 0xe0]
test ecx, ecx
jne 0x496ca2
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
jmp case.0x49218a.17
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
lea ecx, [eax + edx*8]
mov eax, dword [esp + 0x20]
mov edx, 4
mov word [ecx + 0x1c], dx
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov eax, dword [ebp + 8]
dec eax
mov dword [esp + 0x20], eax
jmp case.0x49218a.17
mov ebp, dword [ebp + 4]
mov edx, dword [esp + 0x18]
lea ecx, [ebp + ebp*4]
mov eax, dword [edx + ecx*8]
mov dword [esp + 0x20], eax
jmp case.0x49218a.17
mov ebp, dword [ebp + 4]
mov edx, dword [esp + 0x18]
lea ecx, [ebp + ebp*4]
lea ecx, [edx + ecx*8]
mov edx, dword [ecx]
mov eax, 4
mov word [ecx + 0x1c], ax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x60], edx
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov eax, dword [esp + 0x60]
mov dword [esp + 0x20], eax
jmp case.0x49218a.17
mov eax, dword [ebp + 0xc]
mov edx, dword [esp + 0x18]
lea ecx, [eax + eax*4]
test byte [edx + ecx*8 + 0x1c], 1
je case.0x49218a.17
mov edi, dword [esp + 0x14]
cmp dword [ebp + 4], esi
jne 0x496acf
mov eax, dword [edi + 0xdc]
cmp eax, esi
je 0x496acf
mov ecx, dword [eax + 0x3c]
mov edx, dword [esp + 0x1c]
dec dword [edi + 0xe4]
mov dword [edi + 0xdc], ecx
mov ecx, dword [edi + 0x6c]
add dword [edx + 0x40], ecx
mov dword [edx + 0x3c], ecx
call fcn.0048e8d0
cmp dword [ebp + 8], 4
mov dword [esp + 0x20], eax
jne 0x49228e
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x14]
mov ecx, dword [eax + edx*4 + 8]
dec ecx
mov dword [esp + 0x20], ecx
mov edx, dword [edi + 0x14]
mov eax, dword [edi + 0x4c]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x18], eax
jmp case.0x49218a.17
mov eax, dword [ebp + 4]
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
jmp case.0x49218a.17
mov ebp, dword [ebp + 0x10]
mov ecx, dword [ebp]
mov dword [edi], ecx
mov edx, dword [ebp + 4]
mov dword [edi + 4], edx
jmp case.0x49218a.17
mov eax, 8
mov word [edi + 0x1c], ax
mov ecx, dword [ebp + 0x10]
fld qword [ecx]
fstp qword [edi + 8]
jmp case.0x49218a.17
mov ecx, dword [ebp + 0x10]
mov byte [ebp], 9
call fcn.00476ca0
cmp byte [esp + 0x2b], 1
mov dword [ebp + 4], eax
je 0x492369
push 1
push ecx
or ebx, 0xffffffff
xor eax, eax
mov ecx, ebx
mov edx, edi
call fcn.0048cc50
add esp, 8
mov dword [esp + 0x10], eax
cmp eax, 0x12
je 0x492b64
movzx ecx, byte [esp + 0x2b]
mov eax, dword [esp + 0x24]
call fcn.0048c270
test eax, eax
jne 0x4924bc
mov esi, dword [esp + 0x24]
mov dx, word [esi + 0x1c]
mov dword [esi + 0x24], eax
mov eax, 0xfbff
and dx, ax
mov ecx, 0x800
or dx, cx
mov word [esi + 0x1c], dx
cmp byte [ebp + 1], bl
jne 0x49235a
mov edx, dword [ebp + 0x10]
mov eax, dword [esp + 0x1c]
push edx
push eax
call fcn.00474d20
add esp, 8
mov byte [ebp + 1], bl
mov ecx, dword [esi + 0x14]
mov dword [ebp + 0x10], ecx
mov edx, dword [esi + 0x18]
mov dword [ebp + 4], edx
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x1c]
cmp eax, dword [ecx + 0x48]
jg 0x492b64
mov eax, dword [esp + 0x24]
mov edx, 0xa02
mov word [eax + 0x1c], dx
mov ecx, dword [ebp + 0x10]
mov dword [eax + 0x14], ecx
mov edx, dword [ebp + 4]
mov cl, byte [esp + 0x2b]
mov dword [eax + 0x18], edx
mov byte [eax + 0x1f], cl
jmp case.0x49218a.17
mov edx, 1
mov word [edi + 0x1c], dx
jmp case.0x49218a.17
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 4]
push esi
push eax
xor eax, eax
mov edx, edi
call fcn.0048cc50
mov cl, byte [esp + 0x33]
add esp, 8
mov byte [edi + 0x1f], cl
jmp case.0x49218a.17
mov ebp, dword [ebp + 4]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x3c]
lea edx, [ebp + ebp*4]
lea esi, [ecx + edx*8 - 0x28]
mov ecx, esi
mov dword [esp + 0x60], esi
call fcn.0048cb20
test eax, eax
jne 0x492b64
mov ebx, dword [esp + 0x24]
push 0x800
push esi
call fcn.0048cb50
add esp, 8
jmp case.0x49218a.17
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x64], eax
mov ecx, dword [ebp + 4]
lea edx, [ecx + ecx*4]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x18]
mov ebp, dword [ebp + 8]
lea ebx, [ecx + edx*8]
lea edx, [ebp + ebp*4]
lea ecx, [ecx + edx*8]
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x24], ecx
cmp eax, esi
je 0x49246b
mov esi, ecx
dec eax
mov dword [esp + 0x64], eax
mov edx, dword [esi + 0x24]
mov dword [esp + 0x60], edx
mov eax, esi
mov dword [esi + 0x24], 0
call fcn.0048cc00
mov eax, dword [esp + 0x60]
mov dword [ebx + 0x24], eax
mov eax, dword [esp + 0x64]
add ebx, 0x28
add esi, 0x28
test eax, eax
jne 0x492438
mov dword [esp + 0x24], esi
dec eax
mov dword [esp + 0x64], eax
jmp case.0x49218a.17
mov eax, dword [ebp + 8]
mov ebp, dword [ebp + 4]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x18]
lea ebx, [eax + ecx*8]
lea edx, [ebp + ebp*4]
lea eax, [eax + edx*8]
push 0x1000
push eax
mov dword [esp + 0x2c], ebx
call fcn.0048cb50
mov ecx, 0x1000
add esp, 8
test word [ebx + 0x1c], cx
je case.0x49218a.17
mov eax, ebx
call fcn.0048c3a0
test eax, eax
je case.0x49218a.17
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
push str.out_of_memory
add edi, 0x5c
mov byte [eax + 0x1e], 1
call fcn.00475100
mov dword [esp + 0x14], 7
jmp 0x492b81
mov eax, dword [ebp + 8]
mov ebp, dword [ebp + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
lea ebx, [eax + edx*8]
lea ecx, [ebp + ebp*4]
lea edx, [eax + ecx*8]
push 0x1000
push edx
mov dword [esp + 0x2c], ebx
call fcn.0048cb50
add esp, 8
jmp case.0x49218a.17
mov ecx, dword [esp + 0x14]
push esi
call fcn.0048f140
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, esi
jne case.0x49218a.17
mov edi, dword [esp + 0x14]
push 1
push edi
call fcn.0048f070
add esp, 8
mov dword [esp + 0x10], eax
cmp eax, esi
jne case.0x49218a.17
mov edx, dword [edi + 0x50]
mov ecx, dword [esp + 0x18]
add edx, 2
or edx, 1
mov dword [edi + 0x50], edx
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
xor ecx, ecx
mov dword [edi + 0x2c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ecx
cmp dword [ebp + 8], esi
jle 0x4925c5
mov eax, dword [esp + 0x60]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*8]
mov edx, 0x1000
test word [eax + 0x1c], dx
je 0x492595
call fcn.0048c3a0
test eax, eax
jne 0x4924bc
mov ecx, dword [esp + 0x64]
lea eax, [ecx + ecx*4]
mov ecx, dword [esp + 0x60]
lea eax, [ecx + eax*8]
call fcn.0048c460
mov eax, dword [esp + 0x64]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x60]
lea ecx, [eax + edx*8]
call fcn.00491d90
mov ecx, dword [esp + 0x64]
inc ecx
mov dword [esp + 0x64], ecx
cmp ecx, dword [ebp + 8]
jl 0x49256f
mov ecx, dword [esp + 0x1c]
cmp byte [ecx + 0x1e], 0
jne 0x4924bc
mov edx, dword [esp + 0x20]
inc edx
mov eax, edi
mov dword [eax + 0x54], edx
mov esi, 0x64
jmp 0x492be0
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [ebp + 8]
mov ebp, dword [ebp + 0xc]
lea edx, [eax + eax*4]
mov eax, ecx
lea ebx, [eax + edx*8]
lea ecx, [ebp + ebp*4]
lea edx, [eax + ecx*8]
movzx eax, word [edi + 0x1c]
mov cl, byte [ebx + 0x1c]
or cl, al
mov dword [esp + 0x30], edi
mov dword [esp + 0x24], edx
test cl, 1
je 0x49262b
mov esi, edx
call fcn.0048c8d0
jmp case.0x49218a.17
test eax, 0x4000
je 0x492647
mov eax, edi
call fcn.0048c400
cmp eax, esi
jne 0x4924bc
mov edi, dword [esp + 0x30]
xor esi, esi
mov edx, 0x4000
test word [ebx + 0x1c], dx
je 0x492665
mov eax, ebx
call fcn.0048c400
cmp eax, esi
jne 0x4924bc
mov edi, dword [esp + 0x30]
test byte [edi + 0x1c], 0x12
jne 0x49267f
movzx esi, byte [esp + 0x2b]
mov eax, edi
call fcn.0048c4b0
test eax, eax
jne 0x4924bc
test byte [ebx + 0x1c], 0x12
jne 0x492699
movzx esi, byte [esp + 0x2b]
mov eax, ebx
call fcn.0048c4b0
test eax, eax
jne 0x4924bc
mov eax, dword [edi + 0x18]
add eax, dword [ebx + 0x18]
cdq
mov esi, eax
mov eax, dword [esp + 0x1c]
mov ecx, edx
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], ecx
mov eax, dword [eax + 0x48]
cdq
cmp ecx, edx
jg 0x492b64
jl 0x4926c6
cmp esi, eax
ja 0x492b64
mov edi, dword [esp + 0x24]
mov cx, word [edi + 0x1c]
mov edx, 0xbf02
and cx, dx
or cx, 2
xor eax, eax
cmp edi, ebx
sete al
mov word [edi + 0x1c], cx
mov ecx, dword [esp + 0x60]
add ecx, 2
call fcn.0048c290
test eax, eax
jne 0x4924bc
mov esi, edi
cmp esi, ebx
je 0x492713
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x14]
mov edx, dword [esi + 0x14]
push eax
push ecx
push edx
call fcn.004f7510
add esp, 0xc
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x14]
mov eax, dword [ebx + 0x18]
add eax, dword [esi + 0x14]
push ecx
push edx
push eax
call fcn.004f7510
mov edx, dword [esp + 0x6c]
mov ecx, dword [esi + 0x14]
mov byte [edx + ecx], 0
mov ecx, dword [esp + 0x6c]
mov eax, dword [esi + 0x14]
mov byte [eax + ecx + 1], 0
mov cl, byte [esp + 0x37]
mov edx, 0x200
add esp, 0xc
or word [esi + 0x1c], dx
mov eax, dword [esp + 0x60]
mov dword [esi + 0x18], eax
mov byte [esi + 0x1f], cl
jmp case.0x49218a.17
mov eax, dword [ebp + 4]
mov edi, dword [esp + 0x18]
lea edx, [eax + eax*4]
lea ebx, [edi + edx*8]
mov esi, ebx
call fcn.00491eb0
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
call fcn.00491eb0
mov eax, dword [ebp + 0xc]
movzx edx, word [esi + 0x1c]
lea ecx, [eax + eax*4]
movzx eax, word [ebx + 0x1c]
or edx, eax
lea edi, [edi + ecx*8]
mov dword [esp + 0x24], edi
mov dword [esp + 0x60], edx
test dl, 1
jne 0x492992
mov cl, byte [esi + 0x1c]
and cl, byte [ebx + 0x1c]
test cl, 4
je 0x492890
mov ecx, dword [ebx]
mov dword [esp + 0x68], ecx
mov ebx, dword [ebx + 4]
mov dword [esp + 0x6c], ebx
mov eax, dword [esi]
mov dword [esp + 0x70], eax
mov esi, dword [esi + 4]
mov dword [esp + 0x74], esi
movzx edx, byte [ebp]
add edx, 0xffffffaa
cmp edx, 3
ja case.default.0x4927dc
jmp dword [edx*4 + 0x496f24]
add eax, ecx
adc esi, ebx
mov dword [esp + 0x74], esi
jmp 0x49286a
sub eax, ecx
sbb esi, ebx
mov dword [esp + 0x74], esi
jmp 0x49286a
push ebx
push ecx
push esi
push eax
call fcn.004f7a00
jmp 0x492866
mov edx, ecx
or edx, ebx
je 0x492992
mov edx, ecx
and edx, ebx
cmp edx, 0xffffffff
jne 0x492830
test eax, eax
jne 0x492830
cmp esi, 0x80000000
jne 0x492830
mov ecx, 1
xor ebx, ebx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ebx
push ebx
push ecx
push esi
push eax
call fcn.00502db0
jmp 0x492866
mov edx, ecx
or edx, ebx
je 0x492992
mov edx, ecx
and edx, ebx
cmp edx, 0xffffffff
jne 0x49285d
mov ecx, 1
xor ebx, ebx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ebx
push ebx
push ecx
push esi
push eax
call fcn.00502e60
mov dword [esp + 0x74], edx
mov dword [esp + 0x70], eax
mov cx, word [edi + 0x1c]
mov edx, 0xbf04
and cx, dx
mov dword [edi], eax
mov eax, dword [esp + 0x74]
or cx, 4
mov dword [edi + 4], eax
mov word [edi + 0x1c], cx
jmp case.0x49218a.17
mov eax, ebx
call fcn.0048c750
fstp qword [esp + 0x78]
mov eax, esi
call fcn.0048c750
fst qword [esp + 0x80]
movzx eax, byte [ebp]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x4928b5
jmp dword [eax*4 + 0x496f34]
fadd qword [esp + 0x78]
jmp 0x492940
fsub qword [esp + 0x78]
jmp 0x492940
fmul qword [esp + 0x78]
jmp 0x492940
fldz
fld qword [esp + 0x78]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x49298e
fdivp st(1)
jmp 0x492940
fld qword [esp + 0x78]
call fcn.0051f826
mov esi, eax
mov ebx, edx
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], ebx
call fcn.0051f826
mov ecx, esi
or ecx, ebx
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
je 0x492992
mov ecx, esi
and ecx, ebx
cmp ecx, 0xffffffff
jne 0x49292b
mov esi, 1
xor ebx, ebx
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], ebx
push ebx
push esi
push edx
push eax
call fcn.00502e60
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], edx
fild qword [esp + 0x50]
sub esp, 8
fst qword [esp + 0x88]
fstp qword [esp]
call fcn.00476c60
add esp, 8
test eax, eax
jne 0x492992
mov dx, word [edi + 0x1c]
fld qword [esp + 0x80]
mov eax, 0xbf08
fstp qword [edi + 8]
and dx, ax
or dx, 8
mov word [edi + 0x1c], dx
test byte [esp + 0x60], 8
jne case.0x49218a.17
mov esi, edi
call fcn.0048c7a0
jmp case.0x49218a.17
fstp st(0)
fstp st(0)
mov esi, edi
call fcn.0048c8d0
jmp case.0x49218a.17
movzx ecx, byte [ebp + 3]
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x24]
mov edx, dword [esp + 0x18]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], ecx
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
xor eax, eax
cmp ecx, esi
mov dword [esp + 0x64], edx
mov dword [esp + 0x60], eax
jle 0x492a2b
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0xa8]
mov dword [edx + eax*4], ecx
mov eax, dword [esp + 0x64]
mov ecx, 0x1000
test word [eax + 0x1c], cx
je 0x492a0d
call fcn.0048c3a0
test eax, eax
jne 0x4924bc
mov eax, dword [esp + 0x64]
mov ecx, eax
call fcn.00491d90
mov eax, dword [esp + 0x60]
add dword [esp + 0x64], 0x28
inc eax
cmp eax, dword [esp + 0xac]
mov dword [esp + 0x60], eax
jl 0x4929df
cmp byte [ebp + 1], 0xfb
jne 0x492a40
mov edx, dword [ebp + 0x10]
xor eax, eax
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], eax
jmp 0x492a4f
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x6c], eax
mov eax, dword [eax]
mov dword [esp + 0x68], eax
xor eax, eax
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
mov ecx, 1
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov ebx, edi
lea eax, [esp + 0x70]
mov word [esp + 0x8c], cx
mov dword [esp + 0x80], esi
call fcn.0048cc00
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x68]
and edx, 0xbf01
or edx, 1
mov word [esp + 0x8c], dx
mov dword [esp + 0x9c], 0
test byte [eax + 3], 8
je 0x492abb
mov ecx, dword [ebp - 4]
mov dword [esp + 0xa0], ecx
mov edx, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov eax, dword [eax + 0xc]
push edx
push ecx
lea edx, [esp + 0x70]
push edx
call eax
add esp, 0xc
cmp byte [esi + 0x1e], 0
jne 0x496b77
mov ebx, dword [esp + 0x6c]
test ebx, ebx
je 0x492b01
mov ecx, dword [ebp + 4]
push ecx
call fcn.0048f5d0
mov edx, dword [esp + 0x70]
add esp, 4
mov dword [ebp + 0x10], edx
mov byte [ebp + 1], 0xf9
cmp dword [esp + 0x9c], 0
je 0x492b3c
mov bl, 1
lea edi, [esp + 0x70]
call fcn.0048d1e0
mov edi, dword [esp + 0x14]
push eax
push 0x53967c
add edi, 0x5c
mov eax, esi
call fcn.00475100
mov eax, dword [esp + 0xa4]
mov edi, dword [esp + 0x2c]
add esp, 8
mov dword [esp + 0x10], eax
movzx ecx, byte [esp + 0x2b]
lea eax, [esp + 0x70]
call fcn.0048c270
lea ebx, [esp + 0x70]
mov eax, edi
call fcn.0048cc00
mov ecx, edi
call fcn.0048cb20
test eax, eax
je case.0x49218a.17
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
push str.string_or_blob_too_big
add edi, 0x5c
call fcn.00475100
mov dword [esp + 0x14], 0x12
add esp, 4
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 0x5c]
mov ecx, dword [esi + 0xbc]
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x10]
push eax
push ecx
push edx
push str.statement_aborts_at__d:___s___s
push edi
mov dword [esi + 0x58], edi
call fcn.00476410
add esp, 0x14
push esi
call fcn.0048f1a0
add esp, 4
cmp edi, 0xc0a
jne 0x492bc6
mov eax, dword [esp + 0x1c]
mov byte [eax + 0x1e], 1
cmp byte [esp + 0x2f], 0
mov esi, 1
je 0x492be0
mov ebx, dword [esp + 0x1c]
push 0
call fcn.004a2150
add esp, 4
mov ebx, dword [esp + 0x34]
call fcn.00482230
mov ecx, dword [esp + 0x124]
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004f070d
add esp, 0x11c
ret
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0x18]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 8]
lea esi, [edx + ecx*8]
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov dl, byte [ecx + 0x1c]
or dl, byte [esi + 0x1c]
mov dword [esp + 0x24], edi
test dl, 1
je 0x492c3e
mov esi, edi
call fcn.0048c8d0
jmp case.0x49218a.17
call fcn.0048c6e0
mov ecx, esi
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
call fcn.0048c6e0
mov ecx, eax
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], edx
movzx eax, byte [ebp]
sub eax, 0x52
je 0x492c9f
sub eax, 1
je 0x492c95
mov edx, dword [esp + 0x64]
sub eax, 1
mov eax, dword [esp + 0x60]
je 0x492c86
call fcn.0051e6e0
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
jmp 0x492ca7
call fcn.004f79e0
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
jmp 0x492ca7
or dword [esp + 0x60], ecx
or dword [esp + 0x64], edx
jmp 0x492ca7
and dword [esp + 0x60], ecx
and dword [esp + 0x64], edx
mov eax, dword [esp + 0x60]
mov dx, word [edi + 0x1c]
mov dword [edi], eax
mov ecx, dword [esp + 0x64]
mov eax, 0xbf04
and dx, ax
or dx, 4
mov dword [edi + 4], ecx
mov word [edi + 0x1c], dx
jmp case.0x49218a.17
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0x18]
lea ecx, [eax + eax*4]
lea esi, [edx + ecx*8]
call fcn.0048c800
mov eax, dword [ebp + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
jmp case.0x49218a.17
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
call fcn.00491eb0
test byte [esi + 0x1c], 8
je 0x492d0a
call fcn.0048c7a0
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x492d27
mov ebp, dword [ebp + 8]
test ebp, ebp
je 0x496b89
dec ebp
mov dword [esp + 0x20], ebp
jmp case.0x49218a.17
and eax, 0xbf04
or eax, 4
mov word [esi + 0x1c], ax
jmp case.0x49218a.17
mov ebp, dword [ebp + 4]
mov eax, dword [esp + 0x18]
lea edx, [ebp + ebp*4]
test byte [eax + edx*8 + 0x1c], 4
lea esi, [eax + edx*8]
je case.0x49218a.17
call fcn.0048c830
jmp case.0x49218a.17
mov ebp, dword [ebp + 4]
mov edx, dword [esp + 0x18]
lea ecx, [ebp + ebp*4]
lea ebx, [edx + ecx*8]
movzx ecx, word [ebx + 0x1c]
test cl, 1
jne case.0x49218a.17
mov eax, ecx
shr eax, 3
and eax, 2
or eax, ecx
mov word [ebx + 0x1c], ax
test al, 2
jne 0x492d9a
test al, 0xc
je 0x492d9a
movzx esi, byte [esp + 0x2b]
mov eax, ebx
call fcn.0048c4b0
xor esi, esi
mov eax, 0xfff3
and word [ebx + 0x1c], ax
movzx eax, word [ebx + 0x1c]
test eax, 0x4000
je 0x492dc7
mov eax, ebx
call fcn.0048c400
mov ecx, 0xbfe3
and word [ebx + 0x1c], cx
mov dword [esp + 0x10], eax
jmp case.0x49218a.17
mov ecx, 0xbfe3
and word [ebx + 0x1c], cx
mov dword [esp + 0x10], esi
jmp case.0x49218a.17
mov ebp, dword [ebp + 4]
mov eax, dword [esp + 0x18]
lea edx, [ebp + ebp*4]
lea edi, [eax + edx*8]
movzx eax, word [edi + 0x1c]
test al, 1
jne case.0x49218a.17
test al, 0x10
jne 0x492e24
test al, 2
jne 0x492e0b
test al, 0xc
je 0x492e0b
movzx esi, byte [esp + 0x2b]
mov eax, edi
call fcn.0048c4b0
mov cx, word [edi + 0x1c]
mov edx, 0xbf10
and cx, dx
or cx, 0x10
mov word [edi + 0x1c], cx
jmp case.0x49218a.17
and eax, 0xff10
mov word [edi + 0x1c], ax
jmp case.0x49218a.17
mov ebp, dword [ebp + 4]
mov ecx, dword [esp + 0x18]
lea eax, [ebp + ebp*4]
lea eax, [ecx + eax*8]
call fcn.0048c860
jmp case.0x49218a.17
mov ebp, dword [ebp + 4]
mov eax, dword [esp + 0x18]
lea edx, [ebp + ebp*4]
test byte [eax + edx*8 + 0x1c], 1
lea esi, [eax + edx*8]
jne case.0x49218a.17
call fcn.0048c800
jmp case.0x49218a.17
mov ebp, dword [ebp + 4]
mov edx, dword [esp + 0x18]
lea ecx, [ebp + ebp*4]
test byte [edx + ecx*8 + 0x1c], 1
lea esi, [edx + ecx*8]
jne case.0x49218a.17
call fcn.0048c830
jmp case.0x49218a.17
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
mov ax, word [esi + 0x1c]
mov edi, ecx
lea ebx, [edi + edx*8]
mov word [esp + 0x66], ax
mov cx, word [ebx + 0x1c]
mov word [esp + 0x68], cx
movzx eax, word [ebx + 0x1c]
movzx ecx, word [esi + 0x1c]
mov dl, al
or dl, cl
test dl, 1
je 0x492f26
mov dl, byte [ebp + 3]
test dl, dl
jns 0x492ee3
and al, cl
test al, 1
mov eax, 0
sete al
jmp 0x492f99
test dl, 0x10
je 0x492f10
mov ebp, dword [ebp + 8]
lea eax, [ebp + ebp*4]
mov cx, word [edi + eax*8 + 0x1c]
lea eax, [edi + eax*8]
mov edx, 0xbf01
and cx, dx
or cx, 1
mov dword [esp + 0x24], eax
mov word [eax + 0x1c], cx
jmp case.0x49218a.17
test dl, 8
je case.0x49218a.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
jmp case.0x49218a.17
mov al, byte [ebp + 3]
and al, 0x67
mov byte [esp + 0x64], al
je 0x492f61
mov ecx, dword [esp + 0x2b]
push ecx
mov edi, esi
call fcn.00491f30
mov edx, dword [esp + 0x2f]
mov al, byte [esp + 0x68]
add esp, 4
push edx
mov edi, ebx
call fcn.00491f30
mov eax, dword [esp + 0x20]
add esp, 4
cmp byte [eax + 0x1e], 0
jne 0x4924bc
mov ecx, 0x4000
test word [esi + 0x1c], cx
je 0x492f73
mov eax, esi
call fcn.0048c400
mov edx, 0x4000
test word [ebx + 0x1c], dx
je 0x492f85
mov eax, ebx
call fcn.0048c400
mov eax, dword [ebp + 0x10]
push eax
mov eax, esi
mov ecx, ebx
call fcn.0048ce40
mov edi, dword [esp + 0x1c]
add esp, 4
mov dword [esp + 0x60], eax
movzx ecx, byte [ebp]
add ecx, 0xffffffb5
cmp ecx, 4
ja case.default.0x492fa9
jmp dword [ecx*4 + 0x496f44]
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
jmp 0x492fec
xor edx, edx
test eax, eax
setne dl
jmp 0x492fea
xor ecx, ecx
test eax, eax
setl cl
mov eax, ecx
jmp 0x492fec
xor edx, edx
test eax, eax
setle dl
jmp 0x492fea
xor ecx, ecx
test eax, eax
setg cl
mov eax, ecx
jmp 0x492fec
xor edx, edx
test eax, eax
setge dl
mov eax, edx
mov dword [esp + 0x60], eax
test byte [ebp + 3], 0x10
je 0x493036
mov ebp, dword [ebp + 8]
lea eax, [ebp + ebp*4]
mov dx, word [edi + eax*8 + 0x1c]
lea ecx, [edi + eax*8]
mov eax, 0xbf04
and dx, ax
or dx, 4
mov word [ecx + 0x1c], dx
mov eax, dword [esp + 0x60]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov dword [esp + 0x24], ecx
mov cl, byte [esp + 0x66]
mov byte [esi + 0x1c], cl
mov dl, byte [esp + 0x68]
mov byte [ebx + 0x1c], dl
jmp case.0x49218a.17
test eax, eax
je 0x493042
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
mov cl, byte [esp + 0x66]
mov byte [esi + 0x1c], cl
mov dl, byte [esp + 0x68]
mov byte [ebx + 0x1c], dl
jmp case.0x49218a.17
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x40], eax
jmp case.0x49218a.17
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x60], ecx
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x70], esi
mov edx, dword [ebp + 4]
mov dword [esp + 0x68], edx
mov eax, dword [ebp + 8]
mov dword [esp + 0x6c], eax
xor eax, eax
mov dword [esp + 0x64], eax
test ecx, ecx
jle 0x493111
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x18]
jmp 0x493099
mov esi, dword [esp + 0x70]
test ebx, ebx
je 0x4930a2
mov ecx, dword [ebx + eax*4]
jmp 0x4930a4
mov ecx, eax
mov dword [esp + 0x74], ecx
mov edx, dword [esi + eax*4 + 0xc]
mov dword [esp + 0x78], edx
mov esi, dword [esi + 8]
movzx eax, byte [esi + eax]
push edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0x80], eax
lea eax, [ecx + edx]
mov edx, dword [esp + 0x6c]
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.0048ce40
add esp, 4
mov dword [esp + 0x38], eax
test eax, eax
jne 0x493104
mov eax, dword [esp + 0x64]
inc eax
cmp eax, dword [esp + 0x60]
mov dword [esp + 0x64], eax
jl 0x493095
mov dword [esp + 0x40], 0
jmp case.0x49218a.17
cmp dword [esp + 0x7c], 0
je 0x493111
neg eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x40], 0
jmp case.0x49218a.17
mov eax, dword [esp + 0x38]
cmp eax, esi
jge 0x493133
mov ebp, dword [ebp + 4]
dec ebp
mov dword [esp + 0x20], ebp
jmp case.0x49218a.17
jne 0x493142
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
jmp case.0x49218a.17
mov ebp, dword [ebp + 0xc]
dec ebp
mov dword [esp + 0x20], ebp
jmp case.0x49218a.17
mov eax, dword [ebp + 4]
mov edi, dword [esp + 0x18]
lea edx, [eax + eax*4]
test byte [edi + edx*8 + 0x1c], 1
lea ecx, [edi + edx*8]
je 0x49316a
mov edx, 2
jmp 0x49317c
call fcn.0048c6e0
or eax, edx
je 0x49317a
mov edx, 1
jmp 0x49317c
xor edx, edx
mov dword [esp + 0x60], edx
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
lea ecx, [edi + eax*8]
je 0x493197
mov eax, 2
jmp 0x4931ad
call fcn.0048c6e0
or eax, edx
mov edx, dword [esp + 0x60]
je 0x4931ab
mov eax, 1
jmp 0x4931ad
xor eax, eax
mov dword [esp + 0x64], eax
cmp byte [ebp], 0x45
jne 0x4931c4
lea ecx, [eax + edx*2]
movzx eax, byte [edx + ecx + 0x5356c0]
jmp 0x4931cf
lea eax, [eax + edx*2]
movzx eax, byte [edx + eax + 0x5356cc]
mov dword [esp + 0x60], eax
mov ebp, dword [ebp + 0xc]
lea ecx, [ebp + ebp*4]
lea ecx, [edi + ecx*8]
mov dword [esp + 0x24], ecx
cmp eax, 2
jne 0x4931ff
mov dx, word [ecx + 0x1c]
mov eax, 0xbf01
and dx, ax
or dx, 1
mov word [ecx + 0x1c], dx
jmp case.0x49218a.17
cdq
mov dword [ecx + 4], edx
mov dx, word [ecx + 0x1c]
mov dword [ecx], eax
mov eax, 0xbf04
and dx, ax
or dx, 4
mov word [ecx + 0x1c], dx
jmp case.0x49218a.17
mov eax, dword [ebp + 4]
mov ebp, dword [ebp + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x18]
test byte [eax + ecx*8 + 0x1c], 1
lea ecx, [eax + ecx*8]
lea edx, [ebp + ebp*4]
lea eax, [eax + edx*8]
mov dword [esp + 0x24], eax
je 0x49324c
mov esi, eax
call fcn.0048c8d0
jmp case.0x49218a.17
call fcn.0048c6e0
or eax, edx
jne 0x49326e
mov esi, dword [esp + 0x24]
mov eax, 1
cdq
push edx
push eax
call fcn.0048c970
add esp, 8
jmp case.0x49218a.17
mov esi, dword [esp + 0x24]
xor eax, eax
cdq
push edx
push eax
call fcn.0048c970
add esp, 8
jmp case.0x49218a.17
mov eax, dword [ebp + 4]
mov ebp, dword [ebp + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x18]
test byte [eax + ecx*8 + 0x1c], 1
lea ecx, [eax + ecx*8]
lea edx, [ebp + ebp*4]
lea eax, [eax + edx*8]
mov dword [esp + 0x24], eax
je 0x4932b2
mov esi, eax
call fcn.0048c8d0
jmp case.0x49218a.17
call fcn.0048c6e0
mov esi, dword [esp + 0x24]
not edx
not eax
push edx
push eax
call fcn.0048c970
add esp, 8
jmp case.0x49218a.17
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0x18]
lea ecx, [eax + eax*4]
test byte [edx + ecx*8 + 0x1c], 1
lea eax, [edx + ecx*8]
je 0x4932e7
mov eax, dword [ebp + 0xc]
jmp 0x493315
call fcn.0048c750
fcomp qword [0x5448e8]
fnstsw ax
test ah, 0x44
jnp 0x493300
mov eax, 1
jmp 0x493302
xor eax, eax
mov dword [esp + 0x60], eax
cmp byte [ebp], 0x1b
jne 0x493319
xor ecx, ecx
cmp eax, esi
sete cl
mov eax, ecx
mov dword [esp + 0x60], eax
cmp eax, esi
je case.0x49218a.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
jmp case.0x49218a.17
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
test byte [eax + edx*8 + 0x1c], 1
je case.0x49218a.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
jmp case.0x49218a.17
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0x18]
lea ecx, [eax + eax*4]
test byte [edx + ecx*8 + 0x1c], 1
jne case.0x49218a.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
jmp case.0x49218a.17
mov eax, dword [ebp + 4]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x70], eax
mov ecx, dword [ebp + 8]
xor eax, eax
mov dword [esp + 0x74], ecx
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov 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 + 0x78], esi
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
lea eax, [edi + edx*8]
mov dword [esp + 0x9c], eax
mov cx, word [eax + 0x1c]
mov edx, 0xbf01
and cx, dx
mov edx, dword [esp + 0x14]
or cx, 1
mov word [eax + 0x1c], cx
mov ecx, dword [esp + 0x70]
mov eax, dword [edx + 0x34]
mov dword [esp + 0x7c], esi
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x78], eax
mov ecx, dword [eax]
mov dword [esp + 0x80], ecx
cmp ecx, esi
je 0x4934ec
mov edi, eax
call fcn.0048f710
mov dword [esp + 0x10], eax
test eax, eax
jne 0x496c5b
mov eax, dword [esp + 0x78]
cmp byte [eax + 0x14], 0
je 0x493445
mov dword [esp + 0x60], 0
jmp case.0x49218a.17
mov edx, dword [eax + 0x4c]
mov ecx, dword [esp + 0x14]
cmp edx, dword [ecx + 0x50]
jne 0x493461
mov ecx, dword [eax + 0x50]
mov dword [esp + 0x60], ecx
mov edx, dword [eax + 0x5c]
mov dword [esp + 0x7c], edx
jmp 0x493487
cmp byte [eax + 0x17], 0
je 0x4934cd
mov eax, dword [esp + 0x80]
lea edi, [esp + 0x68]
call fcn.00485de0
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x10], eax
mov dword [esp + 0x60], ecx
mov eax, dword [esp + 0x78]
xor esi, esi
cmp ecx, esi
je case.0x49218a.17
mov edx, dword [esp + 0x1c]
cmp ecx, dword [edx + 0x48]
ja 0x492b64
mov edx, dword [eax + 0x34]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x8c], edx
mov ecx, dword [eax + 0x54]
mov dword [esp + 0x84], ecx
mov edi, dword [eax + 0x4c]
cmp edi, dword [esi + 0x50]
jne 0x49353d
mov eax, dword [eax + 0x58]
mov dword [esp + 0x88], eax
jmp 0x4937fb
mov esi, dword [esp + 0x80]
mov edi, esi
call fcn.00485d90
mov ecx, dword [edi + 0x30]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x10], 0
jmp 0x493483
mov ecx, dword [eax + 0x2c]
cmp ecx, esi
jle 0x494893
lea ecx, [ecx + ecx*4]
lea ecx, [edi + ecx*8]
mov dword [esp + 0xe0], ecx
mov edi, dword [ecx + 0x18]
mov dword [esp + 0x60], edi
mov ecx, dword [ecx + 0x14]
mov dword [esp + 0x7c], ecx
test byte [ebp + 3], 0x20
je 0x49352a
xor edx, edx
mov dword [eax + 0x4c], edx
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x60]
jmp 0x493489
mov edx, dword [edx + 0x50]
mov dword [eax + 0x4c], edx
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x60]
jmp 0x493489
lea ecx, [ecx + edx*4]
mov dword [esp + 0x88], ecx
mov dword [esp + 0xdc], 0
mov dword [eax + 0x58], ecx
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x60]
mov dword [ecx + 0x50], edx
mov ecx, dword [esp + 0x78]
mov eax, dword [esi + 0x50]
mov dword [ecx + 0x4c], eax
mov ecx, dword [esp + 0x7c]
test ecx, ecx
je 0x49357b
mov dword [esp + 0x98], ecx
jmp 0x4935e7
mov edx, dword [esp + 0x78]
cmp byte [edx + 0x17], 0
mov esi, dword [esp + 0x80]
je 0x49359b
lea eax, [esp + 0xdc]
push eax
call fcn.004863a0
jmp 0x4935b1
xor eax, eax
cmp byte [esi + 0x43], 1
jne 0x4935b4
push 1
lea ebx, [esp + 0xe0]
call fcn.00486320
add esp, 4
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x98], eax
cmp ecx, dword [esp + 0xdc]
ja 0x4935d5
mov edx, dword [esp + 0x78]
mov dword [esp + 0x7c], eax
mov dword [edx + 0x5c], eax
jmp 0x4935e0
mov eax, dword [esp + 0x78]
mov dword [eax + 0x5c], 0
mov ecx, dword [esp + 0x98]
mov al, byte [ecx]
cmp al, 0x80
jae 0x4935fe
movzx edx, al
mov dword [esp + 0xd0], edx
mov eax, 1
jmp 0x49361b
lea esi, [esp + 0xd0]
call fcn.00477950
mov edx, dword [esp + 0xd0]
mov ecx, dword [esp + 0x98]
movzx eax, al
movzx eax, al
mov dword [esp + 0xd8], eax
cmp edx, 0x18003
jbe 0x493640
mov eax, 0xf40e
call fcn.004cbdd0
mov dword [esp + 0x10], eax
jmp case.0x49218a.17
mov esi, dword [esp + 0x8c]
lea eax, [esi + esi*4 + 3]
cmp eax, edx
mov dword [esp + 0x90], eax
jle 0x49365f
mov eax, edx
mov dword [esp + 0x90], eax
cmp dword [esp + 0x7c], 0
jne 0x4936d2
cmp dword [esp + 0xdc], eax
jge 0x4936d2
mov edx, dword [esp + 0x78]
xor ecx, ecx
mov word [esp + 0xbc], cx
mov dword [esp + 0xb0], ecx
movzx ecx, byte [edx + 0x17]
mov edx, dword [esp + 0x80]
push ecx
push eax
push 0
push edx
lea eax, [esp + 0xb0]
call fcn.0048d0d0
add esp, 0x10
mov dword [esp + 0x10], eax
test eax, eax
jne case.0x49218a.17
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0xd0]
mov eax, dword [esp + 0x90]
mov esi, dword [esp + 0x8c]
mov dword [esp + 0x98], ecx
add eax, ecx
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xd8]
add eax, ecx
xor ecx, ecx
mov dword [esp + 0xc8], eax
mov dword [esp + 0x94], ecx
test esi, esi
jle 0x4937a2
mov eax, dword [esp + 0xc8]
cmp eax, dword [esp + 0xcc]
mov eax, dword [esp + 0x88]
jae 0x49383a
mov dword [eax + ecx*4], edx
mov ecx, dword [esp + 0xc8]
mov al, byte [ecx]
mov edx, dword [esp + 0x94]
cmp al, 0x80
jae 0x493742
movzx ecx, al
mov eax, dword [esp + 0x84]
mov dword [eax + edx*4], ecx
mov eax, 1
jmp 0x493754
mov eax, dword [esp + 0x84]
lea esi, [eax + edx*4]
call fcn.00477950
movzx eax, al
mov edx, dword [esp + 0x84]
movzx ecx, al
add dword [esp + 0xc8], ecx
mov ecx, dword [esp + 0x94]
mov eax, dword [edx + ecx*4]
call fcn.0048f890
mov edx, dword [esp + 0xd0]
add edx, eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd0], edx
cmp edx, eax
jae 0x49384f
mov ecx, dword [esp + 0xcc]
inc ecx
mov dword [esp + 0xc8], ecx
lea edx, [esp + 0xa0]
push edx
call fcn.0048c640
mov ecx, dword [esp + 0xd0]
mov eax, 1
mov word [esp + 0xc0], ax
mov eax, dword [esp + 0xcc]
add esp, 4
cmp eax, ecx
ja 0x493985
mov edx, dword [esp + 0xd0]
mov esi, dword [esp + 0x60]
cmp edx, esi
ja 0x493985
cmp eax, ecx
jne 0x4937f4
cmp edx, esi
jne 0x493985
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x88]
cmp dword [edx + eax*4], 0
je 0x493906
cmp dword [esp + 0x7c], 0
je 0x493869
mov eax, dword [esp + 0x9c]
call fcn.0048c5d0
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x88]
mov ecx, dword [ecx + eax*4]
add ecx, dword [esp + 0x7c]
jmp 0x4938e0
mov dword [eax + ecx*4], 0
mov edx, dword [esp + 0xd0]
mov ecx, dword [esp + 0x94]
inc ecx
cmp ecx, dword [esp + 0x8c]
mov dword [esp + 0x94], ecx
jl 0x4936fc
jmp 0x4937a2
mov eax, dword [ecx + eax*4]
call fcn.0048f890
mov ebx, dword [esp + 0x9c]
mov dword [esp + 0x90], eax
lea eax, [esp + 0xa0]
call fcn.0048cc00
mov eax, dword [esp + 0x78]
movzx ecx, byte [eax + 0x17]
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x88]
push ecx
mov ecx, dword [esp + 0x78]
push edx
mov edx, dword [eax + ecx*4]
mov eax, dword [esp + 0x88]
push edx
push eax
lea eax, [esp + 0xb0]
call fcn.0048d0d0
add esp, 0x10
mov dword [esp + 0x10], eax
test eax, eax
jne case.0x49218a.17
mov ecx, dword [esp + 0xb4]
mov eax, dword [esp + 0x74]
mov dword [esp + 0x98], ecx
mov edx, dword [esp + 0x84]
mov esi, dword [esp + 0x9c]
mov eax, dword [edx + eax*4]
call fcn.0048f960
mov ecx, dword [esp + 0x9c]
mov dl, byte [esp + 0x2b]
mov byte [ecx + 0x1f], dl
jmp 0x493924
cmp byte [ebp + 1], 0xf8
jne 0x493924
mov eax, dword [ebp + 0x10]
mov ebx, dword [esp + 0x9c]
push 0x800
push eax
call fcn.0048cb50
add esp, 8
cmp dword [esp + 0xc4], 0
je 0x493970
mov eax, dword [esp + 0x9c]
mov ecx, 0xe7ff
and word [eax + 0x1c], cx
mov eax, dword [esp + 0x9c]
mov edx, 0x200
or word [eax + 0x1c], dx
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0xb4]
mov dword [eax + 0x14], ecx
mov edx, dword [esp + 0xc4]
mov eax, dword [esp + 0x9c]
mov dword [eax + 0x24], edx
mov eax, dword [esp + 0x9c]
call fcn.0048c3a0
mov dword [esp + 0x10], eax
jmp case.0x49218a.17
mov eax, 0xf458
call fcn.004cbdd0
mov dword [esp + 0x10], eax
jmp case.0x49218a.17
mov ecx, dword [ebp + 0x10]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x60], ecx
mov ebp, dword [ebp + 4]
lea edx, [ebp + ebp*4]
lea edi, [eax + edx*8]
mov al, byte [ecx]
mov byte [esp + 0x64], al
test al, al
je 0x4939f0
inc ecx
mov dword [esp + 0x60], ecx
mov ecx, 0x4000
test word [edi + 0x1c], cx
je 0x4939d2
mov eax, edi
call fcn.0048c400
mov al, byte [esp + 0x64]
mov edx, dword [esp + 0x2b]
push edx
call fcn.00491f30
mov ecx, dword [esp + 0x64]
mov al, byte [ecx]
add esp, 4
add edi, 0x28
mov byte [esp + 0x64], al
test al, al
jne 0x4939b7
inc ecx
mov dword [esp + 0x60], ecx
jmp case.0x49218a.17
xor edi, edi
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], edi
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], edi
mov dword [esp + 0x80], edi
mov eax, dword [ebp + 4]
mov dword [esp + 0x94], eax
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x18]
lea edx, [eax + eax*4]
lea ebx, [ecx + edx*8]
mov edx, dword [esp + 0x14]
movzx edx, byte [edx + 0x64]
mov dword [esp + 0x8c], ebx
mov eax, dword [ebp + 8]
mov dword [esp + 0x94], eax
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8 - 0x28]
mov dword [esp + 0x9c], edx
mov dword [esp + 0x90], eax
mov ebp, dword [ebp + 0xc]
lea edx, [ebp + ebp*4]
lea ecx, [ecx + edx*8]
mov esi, ebx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x64], esi
cmp ebx, eax
ja 0x493b60
nop
mov edi, dword [esp + 0x98]
test edi, edi
je 0x493abd
mov edx, dword [esp + 0x2b]
mov ecx, esi
push edx
sub ecx, ebx
mov eax, 0x66666667
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov al, byte [eax + edi]
mov edi, esi
call fcn.00491f30
mov ebx, dword [esp + 0x90]
mov esi, dword [esp + 0x68]
add esp, 4
mov ecx, 0x4000
test word [esi + 0x1c], cx
je 0x493ae0
cmp dword [esi + 0x18], 0
jle 0x493ae0
mov eax, esi
call fcn.0048c400
mov ebx, dword [esp + 0x8c]
mov esi, dword [esp + 0x64]
mov edx, dword [esp + 0x9c]
push edx
mov ecx, esi
call fcn.0048f7b0
mov ecx, eax
add esp, 4
mov dword [esp + 0x88], ecx
call fcn.0048f890
mov ebp, eax
cdq
add dword [esp + 0x68], eax
push 0
push ecx
adc dword [esp + 0x74], edx
mov dword [esp + 0xac], ebp
call fcn.004779d0
mov edi, dword [esp + 0x78]
add edi, eax
mov eax, 0x4000
add esp, 8
mov dword [esp + 0x70], edi
test word [esi + 0x1c], ax
je 0x493b3d
mov ecx, dword [esi]
add dword [esp + 0x80], ecx
jmp 0x493b4c
test ebp, ebp
je 0x493b4c
mov dword [esp + 0x80], 0
add esi, 0x28
mov dword [esp + 0x64], esi
cmp esi, dword [esp + 0x90]
jbe 0x493a80
mov eax, edi
cdq
push edx
push eax
call fcn.004779d0
mov esi, eax
add edi, esi
mov eax, edi
cdq
push edx
push eax
mov dword [esp + 0x94], esi
mov dword [esp + 0x80], edi
call fcn.004779d0
add esp, 0x10
cmp esi, eax
jge 0x493b92
inc edi
mov dword [esp + 0x70], edi
mov eax, edi
cdq
mov ecx, eax
mov eax, dword [esp + 0x80]
mov esi, edx
cdq
sub ecx, eax
sbb esi, edx
add ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x1c]
adc esi, dword [esp + 0x6c]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], esi
mov eax, dword [edx + 0x48]
cdq
cmp esi, edx
jg 0x492b64
jl 0x493bcf
cmp ecx, eax
ja 0x492b64
mov edi, dword [esp + 0x24]
xor eax, eax
call fcn.0048c290
test eax, eax
jne 0x4924bc
mov eax, dword [esp + 0x70]
mov ecx, dword [edi + 0x14]
mov dword [esp + 0x60], ecx
cmp eax, 0x80
jae 0x493bfd
mov byte [ecx], al
mov eax, 1
jmp 0x493c02
call fcn.004777a0
mov ecx, dword [esp + 0x8c]
movzx esi, al
mov eax, dword [esp + 0x90]
mov dword [esp + 0xa0], esi
mov dword [esp + 0x64], ecx
cmp ecx, eax
ja 0x493c8a
mov edx, dword [esp + 0x9c]
push edx
call fcn.0048f7b0
add esp, 4
mov dword [esp + 0x88], eax
cmp eax, 0x80
jae 0x493c4e
mov ecx, dword [esp + 0x60]
mov byte [esi + ecx], al
mov eax, 1
jmp 0x493c5a
mov edx, dword [esp + 0x60]
lea ecx, [esi + edx]
call fcn.004777a0
mov esi, dword [esp + 0xa0]
mov ecx, dword [esp + 0x64]
movzx eax, al
add esi, eax
mov eax, dword [esp + 0x90]
add ecx, 0x28
mov dword [esp + 0xa0], esi
mov dword [esp + 0x64], ecx
cmp ecx, eax
jbe 0x493c22
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x64], ecx
cmp ecx, eax
ja 0x493cd3
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x60]
sub edx, esi
lea ebx, [esi + eax]
mov eax, dword [esp + 0x9c]
push edx
call fcn.0048f8b0
mov ecx, dword [esp + 0x68]
mov esi, dword [esp + 0xa4]
add ecx, 0x28
add esi, eax
add esp, 4
mov dword [esp + 0xa0], esi
mov dword [esp + 0x64], ecx
cmp ecx, dword [esp + 0x90]
jbe 0x493c92
mov ecx, dword [esp + 0x78]
mov edx, 0x410
mov dword [edi + 0x18], ecx
mov word [edi + 0x1c], dx
mov dword [edi + 0x20], 0
mov eax, dword [esp + 0x80]
test eax, eax
je 0x493d00
mov dword [edi], eax
mov eax, 0x4410
mov word [edi + 0x1c], ax
mov byte [edi + 0x1f], 1
jmp case.0x49218a.17
mov edx, dword [esp + 0x14]
mov ecx, dword [ebp + 4]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx]
mov dword [esp + 0x68], eax
cmp eax, esi
je 0x493d43
lea edx, [esp + 0x60]
push edx
call fcn.0048a1b0
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x64]
mov dword [edi], eax
mov ecx, dword [esp + 0x68]
add esp, 4
mov dword [edi + 4], ecx
jmp case.0x49218a.17
mov dword [esp + 0x64], esi
mov dword [esp + 0x60], esi
mov eax, esi
mov dword [edi], eax
mov ecx, dword [esp + 0x64]
mov dword [edi + 4], ecx
jmp case.0x49218a.17
mov edi, dword [ebp + 4]
mov dword [esp + 0x60], edi
mov ebp, dword [ebp + 0x10]
mov dword [esp + 0x64], ebp
cmp edi, esi
jne 0x493e2f
mov edx, dword [esp + 0x1c]
cmp dword [edx + 0x90], esi
jle 0x493da0
mov edi, dword [esp + 0x14]
push str.cannot_open_savepoint___SQL_statements_in_progress
add edi, 0x5c
mov eax, edx
call fcn.00475100
add esp, 4
mov dword [esp + 0x10], 5
jmp case.0x49218a.17
mov ecx, ebp
call fcn.00476ca0
lea ecx, [eax + 0x19]
mov esi, edx
mov dword [esp + 0x68], eax
call fcn.00474f60
mov dword [esp + 0x6c], eax
test eax, eax
je case.0x49218a.17
lea ecx, [eax + 0x18]
mov dword [eax], ecx
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x6c]
inc edx
push edx
mov edx, dword [ecx]
push eax
push edx
call fcn.004f7510
add esp, 0xc
cmp byte [esi + 0x1c], 0
je 0x493df3
mov byte [esi + 0x1c], 0
mov byte [esi + 0x1dc], 1
jmp 0x493df9
inc dword [esi + 0x1d4]
mov eax, dword [esi + 0x1d0]
mov ecx, dword [esp + 0x6c]
mov dword [ecx + 0x10], eax
mov edx, dword [esp + 0x6c]
mov eax, dword [esi + 0x1e0]
mov dword [esi + 0x1d0], edx
mov ecx, dword [esp + 0x6c]
mov dword [ecx + 8], eax
mov edx, dword [esi + 0x1e4]
mov eax, dword [esp + 0x6c]
mov dword [eax + 0xc], edx
jmp case.0x49218a.17
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x78], 0
mov ebx, dword [esi + 0x1d0]
mov dword [esp + 0x70], ebx
test ebx, ebx
je 0x493e6c
lea esp, [esp]
mov ecx, dword [ebx]
mov edx, ebp
call fcn.00476e80
test eax, eax
je 0x493e90
inc dword [esp + 0x78]
mov ebx, dword [ebx + 0x10]
mov dword [esp + 0x70], ebx
test ebx, ebx
jne 0x493e50
mov edi, dword [esp + 0x14]
push ebp
push str.no_such_savepoint:__s
add edi, 0x5c
mov eax, esi
call fcn.00475100
add esp, 8
mov dword [esp + 0x10], 1
jmp case.0x49218a.17
xor eax, eax
cmp dword [esi + 0x90], eax
jg 0x494034
cmp edi, 2
jne 0x493eb0
cmp dword [esi + 0x8c], 1
jg 0x494039
cmp dword [ebx + 0x10], eax
jne 0x493f13
cmp byte [esi + 0x1dc], 0
je 0x493f13
mov dword [esp + 0x30], 1
cmp edi, 1
jne 0x493f17
mov ecx, dword [esp + 0x14]
push edi
call fcn.0048f140
mov esi, eax
add esp, 4
test esi, esi
jne 0x492be0
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
push edi
mov byte [esi + 0x1c], 1
call fcn.0048f1a0
add esp, 4
cmp eax, 5
je 0x496b96
mov byte [esi + 0x1dc], 0
mov ecx, dword [edi + 0x58]
mov dword [esp + 0x10], ecx
jmp 0x493f95
mov dword [esp + 0x30], eax
mov ecx, dword [esi + 0x1d4]
sub ecx, dword [esp + 0x78]
mov dword [esp + 0x7c], eax
dec ecx
mov dword [esp + 0x78], ecx
cmp dword [esi + 4], eax
jle 0x493f6c
jmp 0x493f35
mov ecx, dword [esp + 0x78]
mov edx, dword [esi + 8]
shl eax, 4
mov eax, dword [eax + edx + 4]
push edi
mov ebx, ecx
call fcn.00485ac0
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x496c5b
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0x60]
inc eax
mov dword [esp + 0x7c], eax
cmp eax, dword [esi + 4]
jl 0x493f31
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x1c]
cmp edi, 2
jne 0x493f9d
mov ebp, 0x200
test dword [esi + 0xc], ebp
je 0x493f9d
mov eax, esi
call fcn.00490140
push 0
mov ebx, esi
call fcn.004a2150
add esp, 4
or dword [esi + 0xc], ebp
mov edi, dword [esp + 0x60]
mov ebx, dword [esp + 0x70]
cmp dword [esi + 0x1d0], ebx
je 0x493fe7
jmp 0x493fb0
mov eax, dword [esi + 0x1d0]
mov dword [esp + 0x74], eax
mov eax, dword [eax + 0x10]
mov dword [esi + 0x1d0], eax
mov ecx, dword [esp + 0x74]
push ecx
push esi
call fcn.00474d20
dec dword [esi + 0x1d4]
mov ebx, dword [esp + 0x78]
add esp, 8
cmp dword [esi + 0x1d0], ebx
jne 0x493fb0
mov edi, dword [esp + 0x60]
cmp edi, 1
jne 0x49401d
mov edx, dword [ebx + 0x10]
mov dword [esi + 0x1d0], edx
mov eax, dword [esp + 0x70]
push eax
push esi
call fcn.00474d20
add esp, 8
cmp dword [esp + 0x30], 0
jne case.0x49218a.17
mov eax, dword [esp + 0x1c]
dec dword [eax + 0x1d4]
jmp case.0x49218a.17
mov ecx, dword [ebx + 8]
mov dword [esi + 0x1e0], ecx
mov edx, dword [ebx + 0xc]
mov dword [esi + 0x1e4], edx
jmp case.0x49218a.17
cmp edi, 2
jne 0x494040
mov eax, str.rollback
jmp 0x494045
mov eax, str.release
mov edi, dword [esp + 0x14]
push eax
push str.cannot__s_savepoint___SQL_statements_in_progress
add edi, 0x5c
mov eax, esi
call fcn.00475100
add esp, 8
mov dword [esp + 0x10], 5
jmp case.0x49218a.17
mov eax, dword [ebp + 4]
mov dword [esp + 0x60], eax
mov ebp, dword [ebp + 8]
mov dword [esp + 0x64], ebp
cmp eax, esi
je 0x49409d
cmp byte [ebx + 0x1c], 0
jne 0x49409d
mov ecx, 1
mov dword [esp + 0x68], ecx
cmp ebp, esi
je 0x4940b8
cmp dword [ebx + 0x8c], ecx
jle 0x4940a1
push str.cannot_rollback_transaction___SQL_statements_in_progress
jmp 0x4940c5
mov dword [esp + 0x68], esi
movzx ecx, byte [ebx + 0x1c]
cmp eax, ecx
jne 0x496bae
cmp eax, esi
jne 0x4940e5
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x4940f3
cmp dword [ebx + 0x90], esi
jle 0x4940a1
push str.cannot_commit_transaction___SQL_statements_in_progress
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
add edi, 0x5c
call fcn.00475100
add esp, 4
mov dword [esp + 0x10], 5
jmp case.0x49218a.17
mov eax, str.cannot_rollback___no_transaction_is_active
cmp ebp, esi
jne 0x4940f3
mov eax, str.cannot_commit___no_transaction_is_active
mov edi, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x20]
add edi, 0x5c
call fcn.00475100
add esp, 4
mov dword [esp + 0x10], 1
jmp case.0x49218a.17
mov edx, dword [ebp + 4]
mov eax, dword [ebx + 8]
shl edx, 4
mov eax, dword [edx + eax + 4]
mov dword [esp + 0x60], eax
cmp eax, esi
je case.0x49218a.17
mov ecx, dword [ebp + 8]
push ecx
push eax
call fcn.00484700
add esp, 8
mov dword [esp + 0x10], eax
cmp eax, 5
je 0x496c2b
test eax, eax
jne 0x496c5b
cmp dword [ebp + 8], eax
je case.0x49218a.17
mov esi, dword [esp + 0x14]
cmp byte [esi + 0x66], al
je case.0x49218a.17
mov edi, dword [esp + 0x1c]
cmp byte [edi + 0x1c], al
je 0x49417b
cmp dword [edi + 0x8c], 1
jle case.0x49218a.17
cmp dword [esi + 0xd8], 0
jne 0x49419e
inc dword [edi + 0x1d8]
mov eax, dword [edi + 0x1d8]
mov edx, dword [edi + 0x1d4]
add edx, eax
mov dword [esi + 0xd8], edx
mov eax, dword [esi + 0xd8]
push eax
mov eax, dword [esp + 0x64]
call fcn.00485a70
mov ecx, dword [edi + 0x1e0]
mov dword [esi + 0xd0], ecx
mov edx, dword [edi + 0x1e4]
add esp, 4
mov dword [esp + 0x10], eax
mov dword [esi + 0xd4], edx
jmp case.0x49218a.17
mov eax, dword [ebp + 4]
mov dword [esp + 0x64], eax
mov ebp, dword [ebp + 0xc]
mov dword [esp + 0x68], ebp
mov edx, dword [ebx + 8]
lea ecx, [esp + 0x60]
push ecx
shl eax, 4
mov eax, dword [eax + edx + 4]
push ebp
call fcn.0048a0c0
mov eax, dword [esp + 0x68]
cdq
add esp, 8
mov dword [edi], eax
mov dword [edi + 4], edx
jmp case.0x49218a.17
mov eax, dword [ebp + 4]
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
shl eax, 4
add eax, dword [edi + 8]
mov dword [esp + 0x60], eax
mov eax, dword [ebp + 0xc]
lea ecx, [eax + eax*4]
lea esi, [edx + ecx*8]
call fcn.0048c800
mov eax, dword [esi]
mov ecx, dword [esp + 0x60]
mov ebx, dword [ebp + 8]
push eax
mov eax, dword [ecx + 4]
call fcn.0048a130
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 8]
add esp, 4
cmp eax, 1
jne 0x49425f
mov edx, dword [esp + 0x60]
mov eax, dword [edx + 0xc]
mov ecx, dword [esi]
mov dword [eax], ecx
or dword [edi + 0xc], 0x200
jmp 0x494270
cmp eax, 2
jne 0x494270
mov edx, dword [esp + 0x60]
mov eax, dword [edx + 0xc]
mov cl, byte [esi]
mov byte [eax + 0x48], cl
cmp dword [ebp + 4], 1
jne case.0x49218a.17
mov eax, edi
call fcn.00490140
mov edx, dword [esp + 0x14]
mov byte [edx + 0x62], 0
jmp case.0x49218a.17
mov eax, dword [ebp + 4]
mov ecx, dword [ebx + 8]
shl eax, 4
mov eax, dword [eax + ecx + 4]
mov dword [esp + 0x64], eax
cmp eax, esi
je 0x4942b4
lea edx, [esp + 0x60]
push edx
push 1
call fcn.0048a0c0
add esp, 8
jmp 0x4942b8
mov dword [esp + 0x60], esi
mov eax, dword [esp + 0x60]
cmp eax, dword [ebp + 8]
je case.0x49218a.17
mov edi, dword [esp + 0x14]
mov ecx, dword [edi + 0x5c]
mov esi, dword [esp + 0x1c]
push ecx
push esi
call fcn.00474d20
push esi
mov ebx, str.database_schema_has_changed
call fcn.00475080
mov dword [edi + 0x5c], eax
mov ebp, dword [ebp + 4]
mov eax, dword [esi + 8]
mov edx, ebp
shl edx, 4
mov ecx, dword [edx + eax + 0xc]
mov edx, dword [ecx]
add esp, 0xc
cmp edx, dword [esp + 0x60]
je 0x49430a
push ebp
mov ebx, esi
call fcn.004a2150
add esp, 4
mov eax, esi
call fcn.00490140
mov dword [esp + 0x10], 0x11
jmp case.0x49218a.17
mov edi, dword [esp + 0x14]
cmp byte [edi + 0x62], 0
je 0x494335
mov dword [esp + 0x10], 4
jmp case.0x49218a.17
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x64], esi
xor ecx, ecx
mov dword [esp + 0x60], ecx
mov edx, dword [ebp + 8]
mov dword [esp + 0x68], edx
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x6c], eax
shl eax, 4
add eax, dword [ebx + 8]
mov dword [esp + 0x7c], eax
mov ebx, dword [eax + 4]
mov dword [esp + 0x74], ebx
cmp byte [ebp], 0x27
jne 0x494380
mov dword [esp + 0x70], 1
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x48]
cmp al, byte [edi + 0x64]
jae 0x494384
mov byte [edi + 0x64], al
jmp 0x494384
mov dword [esp + 0x70], esi
cmp byte [ebp + 3], 0
je 0x4943ac
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x18]
lea esi, [edx + ecx*8]
call fcn.0048c800
mov esi, dword [esi]
cmp esi, 2
mov dword [esp + 0x68], esi
jl 0x496c43
mov ecx, dword [esp + 0x60]
mov al, byte [ebp + 1]
cmp al, 0xfa
jne 0x4943d5
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x64], eax
mov ecx, edi
mov edx, dword [ecx]
mov ecx, dword [edx + 8]
mov edx, dword [ecx + 0xc]
mov cl, byte [edx + 0x49]
mov byte [eax + 4], cl
mov edx, dword [esp + 0x64]
movzx ecx, word [edx + 6]
inc ecx
jmp 0x4943dc
cmp al, 0xf2
jne 0x4943e0
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x60], ecx
mov eax, dword [esp + 0x6c]
push 1
push eax
push ecx
mov ecx, dword [ebp + 4]
push ecx
mov ebx, edi
call fcn.00491dc0
add esp, 0x10
mov dword [esp + 0x78], eax
test eax, eax
je 0x4924bc
mov cl, 1
mov byte [eax + 0x14], cl
mov edx, dword [esp + 0x78]
mov byte [edx + 0x18], cl
mov eax, dword [esp + 0x78]
mov ecx, dword [eax]
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x6c]
push edx
push eax
mov eax, dword [esp + 0x80]
push ecx
call fcn.00485be0
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0x74]
add esp, 0x10
mov dword [esp + 0x10], eax
mov dword [edx + 0x30], ecx
cmp eax, 0x10
jne 0x49445c
mov edx, dword [esp + 0x78]
mov dword [edx], 0
mov dword [esp + 0x10], 0
cmp byte [ebp + 1], 0xfa
mov ecx, dword [esp + 0x78]
setne al
mov byte [ecx + 0x16], al
mov eax, dword [esp + 0x78]
cmp byte [eax + 0x16], 0
sete dl
mov byte [eax + 0x17], dl
jmp case.0x49218a.17
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 4]
mov esi, dword [esp + 0x14]
push 1
push 0xffffffffffffffff
push eax
push ecx
mov ebx, esi
call fcn.00491dc0
add esp, 0x10
mov dword [esp + 0x60], eax
test eax, eax
je 0x4924bc
mov ebx, 1
mov byte [eax + 0x14], bl
movzx edx, byte [ebp + 3]
mov ecx, dword [esp + 0x60]
or edx, 9
push 0x41e
push edx
mov edx, dword [esp + 0x24]
add ecx, 0x28
push 0
call fcn.00483710
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
jne 0x494580
mov eax, dword [esp + 0x60]
mov ecx, dword [eax + 0x28]
push ebx
push ecx
call fcn.00484700
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne 0x494580
cmp dword [ebp + 0x10], 0
mov eax, dword [esp + 0x60]
je 0x494563
mov eax, dword [eax + 0x28]
lea edx, [esp + 0x4c]
push 2
push edx
call fcn.00489bd0
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne 0x494559
mov eax, dword [esp + 0x60]
mov ecx, dword [eax]
mov edx, dword [ebp + 0x10]
mov eax, dword [eax + 0x28]
push ecx
mov ecx, dword [esp + 0x50]
push edx
push ebx
push ecx
call fcn.00485be0
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x70]
mov dword [eax + 0x30], edx
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x70]
mov edx, dword [ecx + 0x30]
mov al, byte [eax + 0x49]
add esp, 0x10
mov byte [edx + 4], al
mov ecx, dword [esp + 0x60]
mov byte [ecx + 0x16], 0
jmp 0x494580
mov edx, dword [eax]
mov eax, dword [eax + 0x28]
push edx
push 0
push ebx
push ebx
call fcn.00485be0
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x70]
add esp, 0x10
mov byte [eax + 0x16], bl
cmp byte [ebp + 3], 0x10
mov edx, dword [esp + 0x60]
setne cl
mov byte [edx + 0x18], cl
mov eax, dword [esp + 0x60]
cmp byte [eax + 0x16], 0
sete cl
mov byte [eax + 0x17], cl
jmp case.0x49218a.17
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 4]
mov ebx, dword [esp + 0x14]
push esi
push 0xffffffffffffffff
push edx
push eax
call fcn.00491dc0
add esp, 0x10
mov dword [esp + 0x60], eax
test eax, eax
je 0x4924bc
mov cl, 1
mov byte [eax + 0x14], cl
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0x60]
mov dword [eax + 0x2c], edx
mov edx, dword [esp + 0x60]
mov byte [edx + 0x16], cl
mov eax, dword [esp + 0x60]
mov byte [eax + 0x17], 0
jmp case.0x49218a.17
mov edi, dword [esp + 0x14]
mov ecx, dword [ebp + 4]
mov edx, dword [edi + 0x34]
mov eax, dword [edx + ecx*4]
call fcn.0048e890
mov eax, dword [ebp + 4]
mov ecx, dword [edi + 0x34]
mov dword [ecx + eax*4], 0
jmp case.0x49218a.17
mov eax, dword [esp + 0x14]
mov edx, dword [ebp + 4]
mov ecx, dword [eax + 0x34]
mov eax, dword [ecx + edx*4]
mov dword [esp + 0x68], eax
cmp dword [eax], esi
je 0x49219f
movzx edx, byte [ebp]
mov dword [esp + 0x64], edx
mov byte [eax + 0x14], 0
mov ecx, dword [esp + 0x68]
cmp byte [ecx + 0x16], 0
je 0x4947eb
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
call fcn.00491eb0
mov ecx, esi
call fcn.0048c6e0
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 0x90], eax
mov byte [edx + 0x11], 0
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x494787
test al, 8
jne 0x49468a
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
jmp case.0x49218a.17
xor ebx, ebx
cmp dword [esp + 0x90], ebx
jne 0x494733
mov eax, SysReAllocString
cmp dword [esp + 0x94], eax
jne 0x494733
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], ebx
fild qword [esp + 0x58]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
je 0x4946cd
fldz
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x494733
fldz
mov dword [esp + 0x60], 1
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x4946f9
cmp dword [esp + 0x64], 0x2e
jl 0x494726
mov eax, dword [esp + 0x68]
mov esi, dword [eax]
lea edi, [esp + 0x60]
call fcn.004867b0
jmp 0x49470f
cmp dword [esp + 0x64], 0x2d
jg 0x494726
mov ecx, dword [esp + 0x68]
mov esi, dword [ecx]
lea edi, [esp + 0x60]
call fcn.004867e0
mov dword [esp + 0x10], eax
cmp eax, ebx
jne 0x496c5b
cmp dword [esp + 0x60], 0
je case.0x49218a.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
jmp case.0x49218a.17
mov eax, dword [esp + 0x64]
cmp eax, 0x2c
je 0x494767
cmp eax, 0x2e
je 0x494767
fild qword [esp + 0x90]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x494787
mov eax, 0xffffffff
add dword [esp + 0x90], eax
adc dword [esp + 0x94], eax
jmp 0x494787
fild qword [esp + 0x90]
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x494787
add dword [esp + 0x90], 1
adc dword [esp + 0x94], ebx
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x90]
lea edx, [esp + 0x60]
push edx
mov edx, dword [esp + 0x6c]
push 0
push eax
mov eax, dword [edx]
push ecx
push 0
push eax
call fcn.00486820
add esp, 0x18
mov dword [esp + 0x10], eax
test eax, eax
jne 0x496c5b
cmp dword [esp + 0x60], eax
jne 0x49486a
mov ecx, dword [esp + 0x68]
mov byte [ecx + 0x11], 1
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x68]
mov dword [eax + 8], edx
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x68]
mov dword [edx + 0xc], ecx
jmp 0x49486a
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x88], eax
mov edx, dword [ecx + 0x30]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x64]
and edx, 1
add edx, edx
add edx, edx
add edx, edx
mov word [esp + 0x74], ax
mov word [esp + 0x76], dx
mov eax, dword [ebp + 0xc]
mov edx, dword [esp + 0x18]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov edx, 0x4000
mov dword [esp + 0x80], eax
test word [eax + 0x1c], dx
je 0x49483b
call fcn.0048c400
mov ecx, dword [esp + 0x68]
lea eax, [esp + 0x60]
push eax
mov eax, dword [ecx]
push esi
push esi
push esi
lea edx, [esp + 0x80]
push edx
push eax
call fcn.00486820
add esp, 0x18
mov dword [esp + 0x10], eax
cmp eax, esi
jne 0x496c5b
mov ecx, dword [esp + 0x68]
mov byte [ecx + 0x11], 0
mov edx, dword [esp + 0x68]
mov byte [edx + 0x15], 0
mov eax, dword [esp + 0x68]
xor esi, esi
mov dword [eax + 0x4c], esi
mov ecx, dword [esp + 0x64]
cmp ecx, 0x2e
mov eax, dword [esp + 0x60]
jl 0x4948c9
cmp eax, esi
jl 0x49489c
jne 0x494893
cmp ecx, 0x2f
je 0x49489c
mov dword [esp + 0x60], esi
jmp case.0x49218a.17
mov edx, dword [esp + 0x68]
mov eax, dword [edx]
lea ecx, [esp + 0x60]
push ecx
push eax
call fcn.00486c10
add esp, 8
mov dword [esp + 0x10], eax
cmp eax, esi
jne 0x496c5b
mov ecx, dword [esp + 0x68]
mov byte [ecx + 0x11], 0
jmp 0x49471b
cmp eax, esi
jg 0x4948ec
jne 0x4948d4
cmp ecx, 0x2c
je 0x4948ec
mov edx, dword [esp + 0x68]
mov eax, dword [edx]
xor ecx, ecx
cmp byte [eax + 0x43], 1
setne cl
mov dword [esp + 0x60], ecx
jmp 0x49471b
mov eax, dword [esp + 0x68]
mov ecx, dword [eax]
lea edx, [esp + 0x60]
push edx
push ecx
call fcn.00486d30
add esp, 8
mov dword [esp + 0x10], eax
cmp eax, esi
jne 0x496c5b
mov edx, dword [esp + 0x68]
mov byte [edx + 0x11], 0
jmp 0x49471b
mov ecx, dword [esp + 0x14]
mov eax, dword [ebp + 4]
mov edx, dword [ecx + 0x34]
mov eax, dword [edx + eax*4]
mov dword [esp + 0x60], eax
cmp dword [eax], esi
je case.0x49218a.17
mov ecx, dword [esp + 0x18]
mov byte [eax + 0x14], 0
mov ebp, dword [ebp + 8]
lea eax, [ebp + ebp*4]
lea ecx, [ecx + eax*8]
call fcn.0048c6e0
mov ecx, dword [esp + 0x60]
mov dword [ecx + 0x20], eax
mov eax, dword [esp + 0x60]
mov dword [eax + 0x24], edx
mov ecx, dword [esp + 0x60]
mov byte [ecx + 0x11], 0
mov edx, dword [esp + 0x60]
mov byte [edx + 0x15], 1
jmp case.0x49218a.17
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 0x34]
mov edi, dword [esp + 0x18]
xor edx, edx
mov dword [esp + 0x60], edx
mov eax, dword [ebp + 4]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x64], eax
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx + ecx*4]
lea ecx, [edi + ecx*8]
cmp dword [eax], esi
je 0x494a55
cmp dword [ebp + 0x10], esi
jle 0x4949c8
mov edx, dword [eax + 0x30]
mov dword [esp + 0x70], edx
mov dx, word [ebp + 0x10]
mov word [esp + 0x74], dx
mov dword [esp + 0x80], ecx
mov ecx, 0x10
lea edx, [esp + 0x70]
mov word [esp + 0x76], cx
mov dword [esp + 0x6c], edx
jmp 0x4949ff
mov edx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x18]
push edx
mov edx, dword [eax + 0x30]
push ecx
push edx
mov edx, 0x97
lea eax, [esp + 0x94]
call fcn.0048fb80
add esp, 0xc
mov dword [esp + 0x6c], eax
cmp eax, esi
je 0x4924bc
or word [eax + 6], 0x10
mov eax, dword [esp + 0x64]
xor esi, esi
mov edx, dword [esp + 0x6c]
mov eax, dword [eax]
lea ecx, [esp + 0x68]
push ecx
push esi
push esi
push esi
push edx
push eax
call fcn.00486820
add esp, 0x18
mov dword [esp + 0x10], eax
cmp dword [ebp + 0x10], esi
jne 0x494a2b
mov ebx, dword [esp + 0x6c]
call fcn.0048fcd0
xor esi, esi
cmp dword [esp + 0x10], esi
jne case.0x49218a.17
mov edx, dword [esp + 0x64]
xor ecx, ecx
cmp dword [esp + 0x68], esi
sete cl
mov dword [esp + 0x60], ecx
mov byte [edx + 0x15], 0
mov eax, dword [esp + 0x64]
mov dword [eax + 0x4c], esi
mov edx, dword [esp + 0x60]
cmp byte [ebp], 0x32
jne 0x494a62
cmp edx, esi
jmp 0x494720
cmp edx, esi
jne case.0x49218a.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
jmp case.0x49218a.17
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x18]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0x10]
lea esi, [ecx + edx*8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x70], ecx
mov edx, dword [ebp + 4]
mov ecx, dword [eax + 0x34]
mov eax, dword [ecx + edx*4]
mov dword [esp + 0x64], eax
xor ecx, ecx
mov dword [eax + 0x48], ecx
mov edx, dword [esp + 0x64]
mov dword [edx + 0x4c], ecx
mov edx, dword [esp + 0x64]
mov eax, dword [edx]
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x68], eax
mov ecx, dword [edx + 0x30]
mov cx, word [ecx + 6]
xor eax, eax
xor edi, edi
mov word [esp + 0x6c], cx
mov word [esp + 0x60], ax
cmp di, cx
jae 0x494afd
jmp 0x494ae0
movzx edi, ax
lea edi, [edi + edi*4]
test byte [ebx + edi*8 + 0x1c], 1
jne 0x494ba9
inc ax
mov word [esp + 0x60], ax
cmp ax, cx
jb 0x494ae0
cmp dword [esp + 0x68], 0
je case.0x49218a.17
mov edx, dword [edx + 0x30]
mov eax, dword [esp + 0x6c]
inc eax
mov ecx, 0x20
mov dword [esp + 0x78], edx
mov word [esp + 0x7c], ax
mov word [esp + 0x7e], cx
mov dword [esp + 0x88], ebx
call fcn.0048c800
mov ecx, dword [esp + 0x64]
mov edx, dword [esi]
add ecx, 0x48
push ecx
push 0
mov dword [esp + 0x98], edx
mov eax, dword [esi + 4]
push 0
push 0
lea edx, [esp + 0x88]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x78]
push edx
push eax
call fcn.00486820
add esp, 0x18
test byte [esp + 0x7e], 0x20
mov dword [esp + 0x10], eax
jne 0x49219f
mov eax, dword [esp + 0x80]
cmp eax, dword [esp + 0x90]
jne 0x494b98
mov ecx, dword [esp + 0x84]
cmp ecx, dword [esp + 0x94]
je 0x49219f
mov dword [esi], eax
mov edx, dword [esp + 0x84]
mov dword [esi + 4], edx
jmp case.0x49218a.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x68], 0
jmp case.0x49218a.17
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x18]
mov edx, dword [ebp + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x34]
mov ecx, dword [ecx + edx*4]
mov dword [esp + 0x60], ecx
mov eax, dword [ecx]
xor edi, edi
mov dword [esp + 0x64], eax
cmp eax, edi
je 0x494c66
mov dword [esp + 0x68], edi
mov ecx, dword [esi]
lea ebx, [esp + 0x68]
push ebx
push edi
mov dword [esp + 0x78], ecx
mov edx, dword [esi + 4]
push edx
push ecx
push edi
push eax
mov dword [esp + 0x8c], edx
call fcn.00486820
mov edx, dword [esi]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x78]
mov dword [eax + 8], edx
mov ecx, dword [esi + 4]
mov edx, dword [esp + 0x78]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x78]
add esp, 0x18
cmp dword [esp + 0x68], edi
sete al
mov byte [ecx + 0x11], al
mov edx, dword [esp + 0x60]
mov byte [edx + 0x14], 0
mov eax, dword [esp + 0x60]
mov dword [eax + 0x4c], edi
mov ecx, dword [esp + 0x60]
mov byte [ecx + 0x15], 0
mov eax, dword [esp + 0x68]
cmp eax, edi
je 0x494c5a
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
mov edx, dword [esp + 0x60]
mov dword [edx + 0x48], eax
jmp case.0x49218a.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
mov dword [ecx + 0x48], edi
jmp case.0x49218a.17
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x34]
mov eax, dword [edx + eax*4]
mov edx, dword [eax + 0x38]
mov dword [edi], edx
mov eax, dword [eax + 0x3c]
mov dword [edi + 4], eax
mov edx, dword [ebp + 4]
mov eax, dword [ecx + 0x34]
mov eax, dword [eax + edx*4]
add dword [eax + 0x38], 1
adc dword [eax + 0x3c], esi
jmp case.0x49218a.17
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x34]
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], esi
mov dword [esp + 0x6c], esi
mov ecx, dword [ebp + 4]
mov edx, dword [eax + ecx*4]
mov dword [esp + 0x68], edx
cmp dword [edx], esi
je 0x494f37
mov dword [esp + 0x70], esi
cmp byte [edx + 0x13], 0
jne 0x494e4c
mov ecx, dword [edx]
mov eax, dword [ecx + 0x18]
mov dword [esp + 0x60], eax
mov ecx, dword [ecx + 0x1c]
mov edi, eax
or edi, ecx
mov dword [esp + 0x64], ecx
jne 0x494d60
mov esi, dword [edx]
lea edi, [esp + 0x6c]
call fcn.004867e0
mov dword [esp + 0x10], eax
test eax, eax
jne 0x496c5b
cmp dword [esp + 0x6c], eax
je 0x494d12
mov eax, 1
xor ecx, ecx
jmp 0x494d52
mov ecx, dword [esp + 0x68]
mov eax, dword [ecx]
lea edi, [esp + 0x60]
call fcn.00485de0
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x60]
cmp eax, 0xffffffff
jne 0x494d4c
cmp ecx, 0x7fffffff
jne 0x494d4c
mov edx, dword [esp + 0x68]
mov byte [edx + 0x13], 1
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
jmp 0x494d5a
add eax, 1
adc ecx, 0
mov dword [esp + 0x64], ecx
mov dword [esp + 0x60], eax
mov edx, dword [esp + 0x68]
xor esi, esi
mov edi, dword [ebp + 0xc]
cmp edi, esi
je 0x494e18
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xdc]
cmp ecx, esi
je 0x494da0
mov dword [esp + 0x78], ecx
mov eax, dword [ecx + 0x3c]
cmp eax, esi
je 0x494d91
mov ecx, eax
mov dword [esp + 0x78], ecx
mov eax, dword [ecx + 0x3c]
cmp eax, esi
jne 0x494d84
mov ebp, dword [ebp + 0xc]
mov eax, dword [ecx + 0x10]
lea edx, [ebp + ebp*4]
lea esi, [eax + edx*8]
jmp 0x494daa
mov edx, dword [esp + 0x18]
lea ecx, [edi + edi*4]
lea esi, [edx + ecx*8]
mov dword [esp + 0x74], esi
call fcn.0048c800
mov edx, dword [esp + 0x74]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
cmp eax, 0xffffffff
jne 0x494dcd
cmp ecx, 0x7fffffff
je 0x496c53
mov esi, dword [esp + 0x68]
cmp byte [esi + 0x13], 0
jne 0x496c53
mov esi, dword [esp + 0x64]
add eax, 1
adc ecx, 0
cmp esi, ecx
jg 0x494df9
jl 0x494df1
cmp dword [esp + 0x60], eax
jae 0x494df9
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ecx
mov eax, dword [esp + 0x60]
mov dword [edx], eax
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x74]
mov dword [edx + 4], ecx
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
xor esi, esi
cmp ecx, 0x7fffffff
jg 0x494e2e
jl 0x494e27
cmp eax, 0xffffffff
jae 0x494e2e
add eax, 1
adc ecx, esi
jmp 0x494e32
xor eax, eax
xor ecx, ecx
mov esi, dword [edx]
push ecx
push eax
call fcn.00485c30
mov edx, dword [esp + 0x70]
add esp, 8
cmp byte [edx + 0x13], 0
je 0x494f20
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
and eax, 0x3fffffff
add ecx, 1
lea esi, [esp + 0x6c]
push esi
adc eax, 0
push 0
push eax
push ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], eax
mov dword [esp + 0x80], 0
mov eax, dword [edx]
push 0
push eax
call fcn.00486820
add esp, 0x18
mov dword [esp + 0x10], eax
test eax, eax
jne 0x494f1c
lea esi, [eax + 5]
mov ecx, dword [esp + 0x6c]
test ecx, ecx
jne 0x494f0d
mov eax, dword [esp + 0x70]
inc eax
cmp eax, 0x64
mov dword [esp + 0x70], eax
jge 0x494f0d
lea ecx, [esp + 0x60]
push ecx
push 8
call fcn.00476580
mov eax, dword [esp + 0x68]
add esp, 8
cmp dword [esp + 0x70], esi
jge 0x494ed1
and eax, 0xffffff
xor ecx, ecx
jmp 0x494edb
mov ecx, dword [esp + 0x64]
and ecx, 0x3fffffff
add eax, 1
lea edx, [esp + 0x6c]
push edx
adc ecx, 0
push 0
push ecx
push eax
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x74], ecx
mov ecx, dword [eax]
push 0
push ecx
call fcn.00486820
add esp, 0x18
mov dword [esp + 0x10], eax
test eax, eax
je 0x494e99
jmp 0x494f1c
cmp dword [esp + 0x10], 0
jne 0x494f1c
test ecx, ecx
je 0x496c53
mov edx, dword [esp + 0x68]
mov byte [edx + 0x11], 0
mov edx, dword [esp + 0x68]
mov byte [edx + 0x15], 0
mov eax, dword [esp + 0x68]
mov dword [eax + 0x4c], 0
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x24]
mov dword [eax], ecx
mov edx, dword [esp + 0x64]
mov dword [eax + 4], edx
jmp case.0x49218a.17
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [ebx + 0x34]
mov dword [esp + 0x60], edi
mov edx, dword [ebp + 4]
mov edx, dword [eax + edx*4]
mov dword [esp + 0x70], edx
cmp byte [ebp], 0x37
mov eax, dword [ebp + 0xc]
jne 0x494f91
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [esp + 0x64], ecx
mov eax, dword [ecx]
mov dword [esp + 0x68], eax
mov ecx, dword [ecx + 4]
mov dword [esp + 0x6c], ecx
jmp 0x494f9a
cdq
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
test byte [ebp + 3], 1
je 0x494fa3
inc dword [ebx + 0x6c]
test byte [ebp + 3], 2
je 0x494fbb
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x30], eax
mov edx, dword [esp + 0x6c]
mov dword [ecx + 0x34], edx
mov edi, dword [esp + 0x60]
test byte [edi + 0x1c], 1
je 0x494fcf
mov dword [edi + 0x14], esi
mov eax, dword [esp + 0x60]
mov dword [eax + 0x18], esi
mov edi, dword [esp + 0x60]
test byte [ebp + 3], 0x10
je 0x494fe2
mov ecx, dword [esp + 0x70]
mov edx, dword [ecx + 0x48]
mov dword [esp + 0x78], edx
jmp 0x494fe6
mov dword [esp + 0x78], esi
mov eax, 0x4000
test word [edi + 0x1c], ax
je 0x494ff9
mov ecx, dword [edi]
mov dword [esp + 0x74], ecx
jmp 0x494ffd
mov dword [esp + 0x74], esi
mov edx, dword [esp + 0x70]
mov esi, dword [edx]
push 0
push 0
call fcn.00485c30
movzx eax, byte [ebp + 3]
mov ecx, dword [esp + 0x7c]
and eax, 8
push eax
mov eax, dword [esp + 0x6c]
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x14]
push ecx
mov ecx, dword [esp + 0x7c]
push edx
mov edx, dword [esp + 0x7c]
push eax
mov eax, dword [esp + 0x88]
push ecx
mov ecx, dword [eax]
mov eax, dword [esp + 0x94]
push edx
push 0
push ecx
call fcn.00489510
mov edx, dword [esp + 0x98]
mov byte [edx + 0x11], 0
mov ecx, dword [esp + 0x98]
mov byte [ecx + 0x15], 0
mov edx, dword [esp + 0x98]
add esp, 0x28
mov dword [esp + 0x10], eax
mov dword [edx + 0x4c], 0
test eax, eax
jne case.0x49218a.17
mov ecx, dword [esp + 0x1c]
cmp dword [ecx + 0xb8], eax
je case.0x49218a.17
cmp dword [ebp + 0x10], eax
je case.0x49218a.17
mov eax, dword [esp + 0x70]
mov edx, dword [eax + 4]
mov eax, dword [ecx + 8]
mov edi, dword [esp + 0x6c]
shl edx, 4
mov edx, dword [edx + eax]
mov dword [esp + 0x7c], edx
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x80], esi
mov al, byte [ebp + 3]
and al, 4
movzx eax, al
push edi
mov edi, dword [esp + 0x6c]
neg eax
sbb eax, eax
push edi
and eax, 5
add eax, 0x12
push esi
push edx
mov dword [esp + 0x94], eax
mov edx, dword [ecx + 0xb4]
push eax
mov eax, dword [ecx + 0xb8]
push edx
call eax
add esp, 0x18
jmp case.0x49218a.17
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x34]
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], esi
mov ecx, dword [ebp + 4]
mov edi, dword [eax + ecx*4]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x68], edi
cmp dword [ecx + 0xb8], esi
je 0x495126
cmp dword [ebp + 0x10], esi
je 0x495126
mov edx, dword [edi + 8]
mov dword [esp + 0x60], edx
mov eax, dword [edi + 0xc]
mov dword [esp + 0x64], eax
call fcn.0048f710
mov dword [esp + 0x10], eax
test eax, eax
jne 0x496c5b
mov ecx, dword [esp + 0x68]
mov esi, dword [ecx]
push eax
push eax
call fcn.00485c30
mov edx, dword [esp + 0x70]
mov eax, dword [edx]
push eax
call fcn.00489720
mov ecx, dword [esp + 0x74]
add esp, 0xc
mov dword [esp + 0x10], eax
mov dword [ecx + 0x4c], 0
test eax, eax
jne 0x4951a5
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx + 0xb8]
test ecx, ecx
je 0x4951a5
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x4951a5
mov esi, dword [esp + 0x64]
push esi
mov esi, dword [esp + 0x64]
push esi
mov esi, dword [edx + 8]
mov edx, dword [edx + 0xb4]
push eax
mov eax, dword [esp + 0x74]
mov eax, dword [eax + 4]
shl eax, 4
mov eax, dword [eax + esi]
push eax
push 9
push edx
call ecx
add esp, 0x18
test byte [ebp + 8], 1
je case.0x49218a.17
mov eax, dword [esp + 0x14]
inc dword [eax + 0x6c]
jmp case.0x49218a.17
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x6c]
add dword [ebx + 0x40], eax
mov dword [ebx + 0x3c], eax
mov dword [ecx + 0x6c], esi
jmp case.0x49218a.17
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], edx
mov edx, dword [ecx + 0x34]
mov edi, dword [edx + eax*4]
mov dword [esp + 0x60], edi
mov eax, dword [edi]
mov dword [esp + 0x64], eax
call fcn.0048f710
mov dword [esp + 0x10], eax
test eax, eax
jne 0x496c5b
mov ecx, dword [esp + 0x60]
cmp byte [ecx + 0x17], al
je 0x495247
mov eax, dword [esp + 0x64]
lea edi, [esp + 0x70]
call fcn.00485de0
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 0x48]
mov ecx, dword [esp + 0x74]
cdq
cmp ecx, edx
jg 0x492b64
mov ecx, dword [esp + 0x70]
jl 0x495241
cmp ecx, eax
ja 0x492b64
mov dword [esp + 0x68], ecx
jmp 0x495266
mov esi, dword [esp + 0x64]
mov edi, esi
call fcn.00485d90
mov ecx, dword [edi + 0x30]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x68], ecx
cmp ecx, dword [edx + 0x48]
ja 0x492b64
mov edi, dword [esp + 0x24]
xor eax, eax
call fcn.0048c290
test eax, eax
jne 0x4924bc
mov eax, dword [esp + 0x68]
mov esi, edi
mov cx, word [esi + 0x1c]
mov edx, 0xbf10
and cx, dx
or cx, 0x10
mov dword [esi + 0x18], eax
mov word [esi + 0x1c], cx
mov eax, dword [esp + 0x60]
cmp byte [eax + 0x17], 0
je 0x4952c3
mov eax, dword [esi + 0x14]
mov ecx, dword [esp + 0x68]
push 0
push eax
mov eax, dword [esp + 0x6c]
push ecx
push 0
call fcn.00485fd0
mov dword [esp + 0x20], eax
mov byte [esi + 0x1f], 1
jmp 0x496aab
mov edx, dword [esi + 0x14]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x64]
push edx
push eax
push 0
push ecx
call fcn.004862e0
mov dword [esp + 0x20], eax
mov byte [esi + 0x1f], 1
jmp 0x496aab
mov edi, dword [esp + 0x14]
mov edx, dword [ebp + 4]
mov eax, dword [edi + 0x34]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x60], eax
cmp byte [eax + 0x14], 0
je 0x49530e
mov edx, dword [esp + 0x24]
mov ecx, 1
mov word [edx + 0x1c], cx
jmp case.0x49218a.17
cmp byte [eax + 0x15], 0
je 0x495324
mov ecx, dword [eax + 0x20]
mov dword [esp + 0x68], ecx
mov edx, dword [eax + 0x24]
mov dword [esp + 0x6c], edx
jmp 0x495396
cmp dword [eax + 0x40], esi
je 0x49535a
mov ecx, dword [eax + 0x40]
mov ecx, dword [ecx]
mov dword [esp + 0x70], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x74], ecx
mov eax, dword [eax + 0x40]
mov ecx, dword [ecx + 0x30]
lea edx, [esp + 0x68]
push edx
push eax
call ecx
mov edx, dword [esp + 0x78]
push edx
push edi
mov dword [esp + 0x20], eax
call fcn.00491fd0
add esp, 0x10
jmp 0x495396
mov edi, eax
call fcn.0048f710
mov dword [esp + 0x10], eax
test eax, eax
jne 0x496c5b
mov eax, dword [esp + 0x60]
cmp byte [eax + 0x11], 0
je 0x495387
mov ecx, dword [eax + 8]
mov dword [esp + 0x68], ecx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x6c], edx
jmp 0x495396
mov eax, dword [eax]
lea edi, [esp + 0x68]
call fcn.00485de0
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x68]
mov dword [eax], ecx
mov edx, dword [esp + 0x6c]
mov dword [eax + 4], edx
jmp case.0x49218a.17
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x34]
mov eax, dword [edx + eax*4]
mov dword [esp + 0x60], eax
mov byte [eax + 0x14], 1
mov eax, dword [esp + 0x60]
mov byte [eax + 0x11], 0
mov ecx, dword [esp + 0x60]
mov eax, dword [ecx]
cmp eax, esi
je case.0x49218a.17
mov esi, eax
call fcn.004825a0
jmp case.0x49218a.17
mov eax, dword [esp + 0x14]
mov edx, dword [ebp + 4]
mov ecx, dword [eax + 0x34]
mov eax, dword [ecx + edx*4]
mov dword [esp + 0x60], eax
mov ecx, dword [eax]
mov dword [esp + 0x64], ecx
cmp ecx, esi
jne 0x495408
mov dword [esp + 0x68], 1
jmp 0x49541d
lea edi, [esp + 0x68]
mov esi, ecx
call fcn.004867e0
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x60]
xor esi, esi
mov dl, byte [esp + 0x68]
mov byte [eax + 0x14], dl
mov eax, dword [esp + 0x60]
mov byte [eax + 0x15], 0
mov ecx, dword [esp + 0x60]
mov byte [ecx + 0x11], 0
mov edx, dword [esp + 0x60]
mov dword [edx + 0x4c], esi
mov ebp, dword [ebp + 8]
cmp ebp, esi
jle case.0x49218a.17
cmp dword [esp + 0x68], 0
je case.0x49218a.17
dec ebp
mov dword [esp + 0x20], ebp
jmp case.0x49218a.17
mov eax, dword [esp + 0x14]
inc dword [eax + 0xb4]
jmp 0x49546b
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 4]
mov edx, dword [eax + 0x34]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x68], 1
mov eax, dword [ecx]
mov dword [esp + 0x64], eax
cmp eax, esi
je 0x4954c9
lea edi, [esp + 0x68]
mov esi, eax
call fcn.004867b0
cmp dword [esp + 0x68], 0
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x10], eax
sete al
mov byte [ecx + 0x12], al
mov edx, dword [esp + 0x60]
mov byte [edx + 0x15], 0
mov eax, dword [esp + 0x60]
mov dword [eax + 0x4c], 0
mov ecx, dword [esp + 0x60]
mov byte [ecx + 0x11], 0
mov ecx, dword [esp + 0x60]
xor esi, esi
mov dl, byte [esp + 0x68]
mov byte [ecx + 0x14], dl
cmp dword [esp + 0x68], esi
je case.0x49218a.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
jmp case.0x49218a.17
mov eax, dword [ebx + 0xe0]
test eax, eax
jne 0x496ca2
mov edx, dword [esp + 0x14]
mov ecx, dword [ebp + 4]
mov eax, dword [edx + 0x34]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x60], eax
test eax, eax
je case.0x49218a.17
mov ecx, dword [eax]
mov dword [esp + 0x64], ecx
test ecx, ecx
jne 0x495521
mov byte [eax + 0x14], 1
jmp case.0x49218a.17
mov dword [esp + 0x68], 1
cmp byte [ebp], 0x43
jne 0x49553c
lea edx, [esp + 0x68]
push edx
push ecx
call fcn.00486c10
jmp 0x495547
lea eax, [esp + 0x68]
push eax
push ecx
call fcn.00486d30
mov ecx, dword [esp + 0x68]
mov dl, byte [esp + 0x70]
mov byte [ecx + 0x14], dl
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x68]
add esp, 8
mov dword [eax + 0x4c], 0
cmp dword [esp + 0x68], 0
jne 0x49558f
mov eax, dword [ebp + 8]
dec eax
mov dword [esp + 0x20], eax
mov al, byte [ebp + 3]
test al, al
je 0x49558f
mov edx, dword [esp + 0x14]
movzx ecx, al
inc dword [edx + ecx*4 + 0xac]
lea eax, [edx + ecx*4 + 0xac]
mov eax, dword [esp + 0x60]
mov byte [eax + 0x11], 0
jmp case.0x49218a.17
mov ecx, dword [ebp + 4]
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x34]
mov edx, dword [eax + ecx*4]
mov dword [esp + 0x60], edx
mov eax, dword [ebp + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x18]
lea edi, [eax + ecx*8]
mov ecx, dword [edx]
mov dword [esp + 0x64], ecx
cmp ecx, esi
je case.0x49218a.17
mov eax, 0x4000
test word [edi + 0x1c], ax
je 0x4955ee
mov eax, edi
call fcn.0048c400
mov dword [esp + 0x10], eax
test eax, eax
jne case.0x49218a.17
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x60]
mov eax, dword [edi + 0x18]
mov dword [esp + 0x68], eax
mov edi, dword [edi + 0x14]
mov dword [esp + 0x6c], edi
test byte [ebp + 3], 0x10
je 0x495607
mov esi, dword [edx + 0x48]
jmp 0x495609
xor esi, esi
mov edx, dword [ebp + 0xc]
push edx
push 0
push 0
cdq
push 0x534dc0
push edx
push eax
push edi
push ecx
mov eax, esi
call fcn.00489510
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x80]
add esp, 0x20
mov dword [eax + 0x4c], 0
jmp case.0x49218a.17
mov ecx, dword [ebp + 4]
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x34]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x60], eax
mov ecx, dword [eax]
mov dword [esp + 0x64], ecx
cmp ecx, esi
je case.0x49218a.17
mov edx, dword [eax + 0x30]
mov dword [esp + 0x70], edx
mov ax, word [ebp + 0xc]
xor edx, edx
mov word [esp + 0x74], ax
mov word [esp + 0x76], dx
mov ebp, dword [ebp + 8]
mov edx, dword [esp + 0x18]
lea eax, [ebp + ebp*4]
lea eax, [edx + eax*8]
lea edx, [esp + 0x68]
push edx
push 0
push 0
mov dword [esp + 0x8c], eax
push 0
lea eax, [esp + 0x80]
push eax
push ecx
call fcn.00486820
add esp, 0x18
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4956c2
cmp dword [esp + 0x68], eax
jne 0x4956c2
mov ecx, dword [esp + 0x64]
push ecx
call fcn.00489720
add esp, 4
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x60]
mov dword [edx + 0x4c], 0
jmp case.0x49218a.17
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x34]
mov eax, dword [edx + eax*4]
mov dword [esp + 0x64], eax
mov eax, dword [eax]
mov dword [esp + 0x60], eax
mov ecx, 1
mov word [edi + 0x1c], cx
cmp dword [esp + 0x60], esi
je case.0x49218a.17
mov edi, dword [esp + 0x64]
call fcn.0048f710
mov dword [esp + 0x10], eax
test eax, eax
jne 0x496c5b
mov edx, dword [esp + 0x64]
cmp byte [edx + 0x14], al
jne case.0x49218a.17
lea eax, [esp + 0x68]
push eax
mov eax, dword [esp + 0x64]
call fcn.0048ff10
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x496c5b
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x24]
mov dword [eax], ecx
mov edx, dword [esp + 0x6c]
mov ecx, 4
mov dword [eax + 4], edx
mov word [eax + 0x1c], cx
jmp case.0x49218a.17
mov eax, dword [esp + 0x14]
mov edx, dword [ebp + 4]
mov ecx, dword [eax + 0x34]
mov edi, dword [ecx + edx*4]
mov dword [esp + 0x60], edi
cmp dword [edi], esi
je case.0x49218a.17
mov edx, dword [edi + 0x30]
mov dword [esp + 0x68], edx
mov ax, word [ebp + 0x10]
mov word [esp + 0x6c], ax
cmp byte [ebp + 3], 0
je 0x495795
mov ecx, 0xc
mov word [esp + 0x6e], cx
jmp 0x49579f
mov edx, 4
mov word [esp + 0x6e], dx
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
lea eax, [esp + 0x68]
push eax
lea ebx, [esp + 0x68]
mov dword [esp + 0x7c], edx
call fcn.00490070
add esp, 4
cmp byte [ebp], 0x51
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x64]
jne 0x4957d3
neg eax
jmp 0x4957d4
inc eax
mov dword [esp + 0x64], eax
test eax, eax
jle case.0x49218a.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
jmp case.0x49218a.17
mov dword [esp + 0x64], esi
mov eax, dword [ebx + 0x88]
mov dword [esp + 0x68], eax
cmp eax, esi
je 0x495823
nop
cmp dword [eax + 0x44], 0xbdf20da3
jne 0x495818
cmp byte [eax + 0x65], 2
jae 0x495818
cmp dword [eax + 0x54], esi
jl 0x495818
inc dword [esp + 0x64]
mov eax, dword [eax + 8]
mov dword [esp + 0x68], eax
cmp eax, esi
jne 0x495800
mov ecx, 1
mov word [edi + 0x1c], cx
cmp dword [esp + 0x64], ecx
jle 0x495847
mov edx, dword [esp + 0x14]
mov dword [esp + 0x10], 6
mov byte [edx + 0x38], 2
jmp case.0x49218a.17
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x6c], eax
mov edx, dword [ebp + 4]
lea ecx, [esp + 0x60]
push ecx
mov ecx, dword [ebx + 8]
shl eax, 4
mov eax, dword [eax + ecx + 4]
push edx
call fcn.0048a070
mov ecx, eax
mov edx, 4
mov word [edi + 0x1c], dx
mov eax, dword [esp + 0x68]
cdq
add esp, 8
mov dword [esp + 0x10], ecx
mov dword [edi], eax
mov dword [edi + 4], edx
cmp ecx, esi
jne case.0x49218a.17
mov edx, dword [esp + 0x60]
cmp edx, esi
je case.0x49218a.17
mov esi, dword [esp + 0x6c]
mov eax, dword [esp + 0x1c]
mov edi, dword [ebp + 4]
shl esi, 4
add esi, dword [eax + 8]
call fcn.004a3fb0
mov byte [esp + 0x2f], 1
jmp case.0x49218a.17
mov dword [esp + 0x60], 0
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 4]
neg ecx
sbb ecx, ecx
lea edx, [esp + 0x60]
and ecx, edx
push ecx
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 8]
shl eax, 4
mov esi, dword [eax + edx + 4]
call fcn.00489de0
add esp, 4
cmp dword [ebp + 0xc], 0
mov dword [esp + 0x10], eax
je case.0x49218a.17
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x14]
add dword [ecx + 0x6c], eax
mov ebp, dword [ebp + 0xc]
test ebp, ebp
jle case.0x49218a.17
mov edx, dword [esp + 0x18]
lea ecx, [ebp + ebp*4]
lea ecx, [edx + ecx*8]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp case.0x49218a.17
mov dword [esp + 0x60], esi
mov eax, dword [ebp + 4]
shl eax, 4
add eax, dword [ebx + 8]
xor ecx, ecx
mov dword [esp + 0x68], eax
cmp byte [ebp], 0x62
setne cl
inc ecx
mov dword [esp + 0x64], ecx
mov eax, dword [eax + 4]
push ecx
lea ecx, [esp + 0x64]
push ecx
call fcn.00489bd0
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x68]
cdq
add esp, 8
mov dword [edi], eax
mov dword [edi + 4], edx
jmp case.0x49218a.17
mov edx, dword [ebp + 4]
push ebx
mov dword [esp + 0x64], edx
call fcn.00482050
mov eax, dword [esp + 0x64]
add esp, 4
cmp dword [ebp + 8], esi
jne 0x495994
mov edx, dword [ebx + 8]
mov ecx, eax
shl ecx, 4
mov ecx, dword [ecx + edx + 0xc]
test byte [ecx + 0x4a], 1
je 0x495a3a
mov ecx, str.sqlite_temp_master
cmp eax, 1
je 0x4959a3
mov ecx, str.sqlite_master
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x6c], esi
mov edx, dword [ebp + 4]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x14]
add edx, 0x5c
mov dword [esp + 0x74], edx
mov edx, dword [ebp + 0x10]
push edx
push ecx
mov ecx, dword [esi + 8]
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.00476200
add esp, 0x10
mov dword [esp + 0x68], eax
test eax, eax
jne 0x4959ef
mov dword [esp + 0x10], 7
jmp 0x495a3a
push 0
lea eax, [esp + 0x70]
push eax
mov byte [esi + 0x7c], 1
mov ecx, dword [esp + 0x70]
push fcn.004b3300
push ecx
push esi
mov dword [esp + 0x8c], 0
call fcn.004aff80
add esp, 0x14
mov dword [esp + 0x10], eax
test eax, eax
jne 0x495a28
mov edx, dword [esp + 0x78]
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x68]
push eax
push esi
call fcn.00474d20
add esp, 8
mov byte [esi + 0x7c], 0
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.00482130
add esp, 4
cmp dword [esp + 0x10], 7
je 0x4924bc
jmp case.0x49218a.17
mov eax, dword [ebp + 4]
mov ecx, ebx
call fcn.004a09e0
mov dword [esp + 0x10], eax
jmp case.0x49218a.17
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 4]
push ebx
call fcn.004a2470
add esp, 4
jmp case.0x49218a.17
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 4]
push ebx
call fcn.004a2080
add esp, 4
jmp case.0x49218a.17
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 4]
push ebx
call fcn.004bcc10
add esp, 4
jmp case.0x49218a.17
mov eax, dword [ebp + 8]
mov esi, dword [esp + 0x1c]
lea ecx, [eax*4 + 4]
mov dword [esp + 0x60], eax
call fcn.00474f60
mov dword [esp + 0x64], eax
test eax, eax
je 0x4924bc
mov ecx, dword [ebp + 0xc]
mov esi, dword [esp + 0x18]
lea edx, [ecx + ecx*4]
lea ecx, [esi + edx*8]
mov dword [esp + 0x74], ecx
mov ecx, dword [ebp + 4]
lea edx, [ecx + ecx*4]
xor ecx, ecx
cmp dword [esp + 0x60], ecx
lea esi, [esi + edx*8]
mov dword [esp + 0x68], ecx
jle 0x495b19
nop
lea eax, [ecx + ecx*4]
lea ecx, [esi + eax*8]
call fcn.0048c6e0
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
mov dword [edx + ecx*4], eax
mov ecx, dword [esp + 0x68]
inc ecx
cmp ecx, dword [esp + 0x60]
mov dword [esp + 0x68], ecx
jl 0x495af0
mov eax, dword [esp + 0x64]
mov edi, dword [esp + 0x1c]
mov dword [eax + ecx*4], 0
mov ecx, dword [esp + 0x74]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x64]
lea eax, [esp + 0x6c]
push eax
mov eax, dword [esp + 0x64]
push edx
movzx edx, byte [ebp + 3]
push eax
mov eax, dword [edi + 8]
shl edx, 4
mov edx, dword [edx + eax + 4]
call fcn.0048aea0
mov ecx, dword [esp + 0x70]
add esp, 0xc
push ecx
push edi
mov dword [esp + 0x78], eax
call fcn.00474d20
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x7c]
cdq
add esp, 8
sub dword [ecx], eax
mov eax, dword [esp + 0x74]
sbb dword [eax + 4], edx
call fcn.0048c8d0
cmp dword [esp + 0x6c], 0
je 0x495ba0
mov eax, dword [esp + 0x70]
test eax, eax
je 0x4924bc
push 1
push eax
mov eax, fcn.00474c80
or ecx, 0xffffffff
mov edx, esi
call fcn.0048cc50
add esp, 8
movzx ecx, byte [esp + 0x2b]
mov eax, esi
call fcn.0048c270
jmp case.0x49218a.17
mov eax, dword [ebp + 4]
mov ebp, dword [ebp + 8]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
lea edi, [eax + edx*8]
mov bl, 0x20
lea ecx, [ebp + ebp*4]
mov edx, eax
lea esi, [edx + ecx*8]
test byte [edi + 0x1c], bl
jne 0x495bdf
call fcn.0048ca70
test byte [edi + 0x1c], bl
je 0x4924bc
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov edi, dword [edi]
push eax
push ecx
call fcn.0047b700
add esp, 8
jmp case.0x49218a.17
mov edx, dword [ebx + 0xe0]
test edx, edx
jne 0x496ca2
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 0x20
lea edi, [ecx + eax*8]
je 0x495c4b
mov eax, dword [edi]
lea esi, [esp + 0x60]
call fcn.0047ba60
test eax, eax
je 0x495c4b
mov edx, dword [esp + 0x64]
mov ebp, dword [ebp + 0xc]
mov eax, dword [esp + 0x60]
push edx
mov edx, dword [esp + 0x1c]
lea ecx, [ebp + ebp*4]
push eax
lea esi, [edx + ecx*8]
call fcn.0048c970
add esp, 8
jmp case.0x49218a.17
mov esi, edi
call fcn.0048c8d0
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
jmp case.0x49218a.17
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
mov eax, ecx
lea esi, [eax + edx*8]
mov eax, dword [ebp + 0x10]
mov bl, 0x20
mov dword [esp + 0x60], eax
test byte [edi + 0x1c], bl
jne 0x495c97
call fcn.0048ca70
test byte [edi + 0x1c], bl
je 0x4924bc
mov eax, dword [esp + 0x60]
test eax, eax
je 0x495bdf
jl 0x495ca6
and eax, 0xf
jmp 0x495cab
mov eax, 0xff
mov ecx, dword [esi + 4]
mov edx, dword [esi]
push ecx
mov bl, al
mov eax, dword [edi]
push edx
call fcn.0047bae0
add esp, 8
mov dword [esp + 0x64], eax
test eax, eax
je 0x495cd3
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
jmp case.0x49218a.17
mov eax, dword [esp + 0x60]
test eax, eax
jl case.0x49218a.17
jmp 0x495bdf
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x78], ecx
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
lea edi, [eax + edx*8]
mov dword [esp + 0x68], edi
cmp byte [ebp + 3], 0
je 0x495d34
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0xdc]
mov edx, dword [ecx + 0x10]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x74], eax
cmp eax, esi
je 0x495d34
jmp 0x495d20
cmp dword [eax + 0x20], edx
je case.0x49218a.17
mov eax, dword [eax + 0x3c]
mov dword [esp + 0x74], eax
test eax, eax
jne 0x495d20
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0xe4]
mov edx, dword [esp + 0x1c]
cmp eax, dword [edx + 0x70]
jl 0x495d6a
mov edi, dword [esp + 0x14]
push str.too_many_levels_of_trigger_recursion
add edi, 0x5c
mov eax, edx
mov dword [esp + 0x14], 1
call fcn.00475100
add esp, 4
jmp case.0x49218a.17
test byte [edi + 0x1c], 0x40
jne 0x495e89
mov eax, dword [ecx + 8]
add eax, dword [ecx + 0xc]
mov esi, edx
mov dword [esp + 0x60], eax
mov ecx, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*2]
lea edi, [edi*4 + 0x40]
mov eax, esi
mov dword [esp + 0x64], edi
call fcn.00474f40
mov dword [esp + 0x74], eax
test eax, eax
je 0x4924bc
mov edx, dword [esp + 0x68]
push edx
call fcn.0048c640
mov ecx, dword [esp + 0x6c]
mov eax, 0x40
mov word [ecx + 0x1c], ax
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x6c]
mov dword [eax], edx
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x18]
mov dword [ecx], eax
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x64]
mov dword [edx + 0x24], ecx
mov edx, dword [esp + 0x7c]
mov ecx, dword [edx + 0xc]
mov edx, dword [esp + 0x78]
mov dword [edx + 0x28], ecx
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x24]
mov dword [ecx + 4], edx
mov ecx, dword [eax + 0x4c]
mov edx, dword [esp + 0x78]
mov dword [edx + 0x10], ecx
mov ecx, dword [eax + 0x48]
mov edx, dword [esp + 0x78]
mov dword [edx + 0x14], ecx
mov ecx, dword [eax + 0x34]
mov edx, dword [esp + 0x78]
mov dword [edx + 0x18], ecx
mov cx, word [eax + 0x32]
mov edx, dword [esp + 0x78]
mov word [edx + 0x1c], cx
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x78]
mov dword [edx + 8], ecx
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x78]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x7c]
mov edx, dword [ecx + 0x10]
mov ecx, dword [esp + 0x78]
mov dword [ecx + 0x20], edx
mov edx, dword [esp + 0x78]
mov ecx, dword [edx + 0x24]
lea ecx, [ecx + ecx*4]
lea edi, [edx + ecx*8 + 0x40]
lea ecx, [edx + 0x40]
add esp, 4
mov dword [esp + 0x70], edi
mov dword [esp + 0x6c], ecx
cmp ecx, edi
je 0x495e97
mov edx, 1
mov word [ecx + 0x1c], dx
mov ecx, dword [esp + 0x6c]
mov dword [ecx + 0x10], esi
mov ecx, dword [esp + 0x6c]
add ecx, 0x28
mov dword [esp + 0x6c], ecx
cmp ecx, dword [esp + 0x70]
jne 0x495e62
mov edx, dword [esp + 0x74]
jmp 0x495e97
mov edx, dword [edi]
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x74], edx
inc dword [eax + 0xe4]
mov ecx, dword [eax + 0xdc]
mov dword [edx + 0x3c], ecx
mov edx, dword [esi + 0x30]
mov ecx, dword [esp + 0x74]
mov dword [ecx + 0x30], edx
mov edx, dword [esi + 0x34]
mov ecx, dword [esp + 0x74]
mov dword [ecx + 0x34], edx
mov edx, dword [eax + 0x6c]
mov ecx, dword [esp + 0x74]
mov dword [ecx + 0x38], edx
mov edx, dword [esp + 0x74]
lea ecx, [edx + 0x18]
mov dword [eax + 0xdc], edx
mov dword [eax + 0x4c], ecx
mov dword [eax + 0x6c], 0
mov esi, dword [edx + 0x24]
mov dword [eax + 0x48], esi
mov dx, word [edx + 0x28]
mov word [eax + 0x32], dx
mov edx, esi
inc edx
lea edx, [edx + edx*4]
mov dword [esp + 0x18], ecx
lea ecx, [ecx + edx*8]
mov edx, dword [esp + 0x78]
mov dword [eax + 0x34], ecx
mov ecx, dword [edx]
mov dword [eax + 0x14], ecx
mov edx, dword [edx + 4]
mov dword [esp + 0x3c], ecx
mov dword [eax + 0xc], edx
mov dword [esp + 0x20], 0xffffffff
jmp case.0x49218a.17
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xdc]
mov dword [esp + 0x60], ecx
mov eax, dword [ecx + 4]
lea edx, [eax + eax*4]
mov eax, dword [ecx + 8]
mov eax, dword [eax + edx*4 + 4]
add eax, dword [ebp + 4]
push 0x1000
lea edx, [eax + eax*4]
mov eax, dword [ecx + 0x10]
lea eax, [eax + edx*8]
push eax
mov ebx, edi
mov dword [esp + 0x6c], eax
call fcn.0048cb50
add esp, 8
jmp case.0x49218a.17
mov eax, dword [ebp + 8]
cdq
cmp dword [ebp + 4], esi
je 0x495f73
add dword [ebx + 0x1e0], eax
adc dword [ebx + 0x1e4], edx
jmp case.0x49218a.17
mov ecx, dword [esp + 0x14]
add dword [ecx + 0xc8], eax
adc dword [ecx + 0xcc], edx
jmp case.0x49218a.17
cmp dword [ebp + 4], esi
je 0x495fac
mov ecx, dword [ebx + 0x1e0]
or ecx, dword [ebx + 0x1e4]
jne case.0x49218a.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
jmp case.0x49218a.17
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0xc8]
or edx, dword [eax + 0xcc]
jne case.0x49218a.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
jmp case.0x49218a.17
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xdc]
cmp ecx, esi
je 0x49600b
mov dword [esp + 0x64], ecx
mov eax, dword [ecx + 0x3c]
cmp eax, esi
je 0x495ffd
jmp 0x495ff0
mov ecx, eax
mov dword [esp + 0x64], ecx
mov eax, dword [ecx + 0x3c]
cmp eax, esi
jne 0x495ff0
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
mov eax, dword [ecx + 0x10]
lea esi, [eax + edx*8]
jmp 0x496018
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0x18]
lea ecx, [eax + eax*4]
lea esi, [edx + ecx*8]
mov dword [esp + 0x60], esi
call fcn.0048c800
mov ebp, dword [ebp + 8]
mov ecx, dword [esp + 0x18]
lea eax, [ebp + ebp*4]
lea esi, [ecx + eax*8]
call fcn.0048c800
mov ecx, dword [esp + 0x60]
mov eax, dword [esi]
mov esi, dword [esi + 4]
mov edx, dword [ecx + 4]
cmp edx, esi
jg case.0x49218a.17
jl 0x496054
mov edx, dword [ecx]
cmp edx, eax
jae case.0x49218a.17
mov dword [ecx], eax
mov eax, dword [esp + 0x60]
mov dword [eax + 4], esi
jmp case.0x49218a.17
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
cmp dword [ecx + eax*8 + 4], esi
jl case.0x49218a.17
jg 0x496082
cmp dword [ecx + eax*8], 0
jbe case.0x49218a.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
jmp case.0x49218a.17
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
cmp dword [ecx + eax*8 + 4], esi
jg case.0x49218a.17
jl 0x4960af
cmp dword [ecx + eax*8], 0
jae case.0x49218a.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
jmp case.0x49218a.17
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0x18]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 0xc]
lea ecx, [edx + ecx*8]
cdq
add dword [ecx], eax
mov eax, dword [ecx]
adc dword [ecx + 4], edx
or eax, dword [ecx + 4]
jne case.0x49218a.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
jmp case.0x49218a.17
movzx ecx, byte [ebp + 3]
mov dword [esp + 0x60], ecx
mov eax, dword [ebp + 8]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
lea edx, [eax + edx*8]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x6c], edx
mov edx, dword [eax + 0x24]
xor eax, eax
cmp ecx, esi
mov dword [esp + 0xb0], edx
mov dword [esp + 0x64], eax
jle 0x496146
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0xb0]
mov dword [edx + eax*4], ecx
mov ecx, dword [esp + 0x6c]
call fcn.00491d90
mov eax, dword [esp + 0x64]
add dword [esp + 0x6c], 0x28
inc eax
cmp eax, dword [esp + 0x60]
mov dword [esp + 0x64], eax
jl 0x49611b
mov eax, dword [ebp + 0x10]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x70], eax
mov eax, dword [ebp + 0xc]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
mov dword [esp + 0x68], eax
mov dword [esp + 0xa0], eax
inc dword [eax + 0x18]
xor edi, edi
mov eax, 1
mov word [esp + 0x94], ax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x8c], edi
mov dword [esp + 0x9c], edi
mov dword [esp + 0x98], edi
mov dword [esp + 0x88], esi
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa8], edi
test byte [eax + 3], 8
je 0x4961b9
mov ecx, dword [ebp - 4]
mov dword [esp + 0xa8], ecx
mov edx, dword [esp + 0xb0]
mov ecx, dword [esp + 0x60]
mov eax, dword [eax + 0x10]
push edx
push ecx
lea edx, [esp + 0x78]
push edx
call eax
add esp, 0xc
cmp dword [esp + 0xa4], edi
je 0x496209
mov bl, 1
lea edi, [esp + 0x78]
call fcn.0048d1e0
mov edi, dword [esp + 0x14]
push eax
push 0x53967c
add edi, 0x5c
mov eax, esi
call fcn.00475100
mov ecx, dword [esp + 0xac]
add esp, 8
mov dword [esp + 0x10], ecx
lea edx, [esp + 0x78]
push edx
call fcn.0048c640
add esp, 4
jmp case.0x49218a.17
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [esp + 0x60], ecx
mov eax, dword [ebp + 0x10]
call fcn.0048c560
mov dword [esp + 0x10], eax
cmp eax, esi
je 0x496260
mov edi, dword [esp + 0x60]
mov bl, 1
call fcn.0048d1e0
mov edi, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x20]
push 0x53967c
add edi, 0x5c
call fcn.00475100
add esp, 8
movzx ecx, byte [esp + 0x2b]
mov eax, dword [esp + 0x60]
call fcn.0048c270
mov ecx, dword [esp + 0x60]
call fcn.0048cb20
test eax, eax
jne 0x492b64
jmp case.0x49218a.17
mov edx, dword [ebp + 4]
mov edi, dword [esp + 0x1c]
push edx
call fcn.004cb220
add esp, 4
mov dword [esp + 0x10], eax
jmp case.0x49218a.17
mov eax, dword [esp + 0x34]
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x68], edx
cmp dword [eax], esi
jne 0x4962c5
mov ecx, dword [ebp + 4]
mov esi, dword [esp + 0x14]
call fcn.0048e140
mov ebx, dword [esp + 0x34]
call fcn.004821e0
mov edx, dword [esp + 0x68]
mov ecx, dword [ebp + 4]
mov ebx, dword [esp + 0x1c]
mov eax, dword [ebx + 8]
shl ecx, 4
mov eax, dword [ecx + eax + 4]
mov dword [esp + 0x60], eax
mov ecx, dword [eax + 4]
mov esi, dword [ecx]
mov dword [esp + 0x64], esi
movzx edi, byte [esi + 5]
mov dword [esp + 0x6c], edi
cmp edx, 0xffffffff
jne 0x4962f6
mov edx, edi
mov dword [esp + 0x68], edx
cmp byte [esi + 0xf], 3
jae 0x496312
mov eax, dword [esi + 0x40]
cmp dword [eax], 0
je 0x496318
cmp dword [esi + 0x4c], 0
jl 0x496318
jg 0x496312
cmp dword [esi + 0x48], 0
jbe 0x496318
mov edx, edi
mov dword [esp + 0x68], edx
mov eax, dword [esi + 0x90]
mov dword [esp + 0x70], eax
cmp edx, 5
jne 0x49634d
cmp byte [eax], 0
je 0x496337
mov eax, esi
call fcn.0047fc70
test eax, eax
jne 0x49634d
mov edx, edi
mov dword [esp + 0x68], edx
cmp dword [esp + 0x10], 0
je 0x49641a
jmp 0x496414
cmp edx, edi
je 0x49633d
cmp edi, 5
je 0x49635b
cmp edx, 5
jne 0x49633d
cmp byte [ebx + 0x1c], 0
je 0x4963d9
cmp dword [ebx + 0x8c], 1
jg 0x4963d9
cmp edi, 5
jne 0x49638c
mov eax, esi
call fcn.0047fda0
mov dword [esp + 0x10], eax
test eax, eax
jne 0x49640c
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x64]
jmp 0x496396
cmp edi, 4
jne 0x4963a7
lea ecx, [edi - 2]
mov eax, esi
call fcn.0047fb60
mov esi, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov edi, dword [esp + 0x6c]
cmp dword [esp + 0x10], 0
jne 0x496414
mov esi, dword [esp + 0x60]
xor ecx, ecx
cmp edx, 5
sete cl
inc ecx
push ecx
call fcn.0048b450
mov edi, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
mov esi, dword [esp + 0x68]
add esp, 4
mov dword [esp + 0x10], eax
jmp 0x49633d
mov dword [esp + 0x10], 1
mov eax, str.into
cmp edx, 5
je 0x4963f0
mov eax, str.out_of
mov edi, dword [esp + 0x14]
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
add edi, 0x5c
mov eax, ebx
call fcn.00475100
add esp, 8
jmp case.0x49218a.17
mov edi, dword [esp + 0x6c]
mov esi, dword [esp + 0x64]
mov edx, edi
mov dword [esp + 0x68], edx
mov ecx, edx
mov eax, esi
call fcn.0047fb60
mov dword [esp + 0x68], eax
mov ebp, dword [ebp + 8]
mov eax, dword [esp + 0x18]
lea edx, [ebp + ebp*4]
lea edx, [eax + edx*8]
mov ecx, 0xa02
mov word [edx + 0x1c], cx
mov eax, dword [esp + 0x68]
mov dword [esp + 0x24], edx
cmp eax, 6
jne 0x49644f
xor ecx, ecx
jmp 0x496456
mov ecx, dword [eax*4 + 0x535b50]
mov dword [edx + 0x14], ecx
call fcn.00476ca0
movzx ecx, byte [esp + 0x2b]
mov dword [edx + 0x18], eax
mov eax, edx
mov byte [edx + 0x1f], 1
call fcn.0048c270
jmp case.0x49218a.17
mov eax, dword [esp + 0x14]
push ebx
add eax, 0x5c
call fcn.004bf7e0
add esp, 4
mov dword [esp + 0x10], eax
jmp case.0x49218a.17
mov edx, dword [ebp + 4]
mov eax, dword [ebx + 8]
shl edx, 4
mov eax, dword [edx + eax + 4]
mov dword [esp + 0x60], eax
call fcn.00485260
mov dword [esp + 0x10], eax
cmp eax, 0x65
jne case.0x49218a.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x10], 0
jmp case.0x49218a.17
cmp dword [ebp + 4], esi
jne 0x4964d8
mov eax, ebx
call fcn.00490140
jmp case.0x49218a.17
mov ecx, dword [esp + 0x14]
mov byte [ecx + 0x62], 1
jmp case.0x49218a.17
mov cl, byte [ebp + 0xc]
test cl, cl
jne 0x4964f9
test dword [ebx + 0xc], 0x80000
jne case.0x49218a.17
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 4]
push edx
mov edx, dword [esp + 0x20]
mov edx, dword [edx + 8]
shl eax, 4
mov esi, dword [eax + edx + 4]
call fcn.0048b390
add esp, 4
mov dword [esp + 0x10], eax
cmp al, 6
jne case.0x49218a.17
mov eax, dword [ebp + 0x10]
mov edi, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x20]
push str.database_table_is_locked:__s
add edi, 0x5c
call fcn.00475100
add esp, 8
jmp case.0x49218a.17
mov ebp, dword [ebp + 0x10]
mov eax, ebp
mov ecx, ebx
mov dword [esp + 0x60], ebp
call fcn.004c0ae0
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x60]
cmp eax, esi
je case.0x49218a.17
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0x14]
push ecx
push edx
call fcn.00491fd0
add esp, 8
jmp case.0x49218a.17
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 0x10]
add eax, 0x5c
push eax
mov eax, dword [ebp + 4]
push ecx
mov ecx, ebx
call fcn.004c06b0
add esp, 8
mov dword [esp + 0x10], eax
jmp case.0x49218a.17
mov esi, dword [esp + 0x14]
mov byte [esi + 0x65], 2
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 4]
push edx
mov ecx, ebx
call fcn.004c0950
add esp, 4
mov dword [esp + 0x10], eax
mov byte [esi + 0x65], 0
jmp case.0x49218a.17
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], esi
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x68], eax
mov ecx, dword [eax]
lea edx, [esp + 0x64]
push edx
mov dword [esp + 0x70], ecx
push eax
mov eax, dword [ecx + 0x18]
call eax
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x1c]
push ecx
mov edi, eax
push edx
mov dword [esp + 0x20], edi
call fcn.00491fd0
add esp, 0x10
cmp edi, esi
jne case.0x49218a.17
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x64]
mov ebx, dword [esp + 0x14]
push 0
push 0xffffffffffffffff
mov dword [ecx], eax
mov edx, dword [ebp + 4]
push 0
push edx
call fcn.00491dc0
add esp, 0x10
mov dword [esp + 0x60], eax
test eax, eax
je 0x496647
mov ecx, dword [esp + 0x64]
mov dword [eax + 0x40], ecx
mov edx, dword [esp + 0x64]
mov eax, dword [edx]
mov ecx, dword [eax]
mov edx, dword [esp + 0x60]
mov dword [edx + 0x44], ecx
jmp case.0x49218a.17
mov eax, dword [esp + 0x1c]
mov byte [eax + 0x1e], 1
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x6c]
mov eax, dword [edx + 0x1c]
push ecx
call eax
add esp, 4
jmp case.0x49218a.17
mov eax, dword [ebp + 0xc]
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
mov edx, dword [edi + 0x34]
mov edi, dword [edi + 0x24]
mov dword [esp + 0x6c], eax
lea esi, [eax + 0x28]
mov dword [esp + 0x70], esi
mov ecx, dword [ebp + 4]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0x7c], ecx
mov edx, dword [ecx + 0x40]
mov dword [esp + 0x74], edx
mov ecx, dword [edx]
mov dword [esp + 0x78], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x68], ecx
mov ecx, dword [esi]
mov dword [esp + 0x60], ecx
mov eax, dword [eax]
mov dword [esp + 0x64], eax
xor eax, eax
cmp ecx, eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x88], edi
mov dword [esp + 0x84], eax
jle 0x496716
jmp 0x4966d4
mov esi, dword [esp + 0x70]
lea ecx, [eax + eax*4 + 5]
lea edx, [esi + ecx*8]
mov ecx, dword [esp + 0x88]
mov dword [ecx + eax*4], edx
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x88]
mov ecx, dword [eax + edx*4]
call fcn.00491d90
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x60]
inc eax
cmp eax, ecx
mov dword [esp + 0x84], eax
jl 0x4966d0
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x88]
mov esi, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x68]
push ecx
mov byte [esi + 0x65], 1
mov ecx, dword [ebp + 0x10]
push ecx
mov ecx, dword [esp + 0x74]
push eax
push edx
mov edx, dword [ecx + 0x20]
call edx
mov edi, eax
mov eax, dword [esp + 0x8c]
add esp, 0x14
push eax
push esi
mov dword [esp + 0x18], edi
mov byte [esi + 0x65], 0
call fcn.00491fd0
add esp, 8
test edi, edi
jne 0x496774
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x68]
mov eax, dword [edx + 0x28]
push ecx
call eax
add esp, 4
mov dword [esp + 0x80], eax
cmp dword [esp + 0x80], 0
je 0x496786
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
mov ecx, dword [esp + 0x7c]
mov byte [ecx + 0x14], 0
jmp case.0x49218a.17
mov edx, dword [ebp + 4]
mov edi, dword [esp + 0x14]
mov eax, dword [edi + 0x34]
mov esi, dword [eax + edx*4]
mov eax, dword [ebp + 0xc]
mov edx, dword [esp + 0x18]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
mov dword [esp + 0x68], eax
cmp byte [esi + 0x14], 0
je 0x4967c3
mov esi, eax
call fcn.0048c8d0
jmp case.0x49218a.17
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
push 0x40
mov dword [esp + 0x64], eax
mov ecx, dword [eax]
lea edx, [esp + 0x74]
push 0
push edx
mov dword [esp + 0x70], ecx
call fcn.004f4810
mov ebx, dword [esp + 0x74]
add esp, 0xc
lea eax, [esp + 0x78]
call fcn.0048cc00
mov eax, dword [esp + 0x94]
and eax, 0xbf01
or eax, 1
mov word [esp + 0x94], ax
mov ecx, dword [ebp + 8]
mov eax, dword [esi + 0x40]
push ecx
mov ecx, dword [esp + 0x68]
lea edx, [esp + 0x74]
push edx
mov edx, dword [ecx + 0x2c]
push eax
call edx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x6c]
add esp, 0xc
push eax
push edi
call fcn.00491fd0
mov eax, dword [esp + 0xac]
add esp, 8
test eax, eax
je 0x496841
mov dword [esp + 0x10], eax
movzx ecx, byte [esp + 0x2b]
lea eax, [esp + 0x78]
call fcn.0048c270
mov eax, dword [esp + 0x68]
lea ebx, [esp + 0x78]
call fcn.0048cc00
mov ecx, dword [esp + 0x68]
call fcn.0048cb20
test eax, eax
jne 0x492b64
jmp case.0x49218a.17
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x34]
mov dword [esp + 0x68], esi
mov ecx, dword [ebp + 4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x6c], eax
cmp byte [eax + 0x14], 0
jne case.0x49218a.17
mov ecx, dword [eax + 0x40]
mov ecx, dword [ecx]
mov dword [esp + 0x60], ecx
mov ecx, dword [ecx]
mov ebx, edx
mov dword [esp + 0x64], ecx
mov byte [ebx + 0x65], 1
mov edx, dword [eax + 0x40]
mov eax, dword [ecx + 0x24]
push edx
call eax
mov ecx, dword [esp + 0x64]
add esp, 4
push ecx
mov edi, eax
push ebx
mov dword [esp + 0x18], edi
mov byte [ebx + 0x65], 0
call fcn.00491fd0
add esp, 8
cmp edi, esi
jne 0x4968e6
mov edx, dword [esp + 0x6c]
mov eax, dword [edx + 0x40]
mov ecx, dword [esp + 0x64]
mov edx, dword [ecx + 0x28]
push eax
call edx
add esp, 4
mov dword [esp + 0x68], eax
cmp dword [esp + 0x68], esi
jne case.0x49218a.17
mov ebp, dword [ebp + 8]
dec ebp
mov dword [esp + 0x20], ebp
jmp case.0x49218a.17
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 8]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x60], eax
mov ebp, dword [ebp + 4]
lea ecx, [ebp + ebp*4]
lea ecx, [edx + ecx*8]
mov dword [esp + 0x64], ecx
mov ecx, dword [ecx + 0x14]
mov edx, dword [eax]
mov edx, dword [edx + 0x4c]
push ecx
push eax
call edx
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x68]
push eax
push esi
call fcn.00491fd0
mov byte [esi + 0x62], 0
jmp 0x496aab
mov ecx, dword [ebp + 0x10]
mov edi, dword [ecx + 8]
mov dword [esp + 0x60], edi
mov edx, dword [edi]
mov dword [esp + 0x64], edx
mov eax, dword [ebp + 8]
mov dword [esp + 0x68], eax
cmp dword [edx + 0x34], esi
je case.0x49218a.17
mov ebx, dword [esp + 0x14]
mov ecx, dword [ebx + 0x24]
mov esi, dword [esp + 0x18]
mov dword [esp + 0x78], ecx
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx + ecx*4]
lea ecx, [esi + ecx*8]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x6c], 0
test eax, eax
jle 0x4969c8
lea esp, [esp]
call fcn.00491d90
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x78]
mov dword [ecx + eax*4], edx
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x68]
inc edx
add ecx, 0x28
cmp edx, eax
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x6c], edx
jl 0x496990
mov edx, dword [esp + 0x64]
mov edi, dword [esp + 0x60]
mov edx, dword [edx + 0x34]
lea ecx, [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x7c]
push ecx
push eax
push edi
call edx
mov esi, eax
mov eax, dword [esp + 0x70]
push eax
push ebx
mov dword [esp + 0x28], esi
call fcn.00491fd0
add esp, 0x18
test esi, esi
jne 0x496a08
cmp dword [ebp + 4], esi
je 0x496a08
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x30], ecx
mov edx, dword [esp + 0x74]
mov dword [eax + 0x34], edx
inc dword [ebx + 0x6c]
jmp case.0x49218a.17
mov eax, dword [ebp + 4]
mov ecx, dword [ebx + 8]
shl eax, 4
mov edx, dword [eax + ecx + 4]
mov eax, dword [edx + 4]
mov ecx, dword [eax + 0x30]
mov dword [edi], ecx
mov dword [edi + 4], esi
jmp case.0x49218a.17
mov edx, dword [ebp + 4]
mov eax, dword [ebx + 8]
mov ebp, dword [ebp + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 4]
xor eax, eax
cmp ebp, esi
je 0x496a4f
mov edx, dword [ecx + 4]
mov eax, dword [edx + 0x30]
cmp eax, ebp
jae 0x496a4f
mov eax, ebp
call fcn.00484100
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
jmp case.0x49218a.17
mov ebp, dword [ebp + 0x10]
cmp ebp, esi
je 0x496a67
mov ecx, ebp
jmp 0x496a71
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xbc]
mov dword [esp + 0x60], ecx
cmp ecx, esi
je case.0x49218a.17
cmp dword [ebx + 0x94], esi
je case.0x49218a.17
mov edx, dword [esp + 0x14]
push edx
call fcn.00491aa0
mov edi, dword [esp + 0x20]
mov ecx, dword [edi + 0x94]
mov esi, eax
mov eax, dword [edi + 0x98]
add esp, 4
push esi
push eax
call ecx
push esi
push edi
call fcn.00474d20
add esp, 0x10
inc dword [esp + 0x20]
cmp dword [esp + 0x10], 0
je 0x492100
jmp 0x492b84
mov dword [esp + 0x10], 9
jmp 0x492b84
mov edx, dword [ebp + 4]
mov ecx, dword [esp + 0x20]
mov dword [edi + 0x58], edx
mov al, byte [ebp + 8]
mov byte [edi + 0x38], al
mov dword [edi + 0x54], ecx
mov eax, dword [ebp + 0x10]
cmp eax, esi
je 0x496b24
mov esi, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x20]
push 0x53967c
lea edi, [esi + 0x5c]
call fcn.00475100
mov edx, dword [ebp + 0x10]
mov eax, dword [esi + 0xbc]
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [ebp + 4]
push eax
push ecx
push str.abort_at__d_in___s_:__s
push edx
call fcn.00476410
add esp, 0x1c
mov edi, esi
jmp 0x496b45
cmp edx, esi
je 0x496b45
mov eax, dword [edi + 0xbc]
mov ecx, dword [esp + 0x20]
mov edx, dword [ebp + 4]
push eax
push ecx
push str.constraint_failed_at__d_in___s_
push edx
call fcn.00476410
add esp, 0x10
push edi
call fcn.0048f1a0
add esp, 4
cmp eax, 5
jne 0x496b61
mov esi, eax
mov eax, dword [esp + 0x14]
mov dword [eax + 0x58], esi
jmp 0x492be0
mov ecx, dword [esp + 0x14]
mov esi, dword [ecx + 0x58]
neg esi
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
jmp 0x492be0
lea ecx, [esp + 0x70]
push ecx
call fcn.0048c640
add esp, 4
jmp 0x4924bc
mov dword [esp + 0x10], 0x14
jmp 0x496c5b
mov edx, dword [esp + 0x20]
mov dword [edi + 0x54], edx
mov byte [esi + 0x1c], 0
mov esi, 5
mov dword [edi + 0x58], esi
jmp 0x492be0
cmp ebp, esi
je 0x496bdc
mov esi, dword [esp + 0x1c]
mov eax, esi
call fcn.004ca830
mov edi, dword [esp + 0x14]
mov byte [esi + 0x1c], 1
call fcn.004ca300
mov esi, dword [edi + 0x58]
neg esi
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
jmp 0x492be0
mov ecx, dword [esp + 0x14]
push 1
call fcn.0048f140
mov esi, eax
add esp, 4
test esi, esi
jne 0x492be0
mov al, byte [esp + 0x60]
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
push edi
mov byte [esi + 0x1c], al
call fcn.0048f1a0
add esp, 4
cmp eax, 5
jne 0x496bc5
mov ecx, dword [esp + 0x20]
mov dl, 1
sub dl, byte [esp + 0x60]
mov dword [edi + 0x54], ecx
mov byte [esi + 0x1c], dl
mov esi, eax
mov dword [edi + 0x58], esi
jmp 0x492be0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
mov esi, 5
mov dword [eax + 0x54], ecx
mov dword [eax + 0x58], esi
jmp 0x492be0
mov eax, 0xf753
call fcn.004cbdd0
mov dword [esp + 0x10], eax
jmp 0x496c5b
mov dword [esp + 0x10], 0xd
mov edx, dword [esp + 0x1c]
cmp byte [edx + 0x1e], 0
je 0x496c6f
mov dword [esp + 0x10], 7
jmp 0x496c7d
cmp dword [esp + 0x10], 0xc0a
je 0x492b84
mov eax, dword [esp + 0x10]
call fcn.004ca900
mov edi, dword [esp + 0x14]
push eax
push 0x53967c
add edi, 0x5c
mov eax, edx
call fcn.00475100
add esp, 8
jmp 0x492b84
mov esi, dword [esp + 0x14]
xor ecx, ecx
mov eax, 9
mov dword [esp + 0x10], eax
mov dword [esi + 0x58], eax
mov eax, dword [str.interrupted]
cmp eax, ecx
jne 0x496cc2
mov eax, str.unknown_error
mov edi, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x20]
push 0x53967c
add edi, 0x5c
call fcn.00475100
add esp, 8
jmp 0x492b84