Function at 0x46dde7
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x32c
mov eax, dword [0x5f4748]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x268], edi
xor ecx, ecx
mov dword [ebp - 0x2e0], ecx
mov dword [ebp - 0x260], ecx
mov dword [ebp - 0x25c], ecx
mov esi, dword [edi]
mov eax, dword [edi + 4]
mov ebx, dword [edi + 8]
mov dword [ebp - 0x2bc], eax
mov eax, dword [esi + 0x10]
mov byte [ebp - 0x299], cl
mov dword [ebp - 0x2d4], ecx
mov dword [ebp - 0x2a8], ecx
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x2b0], ecx
mov dword [ebp - 0x270], ecx
mov dword [ebp - 0x2ac], ecx
mov ecx, edi
mov al, byte [eax + 0x4d]
mov byte [ebp - 0x290], al
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x2a4], eax
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x264], esi
mov dword [ebp - 0x26c], ebx
mov dword [ebp - 0x2a0], eax
call fcn.0046a1f5
push 7
pop eax
cmp dword [edi + 0x50], eax
je 0x4725b4
and dword [edi + 0x50], 0
and dword [edi + 0x88], 0
and dword [edi + 0x8c], 0
and dword [edi + 0x14], 0
and dword [esi + 0x1bc], 0
cmp dword [esi + 0xe8], 0
push 9
pop eax
jne 0x472587
cmp dword [esi + 0x11c], 0
je 0x46dee4
mov eax, dword [edi + 0x7c]
test eax, eax
jne 0x46ded6
mov ecx, dword [esi + 0x124]
mov dword [ebp - 0x2b0], ecx
jmp 0x46dee4
xor edx, edx
div dword [esi + 0x124]
mov dword [ebp - 0x2b0], edx
mov eax, dword [edi + 0x4c]
mov dword [ebp - 0x260], eax
cmp byte [esi + 0x40], 0
push 2
pop edx
jne 0x4725b4
inc dword [ebp - 0x2a8]
imul ebx, eax, 0x14
add ebx, dword [ebp - 0x2bc]
mov dword [ebp - 0x274], ebx
test byte [ebx + 2], dl
je 0x46df43
imul ecx, dword [ebx + 8], 0x28
mov eax, 0x2460
add ecx, dword [ebp - 0x26c]
mov dword [ebp - 0x270], ecx
test word [ecx + 0x1c], ax
je 0x46df3a
call fcn.00468cd7
mov ecx, dword [ebp - 0x270]
push 4
pop eax
mov word [ecx + 0x1c], ax
jmp 0x46df49
mov ecx, dword [ebp - 0x270]
mov dl, byte [ebx]
movzx eax, dl
dec eax
cmp eax, 0x9b
ja case.default.0x46df5a
jmp dword [eax*4 + 0x47266b]
mov ecx, dword [ebx + 8]
dec ecx
mov dword [ebp - 0x260], ecx
jmp 0x4720c7
imul ecx, dword [ebx + 4], 0x28
push 4
pop eax
add ecx, dword [ebp - 0x26c]
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0x260]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x260], eax
jmp case.default.0x46df5a
imul eax, dword [ebx + 4], 0x28
mov ecx, 0x80
add eax, dword [ebp - 0x26c]
mov edx, dword [eax + 0x10]
mov word [eax + 0x1c], cx
jmp 0x472123
imul ecx, dword [ebx + 4], 0x28
mov eax, dword [ebx + 0xc]
push 4
add ecx, dword [ebp - 0x26c]
dec eax
cdq
mov dword [ebp - 0x270], ecx
mov dword [ecx + 0x10], eax
pop eax
mov dword [ecx + 0x14], edx
mov word [ecx + 0x1c], ax
mov eax, dword [ebx + 8]
test eax, eax
je case.default.0x46df5a
jmp 0x46df91
imul ecx, dword [ebx + 4], 0x28
mov edx, dword [ebp - 0x2bc]
add ecx, dword [ebp - 0x26c]
imul eax, dword [ecx + 0x10], 0x14
mov eax, dword [eax + edx + 8]
dec eax
mov dword [ebp - 0x260], eax
mov eax, 0x80
mov word [ecx + 0x1c], ax
jmp case.default.0x46df5a
imul esi, dword [ebx + 4], 0x28
push 4
pop eax
add esi, dword [ebp - 0x26c]
mov ecx, dword [esi + 0x10]
mov word [esi + 0x1c], ax
mov eax, dword [ebp - 0x260]
cdq
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
mov dword [ebp - 0x260], ecx
mov esi, dword [ebp - 0x264]
jmp case.default.0x46df5a
imul eax, dword [ebx + 0xc], 0x28
mov ecx, dword [ebp - 0x26c]
test byte [eax + ecx + 0x1c], 1
je case.default.0x46df5a
cmp dword [ebx + 4], 0
jne 0x47235b
mov ecx, dword [edi + 0xb0]
test ecx, ecx
je 0x47235b
mov eax, dword [ecx + 4]
dec dword [edi + 0xb8]
mov dword [edi + 0xb0], eax
mov eax, dword [edi + 0x5c]
add dword [esi + 0x54], eax
mov dword [esi + 0x50], eax
call fcn.0046a9ec
mov ecx, dword [esi + 0x20]
mov dword [ebp - 0x2a4], ecx
mov ecx, dword [esi + 0x24]
push 4
mov dword [ebp - 0x2a0], ecx
pop ecx
mov dword [ebp - 0x260], eax
cmp dword [ebx + 8], ecx
jne 0x46e0c1
imul ecx, eax, 0x14
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax + 8]
dec eax
mov dword [ebp - 0x260], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x2bc], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x26c], eax
jmp case.default.0x46df5a
mov eax, dword [ebx + 4]
mov ebx, dword [ebp - 0x270]
cdq
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
jmp case.default.0x46df5a
mov ecx, dword [ebx + 0x10]
mov ebx, dword [ebp - 0x270]
mov eax, dword [ecx]
mov dword [ebx + 0x10], eax
mov eax, dword [ecx + 4]
mov dword [ebx + 0x14], eax
jmp case.default.0x46df5a
push 8
pop eax
mov word [ecx + 0x1c], ax
mov eax, dword [ebx + 0x10]
movsd xmm0, qword [eax]
movsd qword [ecx + 8], xmm0
jmp case.default.0x46df5a
mov ecx, dword [ebx + 0x10]
mov byte [ebx], 0x1b
call fcn.0045603a
mov dword [ebx + 4], eax
xor eax, eax
inc eax
cmp byte [ebp - 0x290], al
je 0x46e1ad
push 0
push eax
mov edx, ecx
mov ecx, dword [ebp - 0x270]
push 0xffffffffffffffff
call fcn.004691af
add esp, 0xc
mov dword [ebp - 0x25c], eax
cmp eax, 0x12
je 0x470c62
movzx edx, byte [ebp - 0x290]
mov ecx, dword [ebp - 0x270]
call fcn.00468a00
test eax, eax
jne 0x4725b4
mov ecx, dword [ebp - 0x270]
and dword [ecx + 0x24], eax
mov eax, 0x800
or word [ecx + 0x1c], ax
cmp byte [ebx + 1], 0xff
jne 0x46e19d
mov edx, dword [ebx + 0x10]
mov ecx, esi
call fcn.00454220
mov ecx, dword [ebp - 0x270]
mov byte [ebx + 1], 0xff
mov eax, dword [ecx + 4]
mov dword [ebx + 0x10], eax
mov eax, dword [ecx + 0x18]
mov dword [ebx + 4], eax
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x58]
jg 0x470c62
mov ecx, dword [ebp - 0x270]
mov eax, 0xa02
mov word [ecx + 0x1c], ax
mov eax, dword [ebx + 0x10]
mov dword [ecx + 4], eax
mov eax, dword [ebx + 4]
mov ebx, ecx
mov dword [ebx + 0x18], eax
mov al, byte [ebp - 0x290]
mov byte [ebx + 0x1e], al
jmp case.default.0x46df5a
mov esi, dword [ebx + 0xc]
xor eax, eax
sub esi, dword [ebx + 8]
inc eax
cmp dword [ebx + 4], 0
mov ecx, 0x101
mov ebx, dword [ebp - 0x270]
cmovne eax, ecx
movzx edi, ax
mov word [ebx + 0x1c], di
test esi, esi
jle 0x46e233
mov eax, 0x2460
add ebx, 0x28
test word [ebx + 0x1c], ax
je 0x46e224
mov ecx, ebx
call fcn.00468cd7
mov eax, 0x2460
dec esi
mov word [ebx + 0x1c], di
test esi, esi
jg 0x46e20f
mov dword [ebp - 0x270], ebx
mov edi, dword [ebp - 0x268]
jmp 0x46e03b
imul ebx, dword [ebx + 4], 0x28
mov ecx, 0xff7f
add ebx, dword [ebp - 0x26c]
mov dword [ebp - 0x270], ebx
mov ax, word [ebx + 0x1c]
and ax, cx
xor ecx, ecx
inc ecx
or ax, cx
mov word [ebx + 0x1c], ax
jmp case.default.0x46df5a
mov edx, dword [ebx + 0x10]
push 0
push 0
push dword [ebx + 4]
mov ebx, dword [ebp - 0x270]
mov ecx, ebx
call fcn.004691af
add esp, 0xc
jmp 0x46e1d6
imul esi, dword [ebx + 4], 0x28
add esi, dword [edi + 0x3c]
lea ecx, [esi - 0x28]
call fcn.00469099
test eax, eax
jne 0x470c5c
mov eax, 0x800
lea edx, [esi - 0x28]
push eax
mov ecx, dword [ebp - 0x270]
call fcn.004690bc
pop ecx
jmp 0x46e03b
imul edx, dword [ebx + 4], 0x28
mov eax, dword [ebx + 0xc]
imul ebx, dword [ebx + 8], 0x28
mov dword [ebp - 0x294], eax
add edx, dword [ebp - 0x26c]
mov dword [ebp - 0x278], edx
add ebx, dword [ebp - 0x26c]
mov eax, 0x2460
test word [ebx + 0x1c], ax
je 0x46e2f4
mov ecx, ebx
call fcn.00468cd7
mov edx, dword [ebp - 0x278]
mov eax, dword [ebx + 0x24]
mov esi, edx
push 0xa
mov edi, ebx
add ebx, 0x28
pop ecx
rep movsd dword es:[edi], dword [esi]
and dword [edx + 0x20], 0
mov ecx, 0x80
mov word [edx + 0x1c], cx
mov dword [edx + 0x24], eax
add edx, 0x28
dec dword [ebp - 0x294]
mov dword [ebp - 0x278], edx
jne 0x46e2dc
jmp 0x46e22d
imul esi, dword [ebx + 4], 0x28
mov edi, dword [ebx + 0xc]
imul ebx, dword [ebx + 8], 0x28
add esi, dword [ebp - 0x26c]
add ebx, dword [ebp - 0x26c]
mov eax, 0x1000
mov dword [ebp - 0x270], ebx
push eax
mov edx, esi
mov ecx, ebx
call fcn.004690bc
mov eax, 0x1000
pop ecx
test word [ebx + 0x1c], ax
je 0x46e370
mov ecx, ebx
call fcn.00468aeb
test eax, eax
jne 0x4725a8
mov eax, edi
dec edi
test eax, eax
je 0x46e233
add ebx, 0x28
add esi, 0x28
jmp 0x46e340
imul eax, dword [ebx + 8], 0x28
mov edx, 0x1000
push edx
imul edx, dword [ebx + 4], 0x28
add eax, dword [ebp - 0x26c]
mov ecx, eax
mov dword [ebp - 0x270], eax
add edx, dword [ebp - 0x26c]
call fcn.004690bc
pop ecx
jmp case.default.0x46df5a
mov eax, dword [esi + 0x11c]
test eax, eax
je 0x46e3d9
mov edx, dword [ebp - 0x2a8]
cmp edx, dword [ebp - 0x2b0]
jb 0x46e3d9
push dword [esi + 0x120]
call eax
pop ecx
test eax, eax
jne 0x47241a
xor edx, edx
mov ecx, edi
call fcn.0046b126
mov dword [ebp - 0x25c], eax
test eax, eax
jne 0x47233f
xor edx, edx
mov ecx, edi
inc edx
call fcn.0046b011
mov dword [ebp - 0x25c], eax
test eax, eax
jne 0x47233f
mov eax, dword [edi + 0x48]
push 2
pop ecx
add eax, ecx
or eax, 1
mov dword [edi + 0x48], eax
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0x26c]
mov dword [edi + 0x14], esi
cmp dword [ebx + 8], 0
jle 0x46e45f
mov eax, 0x1000
test word [esi + 0x1c], ax
je 0x46e443
mov ecx, esi
call fcn.00468aeb
test eax, eax
jne 0x4725ae
mov ecx, esi
call fcn.00468b9a
mov eax, dword [ebp - 0x2e0]
add esi, 0x28
inc eax
mov dword [ebp - 0x2e0], eax
cmp eax, dword [ebx + 8]
jl 0x46e429
mov esi, dword [ebp - 0x264]
cmp byte [esi + 0x40], 0
jne 0x4725b4
mov eax, dword [ebp - 0x260]
inc eax
push 0x64
mov dword [edi + 0x4c], eax
pop esi
jmp 0x47262f
imul edi, dword [ebx + 4], 0x28
imul esi, dword [ebx + 8], 0x28
mov eax, dword [ebp - 0x26c]
imul ebx, dword [ebx + 0xc], 0x28
add edi, eax
add esi, eax
mov dword [ebp - 0x274], edi
add ebx, eax
movzx ecx, word [edi + 0x1c]
mov al, byte [esi + 0x1c]
or al, cl
mov dword [ebp - 0x270], ebx
test al, 1
je 0x46e4be
mov ecx, ebx
call fcn.00468f62
jmp 0x46e233
mov edx, 0x4000
test edx, ecx
je 0x46e4d5
mov ecx, edi
call fcn.00468b47
mov edx, 0x4000
jmp 0x46e4d7
xor eax, eax
test eax, eax
jne 0x4725a8
test word [esi + 0x1c], dx
je 0x46e4ee
mov ecx, esi
call fcn.00468b47
jmp 0x46e4f0
xor eax, eax
test eax, eax
jne 0x4725a8
test byte [edi + 0x1c], 0x12
jne 0x46e514
movzx edx, byte [ebp - 0x290]
mov ecx, edi
call fcn.00468be6
test eax, eax
jne 0x4725a8
test byte [esi + 0x1c], 0x12
jne 0x46e530
movzx edx, byte [ebp - 0x290]
mov ecx, esi
call fcn.00468be6
test eax, eax
jne 0x4725a8
mov eax, dword [esi + 0x18]
add eax, dword [edi + 0x18]
cdq
mov edi, eax
mov ecx, edx
mov eax, dword [ebp - 0x264]
mov eax, dword [eax + 0x58]
cdq
cmp ecx, edx
jg 0x470c56
jl 0x46e557
cmp edi, eax
ja 0x470c56
xor eax, eax
lea edx, [edi + 2]
cmp ebx, esi
mov ecx, ebx
sete al
push eax
call fcn.00468a1a
pop ecx
test eax, eax
jne 0x4725a8
mov ax, word [ebx + 0x1c]
mov ecx, 0xbe02
and ax, cx
push 2
pop ecx
or ax, cx
mov word [ebx + 0x1c], ax
cmp ebx, esi
je 0x46e59d
push dword [esi + 0x18]
push dword [esi + 4]
push dword [ebx + 4]
call fcn.00553450
add esp, 0xc
mov eax, dword [ebp - 0x274]
push dword [eax + 0x18]
push dword [eax + 4]
mov eax, dword [esi + 0x18]
add eax, dword [ebx + 4]
push eax
call fcn.00553450
mov eax, dword [ebx + 4]
add esp, 0xc
mov byte [edi + eax], 0
mov eax, dword [ebx + 4]
mov byte [eax + edi + 1], 0
mov eax, 0x200
or word [ebx + 0x1c], ax
mov al, byte [ebp - 0x290]
mov dword [ebx + 0x18], edi
mov byte [ebx + 0x1e], al
jmp 0x46e233
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0x26c]
mov ecx, esi
call fcn.0046dd94
imul edi, dword [ebx + 8], 0x28
movzx eax, ax
mov dword [ebp - 0x154], eax
add edi, dword [ebp - 0x26c]
mov ecx, edi
call fcn.0046dd94
movzx ecx, ax
imul eax, dword [ebx + 0xc], 0x28
mov dword [ebp - 0x274], ecx
add eax, dword [ebp - 0x26c]
mov dword [ebp - 0x270], eax
mov al, byte [edi + 0x1c]
or al, byte [esi + 0x1c]
test al, 1
jne 0x46e86a
mov al, cl
and al, byte [ebp - 0x154]
push 4
pop ecx
test cl, al
je 0x46e759
mov eax, dword [edi + 0x10]
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
mov dword [ebp - 0x278], eax
mov dword [ebp - 0x2b8], eax
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x294], eax
mov dword [ebp - 0x2b4], eax
movzx eax, byte [ebx]
mov byte [ebp - 0x279], 1
sub eax, 0x59
je 0x46e713
dec eax
je 0x46e704
dec eax
je 0x46e6f5
dec eax
mov eax, ecx
je 0x46e6b8
or eax, edx
je 0x46e86a
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x46e6a2
xor ecx, ecx
inc ecx
xor edx, edx
mov eax, dword [ebp - 0x278]
push edx
push ecx
push dword [ebp - 0x294]
push eax
call fcn.00564140
jmp 0x46e732
or eax, edx
je 0x46e86a
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x46e6df
mov eax, dword [edi + 0x10]
test eax, eax
jne 0x46e6e5
cmp dword [edi + 0x14], 0x80000000
je 0x46e760
jmp 0x46e6e5
mov eax, dword [ebp - 0x278]
push edx
push ecx
push dword [ebp - 0x294]
push eax
call fcn.00564090
jmp 0x46e732
push edx
push ecx
lea ecx, [ebp - 0x2b8]
call fcn.00456fc8
jmp 0x46e720
push edx
push ecx
lea ecx, [ebp - 0x2b8]
call fcn.00456f7a
jmp 0x46e720
push edx
push ecx
lea ecx, [ebp - 0x2b8]
call fcn.00456eee
pop ecx
pop ecx
test eax, eax
jne 0x46e760
mov edx, dword [ebp - 0x2b4]
mov eax, dword [ebp - 0x2b8]
mov ebx, dword [ebp - 0x270]
mov dword [ebx + 0x14], edx
mov dword [ebx + 0x10], eax
mov ecx, 0xbe04
mov ax, word [ebx + 0x1c]
push 4
and ax, cx
pop ecx
or ax, cx
mov word [ebx + 0x1c], ax
jmp 0x46e233
mov byte [ebp - 0x279], 0
mov ecx, esi
call fcn.00468e04
mov ecx, edi
movsd qword [ebp - 0xe8], xmm0
call fcn.00468e04
movzx eax, byte [ebx]
movapd xmm1, xmm0
movsd qword [ebp - 0x2c8], xmm1
sub eax, 0x59
je 0x46e807
dec eax
je 0x46e7fd
dec eax
je 0x46e7f3
movsd xmm0, qword [ebp - 0xe8]
dec eax
je 0x46e7df
call fcn.005a525f
movsd xmm0, qword [ebp - 0x2c8]
mov esi, eax
mov edi, edx
call fcn.005a525f
mov ecx, esi
or ecx, edi
je 0x46e86a
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x46e7c9
xor esi, esi
inc esi
xor edi, edi
push edi
push esi
push edx
push eax
call fcn.00564140
mov ecx, eax
call fcn.005a53ff
movapd xmm1, xmm0
jmp 0x46e80f
ucomisd xmm0, qword [0x5d1988]
lahf
test ah, 0x44
jnp 0x46e86a
divsd xmm1, xmm0
jmp 0x46e80f
mulsd xmm1, qword [ebp - 0xe8]
jmp 0x46e80f
subsd xmm1, qword [ebp - 0xe8]
jmp 0x46e80f
addsd xmm1, qword [ebp - 0xe8]
movapd xmm0, xmm1
call fcn.0045600a
test eax, eax
jne 0x46e86a
mov ebx, dword [ebp - 0x270]
mov ecx, 0xbe08
push 8
mov ax, word [ebx + 0x1c]
and ax, cx
movsd qword [ebx + 8], xmm1
pop ecx
or ax, cx
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0x274]
or al, byte [ebp - 0x154]
test cl, al
jne 0x46e233
cmp byte [ebp - 0x279], 0
jne 0x46e233
mov ecx, ebx
call fcn.00468e58
jmp 0x46e233
mov ecx, dword [ebp - 0x270]
jmp 0x46e4b4
mov eax, dword [ebx + 4]
test eax, eax
je case.default.0x46df5a
imul ecx, eax, 0x28
push 0
push 0
add ecx, dword [ebp - 0x26c]
call fcn.00468fd3
pop ecx
jmp 0x46e3aa
imul ecx, dword [ebx + 0xc], 0x28
imul esi, dword [ebx + 8], 0x28
movzx edx, byte [ebx + 3]
mov eax, dword [edi + 0xc]
xor edi, edi
mov dword [ebp - 0x274], edx
add ecx, dword [ebp - 0x26c]
add esi, dword [ebp - 0x26c]
mov dword [ebp - 0x278], eax
mov dword [ebp - 0x270], ecx
test edx, edx
jle 0x46e901
mov ecx, 0x1000
mov dword [eax + edi*4], esi
test word [esi + 0x1c], cx
je 0x46e8f9
mov ecx, esi
call fcn.00468aeb
test eax, eax
jne 0x4725a8
mov edx, dword [ebp - 0x274]
mov ecx, 0x1000
mov eax, dword [ebp - 0x278]
inc edi
add esi, 0x28
cmp edi, edx
jl 0x46e8d0
mov eax, dword [ebx + 0x10]
lea edi, [ebp - 0x250]
mov ecx, dword [ebp - 0x268]
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x260]
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp - 0x270]
mov esi, eax
mov dword [ebp - 0x220], ecx
push 0xa
pop ecx
rep movsd dword es:[edi], dword [esi]
xor ecx, ecx
mov esi, 0xbe01
inc ecx
mov word [eax + 0x1c], cx
xor ecx, ecx
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0x234]
mov byte [ebp - 0x213], cl
and eax, esi
mov ecx, dword [ebp - 0x258]
or eax, 1
mov word [ebp - 0x234], ax
test byte [ecx + 2], 0x20
je 0x46e976
mov eax, dword [ebx - 4]
mov dword [ebp - 0x224], eax
mov esi, dword [ebp - 0x264]
mov eax, dword [ebp - 0x2a4]
push dword [ebp - 0x278]
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0x2a0]
mov dword [esi + 0x24], eax
lea eax, [ebp - 0x258]
push edx
push eax
call dword [ecx + 0xc]
mov eax, dword [esi + 0x20]
add esp, 0xc
cmp byte [esi + 0x40], 0
mov dword [ebp - 0x2a4], eax
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x2a0], eax
jne 0x472428
cmp byte [ebp - 0x213], 0
je 0x46ea17
cmp dword [ebp - 0x218], 0
je 0x46ea02
mov dl, 1
lea ecx, [ebp - 0x250]
call fcn.004693bd
push eax
mov eax, dword [ebp - 0x268]
push 0x5cc7a4
add eax, 0x2c
push esi
push eax
call fcn.0045457c
mov eax, dword [ebp - 0x218]
add esp, 0x10
mov dword [ebp - 0x25c], eax
push dword [ebx + 4]
mov edx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x268]
call fcn.0046b54f
pop ecx
movzx edx, byte [ebp - 0x290]
lea ecx, [ebp - 0x250]
call fcn.00468a00
mov edi, dword [ebp - 0x270]
lea esi, [ebp - 0x250]
push 0xa
pop ecx
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x270]
call fcn.00469099
mov edi, dword [ebp - 0x268]
mov esi, dword [ebp - 0x264]
test eax, eax
jne 0x470c62
jmp case.default.0x46df5a
imul ecx, dword [ebx + 8], 0x28
imul esi, dword [ebx + 4], 0x28
mov eax, dword [ebp - 0x26c]
imul edx, dword [ebx + 0xc], 0x28
add ecx, eax
add esi, eax
add edx, eax
mov al, byte [ecx + 0x1c]
or al, byte [esi + 0x1c]
mov dword [ebp - 0x270], edx
test al, 1
je 0x46ea92
mov ecx, edx
call fcn.00468f62
jmp 0x46e03b
call fcn.00468da8
mov ecx, esi
mov dword [ebp - 0x280], eax
mov edi, edx
call fcn.00468da8
mov cl, byte [ebx]
mov esi, eax
cmp cl, 0x55
jne 0x46eabe
mov eax, dword [ebp - 0x280]
and eax, esi
and edi, edx
jmp 0x46eba4
cmp cl, 0x56
jne 0x46ead2
mov eax, dword [ebp - 0x280]
or eax, esi
or edi, edx
jmp 0x46eba4
mov eax, esi
or eax, edx
je 0x46eb9e
xor ebx, ebx
cmp edx, ebx
jg 0x46eb00
jl 0x46eae8
cmp esi, ebx
jae 0x46eb00
mov al, 0xaf
sub al, cl
mov cl, al
cmp edx, 0xffffffff
jl 0x46eb27
jg 0x46eafa
cmp esi, 0xffffffc0
jbe 0x46eb27
neg esi
adc edx, ebx
neg edx
push 0x40
pop eax
cmp edx, ebx
jl 0x46eb37
jg 0x46eb0d
cmp esi, eax
jb 0x46eb37
cmp edi, ebx
jg 0x46eb30
jl 0x46eb1d
mov ebx, dword [ebp - 0x280]
test ebx, ebx
jae 0x46eb30
cmp cl, 0x57
je 0x46eb30
or eax, 0xffffffff
jmp 0x46eb32
push 0x40
pop eax
mov esi, eax
mov edx, ebx
jmp 0x46eb03
xor eax, eax
cdq
mov edi, edx
jmp 0x46eba4
cmp cl, 0x57
mov edx, edi
mov ecx, esi
jne 0x46eb4f
mov eax, dword [ebp - 0x280]
call fcn.005a5040
mov ecx, eax
jmp 0x46eb9a
mov ebx, dword [ebp - 0x280]
mov eax, ebx
call fcn.00588700
mov ecx, eax
mov dword [ebp - 0x154], edx
xor eax, eax
mov dword [ebp - 0x274], ecx
cmp edi, eax
jg 0x46eb9a
jl 0x46eb76
cmp ebx, eax
jae 0x46eb9a
push 0x40
pop ecx
sub ecx, esi
or eax, 0xffffffff
or edx, 0xffffffff
call fcn.005a5040
mov ecx, dword [ebp - 0x274]
or ecx, eax
or dword [ebp - 0x154], edx
mov edx, dword [ebp - 0x154]
mov eax, ecx
jmp 0x46eb33
mov eax, dword [ebp - 0x280]
mov ebx, dword [ebp - 0x270]
mov dword [ebx + 0x14], edi
jmp 0x46e73b
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0x26c]
mov ecx, esi
call fcn.00468eab
mov eax, dword [ebx + 8]
cdq
add dword [esi + 0x10], eax
adc dword [esi + 0x14], edx
jmp 0x46e03b
imul esi, dword [ebx + 4], 0x28
push 4
pop ecx
add esi, dword [ebp - 0x26c]
movzx eax, word [esi + 0x1c]
test cl, al
jne 0x46ec1b
push dword [ebp - 0x290]
mov dl, 0x63
mov ecx, esi
call fcn.0046dd05
movzx eax, word [esi + 0x1c]
pop ecx
push 4
pop ecx
test cl, al
jne 0x46ec1b
mov eax, dword [ebx + 8]
mov esi, dword [ebp - 0x264]
test eax, eax
jne 0x46df91
push 0x14
pop eax
jmp 0x4724fb
mov edx, 0xbe04
and eax, edx
or eax, ecx
mov word [esi + 0x1c], ax
jmp 0x46e03b
imul ecx, dword [ebx + 4], 0x28
push 4
pop eax
add ecx, dword [ebp - 0x26c]
test byte [ecx + 0x1c], al
je case.default.0x46df5a
call fcn.00468ed1
jmp case.default.0x46df5a
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0x26c]
movzx ecx, word [esi + 0x1c]
test cl, 1
jne 0x46e03b
push dword [ebp - 0x290]
mov eax, ecx
mov dl, 0x61
shr eax, 3
and eax, 2
or eax, ecx
mov ecx, esi
mov word [esi + 0x1c], ax
call fcn.0046dd05
mov eax, 0x4000
pop ecx
test word [esi + 0x1c], ax
je 0x46ec9c
mov ecx, esi
call fcn.00468b47
mov dword [ebp - 0x25c], eax
jmp 0x46eca3
and dword [ebp - 0x25c], 0
mov eax, 0xbfe3
and word [esi + 0x1c], ax
jmp 0x46e03b
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0x26c]
movzx eax, word [esi + 0x1c]
test al, 1
jne 0x46e03b
push 0x10
pop ebx
test bl, al
jne 0x46ecf2
push dword [ebp - 0x290]
mov dl, 0x61
mov ecx, esi
call fcn.0046dd05
mov ax, word [esi + 0x1c]
pop ecx
mov ecx, 0xbe10
and ax, cx
or ax, bx
jmp 0x46ec24
and eax, 0xfe10
jmp 0x46ec24
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0x26c]
call fcn.00468ef6
jmp case.default.0x46df5a
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0x26c]
test byte [ecx + 0x1c], 1
jne case.default.0x46df5a
call fcn.00468eab
jmp case.default.0x46df5a
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0x26c]
test byte [ecx + 0x1c], 1
jne case.default.0x46df5a
jmp 0x46ec43
imul edi, dword [ebx + 0xc], 0x28
imul esi, dword [ebx + 4], 0x28
mov eax, dword [ebp - 0x26c]
add edi, eax
add esi, eax
movzx ecx, word [edi + 0x1c]
movzx edx, word [esi + 0x1c]
mov al, cl
or al, dl
mov dword [ebp - 0x274], edx
test al, 1
mov dword [ebp - 0xd8], ecx
mov al, byte [ebx + 3]
je 0x46ede9
test al, al
jns 0x46eda2
xor eax, eax
inc eax
test al, dl
je 0x46ee58
test al, cl
je 0x46ee58
test ecx, 0x100
jne 0x46ee58
xor edx, edx
jmp 0x46ee5a
push 0x10
pop ecx
test cl, al
je 0x46edcd
imul ebx, dword [ebx + 8], 0x28
mov ecx, 0xbe01
add ebx, dword [ebp - 0x26c]
mov dword [ebp - 0x270], ebx
mov ax, word [ebx + 0x1c]
and ax, cx
xor ecx, ecx
inc ecx
jmp 0x46e74d
mov edi, dword [ebp - 0x268]
push 8
pop ecx
test cl, al
mov esi, dword [ebp - 0x264]
je case.default.0x46df5a
jmp 0x46df8e
and al, 0x67
mov byte [ebp - 0x279], al
je 0x46ee27
push dword [ebp - 0x290]
mov dl, al
mov ecx, esi
call fcn.0046dd05
mov dl, byte [ebp - 0x279]
pop ecx
push dword [ebp - 0x290]
mov ecx, edi
call fcn.0046dd05
mov eax, dword [ebp - 0x264]
pop ecx
cmp byte [eax + 0x40], 0
jne 0x47259e
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x46ee3e
mov ecx, esi
call fcn.00468b47
mov eax, 0x4000
test word [edi + 0x1c], ax
je 0x46ee4b
mov ecx, edi
call fcn.00468b47
push dword [ebx + 0x10]
mov edx, esi
mov ecx, edi
call fcn.0046bc50
pop ecx
mov edx, eax
movzx ecx, byte [ebx]
xor eax, eax
sub ecx, 0x4e
je 0x46ee93
dec ecx
je 0x46ee8c
dec ecx
je 0x46ee85
dec ecx
je 0x46ee7e
dec ecx
je 0x46ee77
test edx, edx
setns al
jmp 0x46ee98
test edx, edx
sets al
jmp 0x46ee98
test edx, edx
setle al
jmp 0x46ee98
test edx, edx
setg al
jmp 0x46ee98
test edx, edx
sete al
jmp 0x46ee98
test edx, edx
setne al
push 0x10
pop ecx
test byte [ebx + 3], cl
je 0x46eecf
imul ebx, dword [ebx + 8], 0x28
mov edx, 0xbe04
push 4
add ebx, dword [ebp - 0x26c]
mov dword [ebp - 0x270], ebx
mov cx, word [ebx + 0x1c]
and cx, dx
pop edx
or cx, dx
cdq
mov word [ebx + 0x1c], cx
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
jmp 0x46eedd
test eax, eax
je 0x46eedd
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x260], eax
mov ax, word [esi + 0x1c]
mov ebx, 0x1ff
xor ax, word [ebp - 0x274]
and ax, bx
xor word [esi + 0x1c], ax
mov ax, word [edi + 0x1c]
xor ax, word [ebp - 0xd8]
and ax, bx
xor word [edi + 0x1c], ax
jmp 0x46e233
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x2ac], ecx
jmp case.default.0x46df5a
test byte [ebx + 3], 1
mov eax, dword [ebp - 0x2ac]
mov edx, dword [ebx + 4]
push 0
pop ecx
cmove eax, ecx
mov dword [ebp - 0x274], edx
mov ecx, dword [ebx + 0xc]
xor esi, esi
mov edx, dword [ebx + 8]
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x298], edx
test ecx, ecx
jle 0x46efd1
lea edi, [eax + 0x14]
mov ecx, dword [ebp - 0x2ac]
test ecx, ecx
je 0x46ef6b
mov ecx, dword [ecx + esi*4]
jmp 0x46ef6d
mov ecx, esi
mov eax, dword [eax + 0x10]
push dword [edi]
movzx ebx, byte [esi + eax]
lea eax, [ecx + edx]
imul edx, eax, 0x28
mov eax, dword [ebp - 0x274]
add eax, ecx
imul ecx, eax, 0x28
add edx, dword [ebp - 0x26c]
add ecx, dword [ebp - 0x26c]
call fcn.0046bc50
mov dword [ebp - 0x2d4], eax
pop ecx
test eax, eax
jne 0x46efbf
mov edx, dword [ebp - 0x298]
inc esi
push 4
pop eax
add edi, eax
mov eax, dword [ebp - 0x284]
cmp esi, dword [ebp - 0xd8]
jl 0x46ef5c
jmp 0x46efcb
test ebx, ebx
je 0x46efcb
neg eax
mov dword [ebp - 0x2d4], eax
mov edi, dword [ebp - 0x268]
and dword [ebp - 0x2ac], 0
jmp 0x46e03b
mov eax, dword [ebp - 0x2d4]
test eax, eax
jns 0x46efef
mov eax, dword [ebx + 4]
jmp 0x46df91
je 0x46df8e
mov eax, dword [ebx + 0xc]
jmp 0x46df91
imul ecx, dword [ebx + 4], 0x28
xor edx, edx
inc edx
add ecx, dword [ebp - 0x26c]
test byte [ecx + 0x1c], dl
je 0x46f016
push 2
pop eax
mov esi, eax
jmp 0x46f02e
call fcn.00468da8
push 2
or eax, edx
pop eax
je 0x46f029
xor edx, edx
inc edx
mov esi, edx
jmp 0x46f02e
xor edx, edx
xor esi, esi
inc edx
imul ecx, dword [ebx + 8], 0x28
add ecx, dword [ebp - 0x26c]
test byte [ecx + 0x1c], dl
je 0x46f041
mov ecx, eax
jmp 0x46f056
call fcn.00468da8
or eax, edx
je 0x46f051
xor edx, edx
inc edx
mov ecx, edx
jmp 0x46f056
xor edx, edx
xor ecx, ecx
inc edx
imul eax, esi, 3
cmp byte [ebx], 0x48
jne 0x46f068
movzx eax, byte [eax + ecx + 0x5c9990]
jmp 0x46f070
movzx eax, byte [eax + ecx + 0x5c9874]
imul ebx, dword [ebx + 0xc], 0x28
mov esi, dword [ebp - 0x264]
push 2
pop ecx
add ebx, dword [ebp - 0x26c]
mov dword [ebp - 0x270], ebx
cmp eax, ecx
jne 0x46f0a1
mov ax, word [ebx + 0x1c]
mov ecx, 0xbe01
and ax, cx
or ax, dx
jmp 0x46e260
cdq
mov ecx, 0xbe04
mov dword [ebx + 0x10], eax
mov ax, word [ebx + 0x1c]
push 4
and ax, cx
mov dword [ebx + 0x14], edx
pop ecx
jmp 0x46e25d
imul ecx, dword [ebx + 4], 0x28
imul ebx, dword [ebx + 8], 0x28
add ecx, dword [ebp - 0x26c]
add ebx, dword [ebp - 0x26c]
mov dword [ebp - 0x270], ebx
test byte [ecx + 0x1c], 1
je 0x46f0e8
mov ecx, ebx
call fcn.00468f62
jmp case.default.0x46df5a
call fcn.00468da8
or eax, edx
jne 0x46f0f4
inc eax
jmp 0x46f0f6
xor eax, eax
cdq
push edx
push eax
mov ecx, ebx
jmp 0x46e88d
imul ecx, dword [ebx + 4], 0x28
imul ebx, dword [ebx + 8], 0x28
add ecx, dword [ebp - 0x26c]
add ebx, dword [ebp - 0x26c]
mov dword [ebp - 0x270], ebx
test byte [ecx + 0x1c], 1
jne 0x46f0dc
call fcn.00468da8
not eax
not edx
jmp 0x46f0f7
mov eax, dword [edi + 0xc8]
mov ecx, dword [ebx + 4]
cmp byte [eax + ecx], 0
jne 0x46df8e
mov byte [eax + ecx], 1
jmp case.default.0x46df5a
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0x26c]
test byte [ecx + 0x1c], 1
je 0x46f15c
mov ecx, dword [ebx + 0xc]
jmp 0x46f180
call fcn.00468e04
ucomisd xmm0, qword [0x5d1988]
lahf
xor ecx, ecx
test ah, 0x44
jnp 0x46f172
inc ecx
cmp byte [ebx], 0x2d
jne 0x46f180
xor eax, eax
test ecx, ecx
sete al
mov ecx, eax
test ecx, ecx
jmp 0x46edde
imul eax, dword [ebx + 4], 0x28
mov ecx, dword [ebp - 0x26c]
test byte [eax + ecx + 0x1c], 1
jmp 0x46edde
imul eax, dword [ebx + 4], 0x28
mov ecx, dword [ebp - 0x26c]
test byte [eax + ecx + 0x1c], 1
jne case.default.0x46df5a
jmp 0x46df8e
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
imul edi, dword [ebx + 0xc], 0x28
mov dword [ebp - 0x288], eax
mov eax, dword [ebp - 0x268]
add edi, dword [ebp - 0x26c]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0x154], edi
mov esi, dword [eax + ecx*4]
mov ecx, esi
movsx eax, word [esi + 0x14]
add eax, 0x16
lea eax, [esi + eax*4]
mov dword [ebp - 0x28c], eax
mov eax, dword [esi]
mov dword [ebp - 0x280], eax
call fcn.0046b6a2
mov dword [ebp - 0x25c], eax
test eax, eax
jne 0x4724f5
mov ecx, dword [ebp - 0x268]
mov eax, dword [esi + 0x44]
cmp eax, dword [ecx + 0x48]
jne 0x46f222
test byte [ebx + 3], 0x20
je 0x46f351
cmp byte [esi + 0x19], 0
je 0x46f26a
cmp dword [ebp - 0x280], 0
jne 0x46f24f
imul eax, dword [esi + 0x10], 0x28
add eax, dword [ebp - 0x26c]
mov edi, dword [eax + 0x18]
mov dword [esi + 0x4c], edi
mov dword [esi + 0x48], edi
mov eax, dword [eax + 4]
mov dword [esi + 0x54], eax
jmp 0x46f2e0
mov ax, word [edi + 0x1c]
mov ecx, 0xbe01
and ax, cx
xor ecx, ecx
inc ecx
or ax, cx
mov word [edi + 0x1c], ax
jmp 0x46f669
mov ecx, dword [ebp - 0x280]
push 4
pop eax
test byte [esi + 0x1c], al
jne 0x46f2a4
lea edx, [ebp - 0x108]
call fcn.00463b5a
mov ecx, dword [ebp - 0x280]
lea edx, [esi + 0x48]
movzx eax, word [ecx + 0x2c]
add eax, dword [ecx + 0x20]
movzx edi, word [ecx + 0x2e]
mov dword [esi + 0x54], eax
mov eax, dword [ebp - 0x108]
mov dword [edx], eax
jmp 0x46f2c3
lea edx, [esi + 0x48]
call fcn.00463b84
mov ecx, dword [ebp - 0x280]
lea edx, [esi + 0x48]
movzx eax, word [ecx + 0x2c]
add eax, dword [ecx + 0x20]
movzx edi, word [ecx + 0x2e]
mov dword [esi + 0x54], eax
mov eax, dword [edx]
cmp eax, edi
ja 0x46f2ce
mov dword [esi + 0x4c], eax
jmp 0x46f2d1
mov dword [esi + 0x4c], edi
mov ecx, dword [ebp - 0x264]
cmp eax, dword [ecx + 0x58]
ja 0x47256c
mov eax, dword [ebp - 0x268]
mov edx, 0x80
mov ecx, dword [esi + 0x54]
mov eax, dword [eax + 0x48]
mov dword [esi + 0x44], eax
mov al, byte [ecx]
cmp al, dl
jae 0x46f308
movzx ecx, al
xor eax, eax
mov dword [ebp - 0x2d0], ecx
inc eax
jmp 0x46f31c
lea edx, [ebp - 0x2d0]
call fcn.00456d1d
mov ecx, dword [ebp - 0x2d0]
movzx eax, al
movzx eax, al
mov dword [esi + 0x50], eax
xor eax, eax
mov word [esi + 0x16], ax
mov eax, dword [ebp - 0x28c]
mov dword [eax], ecx
cmp edi, ecx
jae 0x46f33c
xor eax, eax
mov dword [esi + 0x54], eax
mov dword [esi + 0x4c], eax
cmp ecx, 0x18003
ja 0x46f698
cmp ecx, dword [esi + 0x48]
ja 0x46f698
movzx eax, word [esi + 0x16]
mov edx, dword [ebp - 0x288]
mov ecx, dword [ebp - 0x28c]
cmp eax, edx
jg 0x46f523
mov eax, dword [esi + 0x50]
cmp eax, dword [ecx]
jae 0x46f4f5
mov ecx, dword [esi + 0x54]
mov dword [ebp - 0x284], ecx
test ecx, ecx
jne 0x46f3d3
xor eax, eax
lea edi, [ebp - 0x1a0]
push 0xa
pop ecx
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x280]
lea eax, [ebp - 0x1a0]
push eax
mov eax, dword [esi + 0x1c]
xor edx, edx
shr eax, 2
not eax
and eax, 1
push eax
mov eax, dword [ebp - 0x28c]
push dword [eax]
call fcn.004692fc
add esp, 0xc
mov dword [ebp - 0x25c], eax
test eax, eax
jne 0x46f4d8
mov ecx, dword [ebp - 0x19c]
mov dword [ebp - 0x284], ecx
movzx edx, word [esi + 0x16]
mov eax, dword [ebp - 0x28c]
mov edi, dword [esi + 0x50]
add edi, ecx
mov dword [ebp - 0x298], edx
mov eax, dword [eax + edx*4]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x28c]
mov eax, dword [eax]
add eax, ecx
mov dword [ebp - 0x278], eax
mov al, byte [edi]
mov ecx, 0x80
cmp al, cl
jae 0x46f418
movzx ecx, al
inc edi
mov dword [ebp - 0x2cc], ecx
jmp 0x46f436
lea edx, [ebp - 0x2cc]
mov ecx, edi
call fcn.00456d1d
mov ecx, dword [ebp - 0x2cc]
mov edx, dword [ebp - 0x298]
movzx eax, al
add edi, eax
mov dword [esi + edx*4 + 0x58], ecx
call fcn.0046b811
mov ecx, dword [ebp - 0x294]
add ecx, eax
mov dword [ebp - 0x294], ecx
mov dword [ebp - 0x2d0], ecx
cmp ecx, eax
jb 0x46f479
mov eax, dword [ebp - 0x28c]
inc edx
mov dword [ebp - 0x298], edx
mov dword [eax + edx*4], ecx
cmp edx, dword [ebp - 0x288]
jg 0x46f480
cmp edi, dword [ebp - 0x278]
jb 0x46f401
jmp 0x46f480
mov edi, dword [ebp - 0x278]
inc edi
mov eax, edi
mov word [esi + 0x16], dx
sub eax, dword [ebp - 0x284]
cmp dword [esi + 0x54], 0
mov dword [esi + 0x50], eax
jne 0x46f4b0
lea ecx, [ebp - 0x1a0]
call fcn.00468d20
mov ecx, dword [ebp - 0x294]
xor eax, eax
inc eax
mov word [ebp - 0x184], ax
mov eax, dword [ebp - 0x278]
cmp edi, eax
ja 0x46f4c8
cmp ecx, dword [esi + 0x48]
ja 0x46f4c8
cmp edi, eax
jne 0x46f4e9
cmp ecx, dword [esi + 0x48]
je 0x46f4e9
mov ecx, 0x11351
call fcn.0049f402
mov dword [ebp - 0x25c], eax
mov edi, dword [ebp - 0x268]
mov esi, dword [ebp - 0x264]
jmp 0x47233f
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x288]
movzx eax, word [esi + 0x16]
cmp eax, edx
jg 0x46f523
cmp byte [ebx + 1], 0xf8
mov edi, dword [ebp - 0x154]
jne 0x46f24f
mov edx, dword [ebx + 0x10]
mov eax, 0x800
push eax
mov ecx, edi
call fcn.004690bc
pop ecx
jmp 0x46f669
mov eax, dword [esi + 0x4c]
cmp eax, dword [ecx + edx*4 + 4]
jb 0x46f566
mov edi, dword [ebp - 0x154]
mov eax, 0x2460
test word [edi + 0x1c], ax
je 0x46f54a
mov ecx, edi
call fcn.00468cd7
mov edx, dword [ebp - 0x288]
mov eax, dword [ebp - 0x28c]
mov ecx, dword [esi + 0x54]
push edi
add ecx, dword [eax + edx*4]
mov edx, dword [esi + edx*4 + 0x58]
call fcn.0046b886
pop ecx
jmp 0x46f660
mov al, byte [ebx + 3]
mov ecx, dword [esi + edx*4 + 0x58]
mov dword [ebp - 0x274], ecx
mov dword [ebp - 0x2cc], ecx
test al, 0xc0
je 0x46f590
cmp ecx, 0xc
jb 0x46f587
test cl, 1
je 0x46f59b
mov edx, 0x80
test dl, al
jne 0x46f59b
call fcn.0046b811
mov ebx, eax
test ebx, ebx
jne 0x46f5b7
mov edi, dword [ebp - 0x154]
lea eax, [ebp - 0x108]
xor edx, edx
cmp ecx, 0xd
cmova eax, edx
and dword [ebp - 0x17c], edx
jmp 0x46f622
push 0xa
pop ecx
xor eax, eax
lea edi, [ebp - 0x1a0]
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x154]
lea ecx, [ebp - 0x1a0]
mov edx, edi
call fcn.00469189
mov ecx, dword [ebp - 0x28c]
lea eax, [ebp - 0x1a0]
push eax
mov eax, dword [esi + 0x1c]
shr eax, 2
not eax
and eax, 1
push eax
mov eax, dword [ebp - 0x288]
push ebx
mov edx, dword [ecx + eax*4]
mov ecx, dword [ebp - 0x280]
call fcn.004692fc
add esp, 0xc
mov dword [ebp - 0x25c], eax
test eax, eax
jne 0x46f4d8
mov eax, dword [ebp - 0x19c]
mov ecx, dword [ebp - 0x274]
mov edx, ecx
mov ecx, eax
push edi
call fcn.0046b886
cmp dword [ebp - 0x17c], 0
pop ecx
je 0x46f660
mov ax, word [edi + 0x1c]
mov ecx, 0xe7ff
and ax, cx
mov ecx, 0x200
or ax, cx
mov word [edi + 0x1c], ax
mov eax, dword [ebp - 0x19c]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x17c]
mov dword [edi + 0x24], eax
mov al, byte [ebp - 0x290]
mov byte [edi + 0x1e], al
mov eax, 0x1000
test word [edi + 0x1c], ax
je 0x46e233
mov ecx, edi
call fcn.00468aeb
mov edi, dword [ebp - 0x268]
mov esi, dword [ebp - 0x264]
test eax, eax
jne 0x4725b4
jmp case.default.0x46df5a
mov ecx, 0x1130f
jmp 0x46f4cd
imul esi, dword [ebx + 4], 0x28
mov edi, dword [ebx + 0x10]
add esi, dword [ebp - 0x26c]
jmp 0x46f6c5
push dword [ebp - 0x290]
mov dl, al
mov ecx, esi
inc edi
call fcn.0046dd05
pop ecx
add esi, 0x28
mov al, byte [edi]
test al, al
jne 0x46f6b1
jmp 0x46e233
imul ecx, dword [ebx + 4], 0x28
xorps xmm0, xmm0
imul eax, dword [ebx + 8], 0x28
mov esi, dword [ebx + 0x10]
imul ebx, dword [ebx + 0xc], 0x28
and dword [ebp - 0x274], 0
add ecx, dword [ebp - 0x26c]
and dword [ebp - 0x280], 0
add eax, 0xffffffd8
movzx edx, byte [edi + 0x57]
add eax, ecx
add ebx, dword [ebp - 0x26c]
movlpd qword [ebp - 0x2c8], xmm0
mov dword [ebp - 0x154], ecx
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x294], edx
mov dword [ebp - 0x270], ebx
test esi, esi
je 0x46f753
mov al, byte [esi]
mov edi, ecx
push dword [ebp - 0x290]
mov dl, al
mov ecx, edi
call fcn.0046dd05
add edi, 0x28
inc esi
pop ecx
mov al, byte [esi]
test al, al
jne 0x46f72d
mov eax, dword [ebp - 0x284]
mov edx, dword [ebp - 0x294]
mov ebx, dword [ebp - 0x274]
mov esi, eax
mov eax, dword [ebp - 0x2c4]
mov dword [ebp - 0x278], eax
mov eax, dword [ebp - 0x2c8]
mov dword [ebp - 0x288], eax
mov ecx, esi
call fcn.0046b71e
mov ecx, eax
mov dword [ebp - 0x274], eax
call fcn.0046b811
mov edi, eax
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x46f7bd
mov ecx, dword [ebp - 0x288]
or ecx, dword [ebp - 0x278]
je 0x46f7ab
mov ecx, esi
call fcn.00468b47
jmp 0x46f7bd
mov eax, dword [ebp - 0x280]
add eax, dword [esi + 0x10]
sub edi, dword [esi + 0x10]
mov dword [ebp - 0x280], eax
mov eax, edi
mov edi, dword [ebp - 0x278]
cdq
add dword [ebp - 0x288], eax
mov eax, dword [ebp - 0x274]
adc edi, edx
mov dword [ebp - 0x278], edi
cmp eax, 0x7f
ja 0x46f7e4
xor eax, eax
inc eax
jmp 0x46f7ee
push 0
push eax
call fcn.00456d87
pop ecx
pop ecx
mov edx, dword [ebp - 0x294]
sub esi, 0x28
add ebx, eax
cmp esi, dword [ebp - 0x154]
jae 0x46f773
cmp ebx, 0x7e
jle 0x46f829
mov eax, ebx
cdq
push edx
push eax
call fcn.00456d87
mov esi, eax
add ebx, esi
mov eax, ebx
cdq
push edx
push eax
call fcn.00456d87
add esp, 0x10
cmp esi, eax
jge 0x46f82a
inc ebx
mov eax, ebx
cdq
mov esi, eax
mov ecx, edx
mov eax, dword [ebp - 0x264]
add esi, dword [ebp - 0x288]
mov dword [ebp - 0xd8], esi
adc ecx, edi
mov eax, dword [eax + 0x58]
cdq
cmp ecx, edx
jg 0x470c56
jl 0x46f85b
cmp esi, eax
ja 0x470c56
mov edx, esi
mov esi, dword [ebp - 0x270]
push 0
mov ecx, esi
call fcn.00468a1a
pop ecx
test eax, eax
jne 0x4725a8
mov esi, dword [esi + 4]
mov eax, 0x80
cmp ebx, eax
jae 0x46f888
xor eax, eax
mov byte [esi], bl
inc eax
jmp 0x46f891
mov edx, ebx
mov ecx, esi
call fcn.00456b9c
movzx edi, al
mov eax, dword [ebp - 0x154]
mov edx, dword [ebp - 0x294]
mov ecx, eax
call fcn.0046b71e
mov ecx, 0x80
mov dword [ebp - 0x274], eax
cmp eax, ecx
jae 0x46f8be
mov byte [edi + esi], al
xor eax, eax
inc eax
jmp 0x46f8c8
lea ecx, [edi + esi]
mov edx, eax
call fcn.00456b9c
push dword [ebp - 0x274]
mov edx, dword [ebp - 0x154]
lea ecx, [ebx + esi]
movzx eax, al
add edi, eax
call fcn.0046b824
add ebx, eax
mov eax, dword [ebp - 0x154]
add eax, 0x28
pop ecx
mov dword [ebp - 0x154], eax
cmp eax, dword [ebp - 0x284]
jbe 0x46f89a
mov ebx, dword [ebp - 0x270]
mov eax, dword [ebp - 0xd8]
push 0x10
and dword [ebx + 0x20], 0
mov dword [ebx + 0x18], eax
pop eax
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0x280]
test eax, eax
je 0x46f92b
mov dword [ebx + 0x10], eax
mov eax, 0x4010
mov word [ebx + 0x1c], ax
mov byte [ebx + 0x1e], 1
jmp 0x46e233
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0x300]
mov eax, dword [edi + 0x38]
xorps xmm0, xmm0
movlpd qword [ebp - 0x300], xmm0
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
call fcn.00466f55
mov ebx, dword [ebp - 0x270]
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0x300]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0x2fc]
jmp 0x46e0fe
mov esi, dword [ebx + 4]
mov ebx, dword [ebx + 0x10]
mov dword [ebp - 0x154], esi
test esi, esi
jne 0x46fa69
mov esi, dword [ebp - 0x264]
cmp dword [esi + 0x94], 0
jle 0x46f9b8
push str.cannot_open_savepoint___SQL_statements_in_progress
lea eax, [edi + 0x2c]
push esi
push eax
call fcn.0045457c
add esp, 0xc
push 5
pop eax
mov dword [ebp - 0x25c], eax
jmp 0x47233f
mov ecx, ebx
call fcn.0045603a
mov ecx, dword [esi + 0x1ec]
xor edx, edx
add ecx, dword [esi + 0x1e8]
mov edi, eax
push ecx
mov ecx, esi
call fcn.0049408a
mov dword [ebp - 0x25c], eax
pop ecx
test eax, eax
jne 0x4724fb
lea edx, [edi + 0x21]
mov ecx, esi
call fcn.004543e5
mov esi, eax
test esi, esi
je 0x46e233
lea ecx, [edi + 1]
push ecx
lea edx, [esi + 0x20]
push ebx
push edx
mov dword [esi], edx
call fcn.00553450
mov ecx, dword [ebp - 0x264]
add esp, 0xc
cmp byte [ecx + 0x3e], 0
je 0x46fa23
mov byte [ecx + 0x3e], 0
mov byte [ecx + 0x45], 1
jmp 0x46fa29
inc dword [ecx + 0x1e8]
mov eax, dword [ecx + 0x1e0]
mov dword [esi + 0x18], eax
mov eax, dword [ecx + 0x1f0]
mov dword [ecx + 0x1e0], esi
mov dword [esi + 8], eax
mov eax, dword [ecx + 0x1f4]
mov dword [esi + 0xc], eax
mov eax, dword [ecx + 0x1f8]
mov dword [esi + 0x10], eax
mov eax, dword [ecx + 0x1fc]
mov dword [esi + 0x14], eax
mov edi, dword [ebp - 0x268]
mov esi, ecx
jmp case.default.0x46df5a
mov eax, dword [ebp - 0x264]
xor ecx, ecx
mov edi, dword [eax + 0x1e0]
test edi, edi
je 0x46fcbf
mov esi, ecx
push ebx
push dword [edi]
call fcn.00456154
pop ecx
pop ecx
test eax, eax
je 0x46fa97
mov edi, dword [edi + 0x18]
inc esi
test edi, edi
jne 0x46fa81
mov dword [ebp - 0x280], esi
mov esi, dword [ebp - 0x154]
mov dword [ebp - 0x284], edi
test edi, edi
je 0x46fcbf
mov eax, dword [ebp - 0x264]
xor ecx, ecx
xor edx, edx
inc ecx
cmp dword [eax + 0x94], edx
jle 0x46fada
cmp esi, ecx
jne 0x46fada
mov edi, dword [ebp - 0x268]
mov esi, eax
push str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x46f99d
cmp dword [edi + 0x18], edx
jne 0x46fb3b
cmp byte [eax + 0x45], dl
je 0x46fb3b
mov dword [ebp - 0x278], ecx
cmp esi, ecx
jne 0x46fb41
mov ebx, dword [ebp - 0x268]
mov edx, ecx
mov ecx, ebx
call fcn.0046b126
mov esi, eax
test esi, esi
jne 0x47262d
mov esi, dword [ebp - 0x264]
mov ecx, ebx
mov byte [esi + 0x3e], 1
call fcn.0046b189
push 5
pop ecx
cmp eax, ecx
je 0x47243e
mov byte [esi + 0x45], 0
mov eax, dword [ebx + 0x50]
mov ebx, dword [ebp - 0x154]
mov dword [ebp - 0x25c], eax
jmp 0x46fc30
mov dword [ebp - 0x278], edx
mov eax, dword [eax + 0x1e8]
sub eax, dword [ebp - 0x280]
push 2
dec eax
pop ecx
cmp esi, ecx
mov dword [ebp - 0x280], eax
mov esi, dword [ebp - 0x264]
jne 0x46fba0
mov ebx, edx
cmp dword [esi + 0x14], edx
jle 0x46fba0
mov edi, dword [ebp - 0x264]
mov esi, edx
mov ecx, dword [edi + 0x10]
push 4
pop eax
mov edx, eax
mov ecx, dword [esi + ecx + 4]
call fcn.00463846
push 0x10
pop eax
inc ebx
add esi, eax
cmp ebx, dword [edi + 0x14]
jl 0x46fb70
mov edi, dword [ebp - 0x284]
xor edx, edx
mov eax, dword [ebp - 0x280]
mov esi, dword [ebp - 0x264]
mov ebx, edx
cmp dword [esi + 0x14], edx
jle 0x46fbee
mov esi, edx
mov edx, dword [ebp - 0x154]
push eax
mov eax, dword [ebp - 0x264]
mov ecx, dword [eax + 0x10]
mov ecx, dword [esi + ecx + 4]
call fcn.0046398f
mov dword [ebp - 0x25c], eax
pop ecx
test eax, eax
jne 0x4724f5
push 0x10
pop eax
add esi, eax
inc ebx
mov eax, dword [ebp - 0x264]
cmp ebx, dword [eax + 0x14]
mov eax, dword [ebp - 0x280]
jl 0x46fba9
mov esi, dword [ebp - 0x264]
mov ebx, dword [ebp - 0x154]
push 2
pop eax
cmp ebx, eax
jne 0x46fc30
test byte [esi + 0x18], al
je 0x46fc30
mov ecx, esi
call fcn.0046c696
call fcn.0047c515
push 2
pop eax
or dword [esi + 0x18], eax
jmp 0x46fc30
mov edx, dword [esi + 0x1e0]
mov ecx, esi
mov eax, dword [edx + 0x18]
mov dword [esi + 0x1e0], eax
call fcn.00454220
dec dword [esi + 0x1e8]
cmp dword [esi + 0x1e0], edi
jne 0x46fc14
cmp ebx, 1
jne 0x46fc64
mov eax, dword [edi + 0x18]
mov edx, edi
mov ecx, esi
mov dword [esi + 0x1e0], eax
call fcn.00454220
cmp dword [ebp - 0x278], 0
jne 0x470abf
dec dword [esi + 0x1e8]
jmp 0x46fc95
cmp dword [ebp - 0x278], 0
mov eax, dword [edi + 8]
mov dword [esi + 0x1f0], eax
mov eax, dword [edi + 0xc]
mov dword [esi + 0x1f4], eax
mov eax, dword [edi + 0x10]
mov dword [esi + 0x1f8], eax
mov eax, dword [edi + 0x14]
mov dword [esi + 0x1fc], eax
jne 0x470abf
mov ecx, dword [ebp - 0x280]
mov edx, ebx
push ecx
mov ecx, esi
call fcn.0049408a
mov dword [ebp - 0x25c], eax
pop ecx
test eax, eax
jne 0x4724fb
mov edi, dword [ebp - 0x268]
jmp 0x47233f
mov edi, dword [ebp - 0x268]
mov esi, dword [ebp - 0x264]
push ebx
push str.no_such_savepoint:__s
lea eax, [edi + 0x2c]
push esi
push eax
call fcn.0045457c
add esp, 0x10
xor eax, eax
inc eax
jmp 0x46f9ad
mov ecx, dword [ebx + 4]
mov esi, dword [ebx + 8]
mov eax, dword [ebp - 0x264]
mov dword [ebp - 0x274], ecx
test ecx, ecx
je 0x46fd1a
cmp byte [eax + 0x3e], 0
jne 0x46fd1a
test esi, esi
jne 0x46fd1a
cmp dword [eax + 0x94], esi
jle 0x46fd1a
push str.cannot_commit_transaction___SQL_statements_in_progress
mov esi, eax
jmp 0x46f99d
movzx eax, byte [eax + 0x3e]
cmp ecx, eax
jne 0x472457
xor edx, edx
mov eax, str.cannot_commit___no_transaction_is_active
test ecx, ecx
mov ecx, str.cannot_rollback___no_transaction_is_active
sete dl
test esi, esi
mov esi, dword [ebp - 0x264]
cmove ecx, eax
test edx, edx
mov eax, str.cannot_start_a_transaction_within_a_transaction
cmove eax, ecx
push eax
lea eax, [edi + 0x2c]
push esi
push eax
call fcn.0045457c
add esp, 0xc
jmp 0x46fcde
mov edx, dword [ebx + 8]
test edx, edx
je 0x46fd70
test dword [esi + 0x18], 0x2000000
jne 0x4724d1
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov esi, dword [eax + ecx*8 + 4]
test esi, esi
je 0x46fe75
mov ecx, esi
call fcn.00462e8c
push 5
pop ecx
mov dword [ebp - 0x25c], eax
cmp eax, ecx
je 0x4724d8
test eax, eax
jne 0x4724f5
cmp dword [ebx + 8], eax
je 0x46fe46
add ecx, 0x7b
test byte [edi + 0x58], cl
je 0x46fe46
mov ecx, dword [ebp - 0x264]
cmp byte [ecx + 0x3e], al
je 0x46fdcd
cmp dword [ecx + 0x90], 1
jle 0x46fe46
cmp dword [edi + 0x68], eax
jne 0x46fde7
mov eax, dword [ecx + 0x1e8]
inc dword [ecx + 0x1ec]
add eax, dword [ecx + 0x1ec]
mov dword [edi + 0x68], eax
mov eax, dword [edi + 0x68]
xor edx, edx
dec eax
push eax
call fcn.0049408a
mov edx, eax
mov dword [ebp - 0x25c], edx
pop ecx
test edx, edx
jne 0x46fe10
mov edx, dword [edi + 0x68]
mov ecx, esi
call fcn.00463968
mov dword [ebp - 0x25c], eax
mov ecx, dword [ebp - 0x264]
mov eax, dword [ecx + 0x1f0]
mov dword [edi + 0x98], eax
mov eax, dword [ecx + 0x1f4]
mov dword [edi + 0x9c], eax
mov eax, dword [ecx + 0x1f8]
mov dword [edi + 0xa0], eax
mov eax, dword [ecx + 0x1fc]
mov dword [edi + 0xa4], eax
lea eax, [ebp - 0x2dc]
xor edx, edx
push eax
inc edx
mov ecx, esi
call fcn.00466ec9
mov eax, dword [ebp - 0x264]
mov esi, dword [ebp - 0x2dc]
pop ecx
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax + 4]
jmp 0x46fe7f
xor esi, esi
xor eax, eax
mov dword [ebp - 0x2dc], esi
cmp byte [ebx + 3], 0
je 0x46e03b
cmp esi, dword [ebx + 0xc]
jne 0x46fe97
cmp eax, dword [ebx + 0x10]
je 0x46e03b
mov edx, dword [edi + 0x2c]
mov ecx, dword [ebp - 0x264]
call fcn.00454220
mov ecx, dword [ebp - 0x264]
mov edx, str.database_schema_has_changed
call fcn.0045450c
mov dword [edi + 0x2c], eax
mov eax, dword [ebp - 0x264]
mov edx, dword [ebx + 4]
mov ecx, edx
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 0xc]
cmp dword [eax], esi
mov esi, dword [ebp - 0x264]
je 0x46fedd
mov ecx, esi
call fcn.0047c4e8
or dword [edi + 0x58], 0x20
push 0x11
jmp 0x46f9ac
mov ecx, dword [esi + 0x10]
lea eax, [ebp - 0x2e8]
mov edx, dword [ebx + 0xc]
push eax
mov eax, dword [ebx + 4]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00466ec9
mov eax, dword [ebp - 0x2e8]
pop ecx
mov ecx, dword [ebp - 0x270]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.default.0x46df5a
imul edi, dword [ebx + 0xc], 0x28
mov eax, dword [ebp - 0x264]
mov esi, dword [ebx + 4]
shl esi, 4
add edi, dword [ebp - 0x26c]
add esi, dword [eax + 0x10]
mov ecx, edi
call fcn.00468eab
push dword [edi + 0x10]
mov edx, dword [ebx + 8]
mov ecx, dword [esi + 4]
call fcn.00466efc
xor edx, edx
mov dword [ebp - 0x25c], eax
inc edx
pop ecx
push 2
cmp dword [ebx + 8], edx
jne 0x46ff75
mov ecx, dword [esi + 0xc]
mov eax, dword [edi + 0x10]
mov esi, dword [ebp - 0x264]
mov dword [ecx], eax
pop eax
or dword [esi + 0x18], eax
mov eax, dword [ebp - 0x25c]
jmp 0x46ff90
pop ecx
cmp dword [ebx + 8], ecx
jne 0x46ff8a
mov ecx, dword [esi + 0xc]
mov al, byte [edi + 0x10]
mov byte [ecx + 0x4c], al
mov eax, dword [ebp - 0x25c]
mov esi, dword [ebp - 0x264]
cmp dword [ebx + 4], edx
jne 0x46fcb4
mov ecx, esi
call fcn.0046c696
mov edi, dword [ebp - 0x268]
and dword [edi + 0x58], 0xffffffdf
jmp case.default.0x46df5a
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov eax, dword [eax + ecx*4]
test eax, eax
je case.0x46df5a.53
mov eax, dword [eax + 0x20]
cmp eax, dword [ebx + 8]
je case.default.0x46df5a
test byte [edi + 0x58], 0x20
je 0x46ffd5
push 4
jmp 0x46f9ac
mov ecx, dword [ebx + 8]
xor eax, eax
mov esi, dword [ebx + 0xc]
mov edi, eax
mov dword [ebp - 0x278], ecx
mov ecx, dword [ebp - 0x264]
mov dword [ebp - 0x284], eax
mov eax, esi
shl eax, 4
mov dword [ebp - 0x274], esi
add eax, dword [ecx + 0x10]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xd8], ecx
mov ecx, dword [ebp - 0x278]
cmp dl, 0x36
jne 0x470033
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 0x268]
mov dword [ebp - 0x298], 1
mov al, byte [eax + 0x4c]
cmp al, byte [edx + 0x57]
jae 0x470039
mov byte [edx + 0x57], al
jmp 0x470039
and dword [ebp - 0x298], edi
push 2
pop eax
test byte [ebx + 3], al
je 0x47006b
imul esi, ecx, 0x28
add esi, dword [ebp - 0x26c]
mov ecx, esi
call fcn.00468eab
mov ecx, dword [esi + 0x10]
push 2
pop eax
mov dword [ebp - 0x278], ecx
cmp ecx, eax
jl 0x4724e6
mov esi, dword [ebp - 0x274]
mov al, byte [ebx + 1]
cmp al, 0xfa
jne 0x470087
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x284], eax
movzx edi, word [eax + 8]
movzx eax, word [eax + 6]
add edi, eax
jmp 0x47008e
cmp al, 0xf2
jne 0x47008e
mov edi, dword [ebx + 0x10]
mov edx, dword [ebx + 4]
push 1
push esi
push edi
mov edi, dword [ebp - 0x268]
mov ecx, edi
call fcn.0046dbe6
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4725ae
mov edi, dword [ebp - 0x284]
mov edx, dword [ebp - 0x278]
mov ecx, dword [ebp - 0xd8]
push 8
pop eax
push dword [esi]
or dword [esi + 0x1c], eax
push edi
push dword [ebp - 0x298]
mov byte [esi + 0x19], 1
mov dword [esi + 0x20], edx
call fcn.00463a5c
mov dword [ebp - 0x25c], eax
add esp, 0xc
mov eax, dword [esi]
mov dword [esi + 8], edi
mov cl, byte [ebx + 3]
and cl, 1
mov byte [eax + 0x52], cl
xor eax, eax
cmp byte [ebx + 1], 0xfa
push 4
setne al
shl eax, 2
pop ecx
xor eax, dword [esi + 0x1c]
and eax, ecx
xor dword [esi + 0x1c], eax
jmp 0x46e233
mov edx, dword [ebx + 4]
mov ecx, edi
push 1
push 0xffffffffffffffff
push dword [ebx + 8]
call fcn.0046dbe6
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4725ae
xor eax, eax
lea edi, [esi + 4]
inc eax
xor edx, edx
or dword [esi + 0x1c], eax
mov byte [esi + 0x19], al
movzx eax, byte [ebx + 3]
push 0x41e
or eax, 5
push eax
mov eax, dword [ebp - 0x264]
push edi
push eax
mov ecx, dword [eax]
call fcn.00462310
add esp, 0x10
mov dword [ebp - 0x25c], eax
test eax, eax
jne 0x4701f5
mov ecx, dword [edi]
xor edx, edx
inc edx
call fcn.00462e8c
mov dword [ebp - 0x25c], eax
test eax, eax
jne 0x4701f5
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x274], eax
test eax, eax
je 0x4701d5
movzx eax, byte [ebx + 3]
lea edx, [ebp - 0x2ec]
push 2
pop ecx
or eax, ecx
mov ecx, dword [edi]
push eax
call fcn.00466b42
mov dword [ebp - 0x25c], eax
pop ecx
test eax, eax
jne 0x4701cf
push dword [esi]
mov eax, dword [ebp - 0x274]
mov edx, dword [ebp - 0x2ec]
mov ecx, dword [edi]
push eax
push 1
mov dword [esi + 8], eax
call fcn.00463a5c
add esp, 0xc
mov dword [ebp - 0x25c], eax
and dword [esi + 0x1c], 0xfffffffb
jmp 0x4701f5
push dword [esi]
mov ecx, dword [edi]
xor eax, eax
inc eax
push 0
push eax
mov edx, eax
call fcn.00463a5c
add esp, 0xc
mov dword [ebp - 0x25c], eax
push 4
pop eax
or dword [esi + 0x1c], eax
push 8
xor eax, eax
pop ecx
cmp byte [ebx + 3], cl
setne al
shl eax, 3
jmp 0x470102
mov edx, dword [ebx + 4]
mov ecx, edi
push 1
push 0xffffffffffffffff
push dword [ebx + 8]
call fcn.0046dbe6
add esp, 0xc
test eax, eax
je 0x4725b4
mov ecx, dword [ebx + 0x10]
mov edx, eax
mov dword [eax + 8], ecx
mov ecx, esi
call fcn.004734bb
jmp 0x46f9ad
mov edx, dword [ebx + 4]
mov ecx, edi
push 0
push 0xffffffffffffffff
push dword [ebx + 0xc]
call fcn.0046dbe6
add esp, 0xc
test eax, eax
je 0x4725b4
mov byte [eax + 0x19], 1
mov ecx, dword [ebx + 8]
push 4
mov dword [eax + 0x10], ecx
pop ecx
or dword [eax + 0x1c], ecx
jmp case.default.0x46df5a
mov eax, dword [ebx + 4]
mov ecx, edi
mov edx, dword [edi + 0x38]
mov edx, dword [edx + eax*4]
call fcn.0046a99d
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
and dword [eax + ecx*4], 0
jmp case.default.0x46df5a
mov eax, dword [edi + 0x38]
mov ecx, dword [ebx + 4]
movzx edx, byte [ebx]
push 4
mov dword [ebp - 0x154], edx
mov esi, dword [eax + ecx*4]
pop eax
mov byte [esi + 0x19], 0
test byte [esi + 0x1c], al
je 0x4703c3
imul edi, dword [ebx + 0xc], 0x28
add edi, dword [ebp - 0x26c]
test byte [edi + 0x1c], 0xc
jne 0x4702c1
mov ecx, edi
call fcn.0046dc90
mov ecx, edi
call fcn.00468da8
push 4
mov dword [ebp - 0x284], eax
mov byte [esi + 0x1a], 0
movzx ecx, word [edi + 0x1c]
pop eax
mov dword [ebp - 0x278], edx
test al, cl
jne 0x470339
push 8
pop eax
test al, cl
jne 0x4702f9
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x260], eax
jmp 0x46e233
mov edx, dword [ebp - 0x278]
mov ecx, dword [ebp - 0x284]
call fcn.005a53ff
movsd xmm1, qword [edi + 8]
comisd xmm0, xmm1
jbe 0x470322
mov eax, dword [ebp - 0x154]
test al, 1
je 0x470339
dec eax
jmp 0x470333
comisd xmm1, xmm0
jbe 0x470339
mov eax, dword [ebp - 0x154]
test al, 1
jne 0x470339
inc eax
mov dword [ebp - 0x154], eax
mov edi, dword [ebp - 0x284]
lea eax, [ebp - 0xdc]
mov ecx, dword [esi]
xor edx, edx
push eax
push 0
push dword [ebp - 0x278]
push edi
call fcn.004642ea
add esp, 0x10
mov dword [ebp - 0x25c], eax
test eax, eax
jne 0x4724f5
xor edx, edx
cmp dword [ebp - 0xdc], edx
jne 0x470383
mov eax, dword [ebp - 0x278]
mov byte [esi + 0x1a], 1
mov dword [esi + 0x38], edi
mov dword [esi + 0x3c], eax
mov edi, dword [ebp - 0x268]
mov eax, dword [ebp - 0x154]
mov byte [esi + 0x1b], dl
mov dword [esi + 0x44], edx
mov ecx, dword [ebp - 0xdc]
cmp eax, 0x3e
jl 0x470452
test ecx, ecx
js 0x47043c
jne 0x4703b7
cmp eax, 0x3f
je 0x47043c
and dword [ebp - 0xdc], 0
jmp 0x46e03b
mov ecx, dword [ebx + 0x10]
mov eax, dword [esi + 8]
mov dword [ebp - 0x1b4], eax
mov eax, edx
and al, 1
mov word [ebp - 0x1b0], cx
neg al
sbb al, al
and al, 0xfe
inc al
mov byte [ebp - 0x1ae], al
mov eax, 0x4000
imul ecx, dword [ebx + 0xc], 0x28
add ecx, dword [ebp - 0x26c]
mov dword [ebp - 0x1ac], ecx
test word [ecx + 0x1c], ax
je 0x470408
call fcn.00468b47
mov ecx, dword [esi]
lea eax, [ebp - 0xdc]
push eax
xor eax, eax
lea edx, [ebp - 0x1b4]
push eax
push eax
push eax
call fcn.004642ea
add esp, 0x10
mov dword [ebp - 0x25c], eax
test eax, eax
jne 0x4724f5
xor edx, edx
mov byte [esi + 0x1a], dl
jmp 0x470389
lea eax, [ebp - 0xdc]
mov dword [ebp - 0xdc], edx
push eax
push dword [esi]
call fcn.00464643
jmp 0x47048a
test ecx, ecx
jg 0x470476
jne 0x47045d
cmp eax, 0x3c
je 0x470476
mov eax, dword [esi]
xor ecx, ecx
cmp byte [eax + 0x51], 1
mov eax, dword [ebp - 0x25c]
setne cl
mov dword [ebp - 0xdc], ecx
jmp 0x47049e
lea eax, [ebp - 0xdc]
mov dword [ebp - 0xdc], edx
push eax
push dword [esi]
call fcn.00464765
mov dword [ebp - 0x25c], eax
pop ecx
pop ecx
test eax, eax
jne 0x4724f5
mov byte [esi + 0x1a], 0
cmp dword [ebp - 0xdc], 0
je 0x46f4de
mov esi, dword [ebx + 8]
dec esi
mov dword [ebp - 0x260], esi
jmp 0x46f4de
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov esi, dword [eax + ecx*4]
mov byte [esi + 0x19], 0
imul ecx, dword [ebx + 8], 0x28
add ecx, dword [ebp - 0x26c]
call fcn.00468da8
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], edx
mov word [esi + 0x1a], 0x100
jmp 0x46e03b
imul esi, dword [ebx + 0xc], 0x28
xor edx, edx
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov dword [ebp - 0x280], edx
add esi, dword [ebp - 0x26c]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x298], ecx
cmp dword [ebx + 0x10], edx
jle 0x470583
mov eax, dword [ecx + 8]
mov dword [ebp - 0x168], eax
xor eax, eax
mov cx, word [ebx + 0x10]
mov word [ebp - 0x164], cx
mov dword [ebp - 0x160], esi
mov dword [ebp - 0x284], edx
cmp ax, cx
jae 0x470575
xor edi, edi
mov ebx, 0x4000
lea eax, [edi + esi]
test word [eax + 0x1c], bx
je 0x47055e
mov ecx, eax
call fcn.00468b47
mov esi, dword [ebp - 0x160]
mov cx, word [ebp - 0x164]
mov edx, dword [ebp - 0x284]
inc edx
movzx eax, cx
add edi, 0x28
mov dword [ebp - 0x284], edx
cmp edx, eax
jl 0x47053b
mov ebx, dword [ebp - 0x274]
mov esi, dword [ebp - 0x298]
lea edi, [ebp - 0x168]
jmp 0x4705c0
mov ecx, dword [ecx + 8]
lea eax, [ebp - 0x280]
push eax
push 0xbf
lea edx, [ebp - 0xc8]
call fcn.0046ba62
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x4725a8
mov edx, dword [esi + 0x18]
push edi
push dword [esi + 4]
mov esi, dword [ebp - 0x298]
mov ecx, dword [esi + 8]
call fcn.0046babb
pop ecx
pop ecx
xor eax, eax
mov byte [edi + 6], al
cmp byte [ebx], 0x41
jne 0x4705fb
movzx edx, word [ebp - 0x164]
mov ecx, eax
test edx, edx
jle 0x4705fb
mov eax, dword [ebp - 0x160]
add eax, 0x1c
test byte [eax], 1
jne 0x4705ef
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x4705e0
jmp 0x4705f9
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x260], eax
xor eax, eax
lea ecx, [ebp - 0x2f4]
mov edx, edi
push ecx
mov ecx, dword [esi]
push eax
push eax
push eax
call fcn.004642ea
add esp, 0x10
mov dword [ebp - 0x25c], eax
cmp dword [ebx + 0x10], 0
jne 0x470634
mov edx, dword [ebp - 0x280]
mov ecx, dword [ebp - 0x264]
call fcn.00454220
mov eax, dword [ebp - 0x25c]
test eax, eax
jne 0x46f4d8
mov eax, dword [ebp - 0x2f4]
xor ecx, ecx
mov edi, dword [ebp - 0x268]
test eax, eax
mov dword [esi + 0xc], eax
mov al, 1
sete cl
sub al, cl
mov byte [esi + 0x19], al
xor eax, eax
mov byte [esi + 0x1b], al
mov dword [esi + 0x44], eax
cmp byte [ebx], 0x43
mov esi, dword [ebp - 0x264]
je 0x46f180
test ecx, ecx
jmp 0x46f1aa
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x38]
imul esi, dword [ebx + 0xc], 0x28
mov edi, dword [eax + ecx*4]
xor eax, eax
lea ecx, [ebp - 0x284]
mov dword [ebp - 0x284], eax
add esi, dword [ebp - 0x26c]
push ecx
mov ecx, dword [edi]
push eax
push dword [esi + 0x14]
push dword [esi + 0x10]
call fcn.004642ea
mov ecx, dword [ebp - 0x284]
add esp, 0x10
mov dword [ebp - 0x25c], eax
test ecx, ecx
mov eax, dword [esi + 0x10]
mov dword [edi + 0x38], eax
mov eax, dword [esi + 0x14]
mov dword [edi + 0x3c], eax
sete al
mov byte [edi + 0x1a], al
xor eax, eax
mov byte [edi + 0x19], al
mov dword [edi + 0x44], eax
mov byte [edi + 0x1b], al
test ecx, ecx
je 0x4706e5
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x260], eax
mov dword [edi + 0xc], ecx
jmp 0x46e233
mov eax, dword [edi + 0x38]
mov ecx, dword [ebx + 4]
mov edx, dword [ebp - 0x270]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 0x28]
mov dword [edx + 0x10], eax
mov eax, dword [ecx + 0x2c]
mov dword [edx + 0x14], eax
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov eax, dword [eax + ecx*4]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
jmp case.default.0x46df5a
mov ecx, dword [ebx + 4]
xorps xmm0, xmm0
mov eax, dword [edi + 0x38]
and dword [ebp - 0x288], 0
movlpd qword [ebp - 0xe8], xmm0
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x28c], eax
mov ecx, dword [eax]
test ecx, ecx
je 0x47094d
test byte [eax + 0x1c], 2
jne 0x4707c1
lea edx, [ebp - 0x288]
call fcn.004642a1
mov dword [ebp - 0x25c], eax
test eax, eax
jne 0x4724fb
cmp dword [ebp - 0x288], eax
je 0x470777
xor edi, edi
inc edi
xor esi, esi
jmp 0x4707cd
mov eax, dword [ebp - 0x28c]
lea edx, [ebp - 0xe8]
mov ecx, dword [eax]
call fcn.00463b5a
mov esi, dword [ebp - 0xe4]
mov edi, dword [ebp - 0xe8]
mov dword [ebp - 0x25c], eax
cmp esi, 0x7fffffff
jl 0x4707b9
jg 0x4707ab
cmp edi, 0xffffffff
jb 0x4707b9
mov eax, dword [ebp - 0x28c]
push 2
pop ecx
or dword [eax + 0x1c], ecx
jmp 0x4707cd
add edi, 1
adc esi, 0
jmp 0x4707cd
mov esi, dword [ebp - 0xe4]
mov edi, dword [ebp - 0xe8]
mov edx, dword [ebx + 0xc]
test edx, edx
je 0x47084a
mov eax, dword [ebp - 0x268]
mov eax, dword [eax + 0xb0]
test eax, eax
jne 0x47083b
imul ebx, edx, 0x28
add ebx, dword [ebp - 0x26c]
mov ecx, ebx
call fcn.00468eab
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 0x14]
cmp eax, 0xffffffff
jne 0x47080b
cmp ecx, 0x7fffffff
je 0x4724f2
mov edx, dword [ebp - 0x28c]
test byte [edx + 0x1c], 2
jne 0x4724f2
add eax, 1
push 0
pop edx
adc ecx, edx
cmp esi, ecx
jg 0x470831
jl 0x47082d
cmp edi, eax
jae 0x470831
mov edi, eax
mov esi, ecx
mov dword [ebx + 0x10], edi
mov dword [ebx + 0x14], esi
jmp 0x47084c
mov eax, ecx
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x470839
imul ebx, edx, 0x28
add ebx, dword [eax + 0xc]
jmp 0x4707ed
xor edx, edx
mov eax, dword [ebp - 0x28c]
push 2
pop ecx
test byte [eax + 0x1c], cl
je 0x470941
mov esi, dword [ebp - 0x2a0]
lea ecx, [ebp - 0x288]
mov edi, dword [ebp - 0x2a4]
and esi, 0x3fffffff
push ecx
mov ecx, dword [eax]
add edi, 1
push edx
adc esi, edx
mov dword [ebp - 0xe8], edi
mov ebx, edx
mov dword [ebp - 0xe4], esi
push esi
push edi
xor edx, edx
call fcn.004642ea
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0x25c], ecx
test ecx, ecx
jne 0x47093b
mov eax, dword [ebp - 0x288]
test eax, eax
jne 0x47092f
inc ebx
cmp ebx, 0x64
jge 0x47092f
lea eax, [ebp - 0xe8]
push eax
push 8
pop eax
push eax
call fcn.00455884
mov edi, dword [ebp - 0xe8]
pop ecx
pop ecx
cmp ebx, 5
jge 0x4708e2
and edi, 0xffffff
xor eax, eax
mov esi, eax
jmp 0x4708f0
mov esi, dword [ebp - 0xe4]
and esi, 0x3fffffff
xor eax, eax
add edi, 1
lea ecx, [ebp - 0x288]
push ecx
adc esi, eax
mov dword [ebp - 0xe8], edi
push eax
mov eax, dword [ebp - 0x28c]
xor edx, edx
push esi
push edi
mov dword [ebp - 0xe4], esi
mov ecx, dword [eax]
call fcn.004642ea
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0x25c], ecx
test ecx, ecx
je 0x4708a9
mov eax, dword [ebp - 0x288]
test ecx, ecx
jne 0x47093b
test eax, eax
je 0x4724f2
mov eax, dword [ebp - 0x28c]
and dword [eax + 0x44], 0
mov word [eax + 0x1a], 0
jmp 0x470959
mov esi, dword [ebp - 0xe4]
mov edi, dword [ebp - 0xe8]
mov eax, dword [ebp - 0x270]
mov dword [eax + 0x10], edi
mov dword [eax + 0x14], esi
jmp 0x46e233
imul esi, dword [ebx + 8], 0x28
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
add esi, dword [ebp - 0x26c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x278], eax
cmp dl, 0x49
jne 0x4709a2
imul eax, dword [ebx + 0xc], 0x28
mov ecx, dword [ebp - 0x26c]
mov edi, dword [eax + ecx + 0x10]
mov eax, dword [eax + ecx + 0x14]
mov dword [ebp - 0x284], eax
jmp 0x4709b0
mov eax, dword [ebx + 0xc]
cdq
mov edi, eax
mov dword [ebp - 0x284], edx
mov eax, edx
xor edx, edx
inc edx
test byte [ebx + 3], dl
je 0x4709c1
mov ecx, dword [ebp - 0x268]
inc dword [ecx + 0x5c]
push 2
pop ecx
test byte [ebx + 3], cl
je 0x4709e1
mov ecx, dword [ebp - 0x264]
mov dword [ebp - 0x2a4], edi
mov dword [ebp - 0x2a0], eax
mov dword [ecx + 0x20], edi
mov dword [ecx + 0x24], eax
movzx eax, word [esi + 0x1c]
test dl, al
je 0x4709f3
xor edx, edx
mov dword [esi + 4], edx
mov dword [esi + 0x18], edx
jmp 0x4709f5
xor edx, edx
mov cl, byte [ebx + 3]
mov byte [ebp - 0x279], cl
test cl, 0x10
je 0x470a0c
mov edx, dword [ebp - 0x278]
mov edx, dword [edx + 0xc]
mov ecx, 0x4000
test ecx, eax
je 0x470a1a
mov ecx, dword [esi + 0x10]
jmp 0x470a1c
xor ecx, ecx
movzx eax, byte [ebp - 0x279]
push edx
shr eax, 3
xor edx, edx
and eax, 1
push eax
mov eax, dword [ebp - 0x278]
push ecx
push dword [esi + 0x18]
push dword [esi + 4]
mov esi, dword [ebp - 0x284]
mov ecx, dword [eax]
push esi
push edi
call fcn.0046655e
mov dword [ebp - 0x25c], eax
add esp, 0x1c
mov eax, dword [ebp - 0x278]
and dword [eax + 0x44], 0
cmp dword [ebp - 0x25c], 0
mov word [eax + 0x1a], 0
jne 0x46e233
mov ecx, dword [ebp - 0x264]
mov edx, dword [ecx + 0xc8]
test edx, edx
je 0x46fa5c
cmp dword [ebx + 0x10], 0
je 0x46fa5c
movsx ecx, byte [eax + 0x18]
push esi
mov esi, dword [ebp - 0x264]
add ecx, ecx
push edi
push dword [ebx + 0x10]
mov eax, dword [esi + 0x10]
push dword [eax + ecx*8]
push 4
pop eax
test byte [ebx + 3], al
push 0x12
pop eax
push 0x17
pop ecx
cmovne eax, ecx
push eax
push dword [esi + 0xc4]
call edx
add esp, 0x18
mov edi, dword [ebp - 0x268]
jmp case.default.0x46df5a
mov eax, dword [edi + 0x38]
mov ecx, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
mov ecx, esi
mov eax, dword [esi + 0x3c]
mov edi, dword [esi + 0x38]
mov dword [ebp - 0x274], eax
call fcn.0046b6a2
test eax, eax
jne 0x4724f5
mov ecx, dword [esi]
call fcn.00466756
and dword [esi + 0x44], 0
mov dword [ebp - 0x25c], eax
test eax, eax
jne 0x470b58
mov eax, dword [ebp - 0x264]
mov edx, dword [eax + 0xc8]
test edx, edx
je 0x470b7c
cmp dword [ebx + 0x10], 0
je 0x470b7c
push 4
pop eax
test byte [esi + 0x1c], al
je 0x470b52
movsx ecx, byte [esi + 0x18]
push dword [ebp - 0x274]
mov esi, dword [ebp - 0x264]
add ecx, ecx
push edi
push dword [ebx + 0x10]
mov eax, dword [esi + 0x10]
push dword [eax + ecx*8]
push 9
push dword [esi + 0xc4]
call edx
add esp, 0x18
mov eax, dword [ebp - 0x25c]
jmp 0x470b5e
mov eax, dword [ebp - 0x25c]
mov esi, dword [ebp - 0x264]
test byte [ebx + 8], 1
mov edi, dword [ebp - 0x268]
mov edx, dword [ebp - 0x260]
je 0x472345
inc dword [edi + 0x5c]
jmp 0x472345
mov esi, eax
jmp 0x470b4a
mov eax, dword [edi + 0x5c]
add dword [esi + 0x54], eax
mov dword [esi + 0x50], eax
and dword [edi + 0x5c], 0
jmp case.default.0x46df5a
imul edx, dword [ebx + 0xc], 0x28
lea esi, [ebp - 0x304]
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
push esi
push dword [ebx + 0x10]
add edx, dword [ebp - 0x26c]
mov ecx, dword [eax + ecx*4]
call fcn.00473f2b
cmp dword [ebp - 0x304], 0
mov esi, dword [ebp - 0x264]
pop ecx
pop ecx
mov dword [ebp - 0x25c], eax
je 0x47233f
mov edx, dword [ebx + 8]
dec edx
jmp 0x472345
imul edx, dword [ebx + 8], 0x28
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
add edx, dword [ebp - 0x26c]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x270], edx
call fcn.00473ed0
jmp 0x46f9ad
imul eax, dword [ebx + 8], 0x28
mov ecx, dword [ebx + 4]
add eax, dword [ebp - 0x26c]
mov dword [ebp - 0x270], eax
mov eax, dword [edi + 0x38]
mov ebx, dword [eax + ecx*4]
mov ecx, ebx
mov edi, dword [ebx]
call fcn.0046b6a2
test eax, eax
jne 0x4724fb
push 4
pop eax
mov ecx, edi
test byte [ebx + 0x1c], al
jne 0x470c7b
lea edx, [ebp - 0x318]
call fcn.00463b5a
mov eax, dword [esi + 0x58]
cdq
cmp dword [ebp - 0x314], edx
jg 0x472554
mov esi, dword [ebp - 0x318]
jl 0x470c92
cmp esi, eax
jbe 0x470c92
mov edi, dword [ebp - 0x268]
mov esi, dword [ebp - 0x264]
push str.string_or_blob_too_big
lea eax, [edi + 0x2c]
push esi
push eax
call fcn.0045457c
add esp, 0xc
push 0x12
jmp 0x47241c
call fcn.00463b30
mov eax, dword [ebp - 0x264]
mov esi, dword [edi + 0x24]
cmp esi, dword [eax + 0x58]
ja 0x47255f
mov ecx, dword [ebp - 0x270]
mov edx, esi
push 0
call fcn.00468a1a
pop ecx
test eax, eax
jne 0x4725a8
mov ecx, dword [ebp - 0x270]
mov edx, 0xbe10
push 0x10
mov ax, word [ecx + 0x1c]
and ax, dx
mov dword [ecx + 0x18], esi
pop edx
or ax, dx
mov word [ecx + 0x1c], ax
push 4
pop eax
test byte [ebx + 0x1c], al
mov ebx, ecx
jne 0x470ce7
push 0
push dword [ebx + 4]
xor edx, edx
mov ecx, edi
push esi
call fcn.00463c96
add esp, 0xc
jmp 0x470cf6
push dword [ebx + 4]
push esi
push 0
push edi
call fcn.00463fbe
add esp, 0x10
mov byte [ebx + 0x1e], 1
jmp 0x46f4d2
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov esi, dword [eax + ecx*4]
cmp byte [esi + 0x19], 0
je 0x470d20
mov eax, dword [ebp - 0x270]
xor ecx, ecx
inc ecx
mov word [eax + 0x1c], cx
jmp 0x46e03b
cmp byte [esi + 0x1b], 0
je 0x470d34
mov eax, dword [esi + 0x30]
mov dword [ebp - 0xf8], eax
mov eax, dword [esi + 0x34]
jmp 0x470d83
mov ecx, dword [esi + 0x24]
test ecx, ecx
je 0x470d5d
mov esi, dword [ecx]
lea edx, [ebp - 0xf8]
push edx
push ecx
mov eax, dword [esi]
call dword [eax + 0x30]
pop ecx
pop ecx
mov edx, esi
mov dword [ebp - 0x25c], eax
mov ecx, edi
call fcn.0046c70b
jmp 0x470d9e
mov ecx, esi
call fcn.0046b6a2
mov dword [ebp - 0x25c], eax
test eax, eax
jne 0x4724f5
cmp byte [esi + 0x1a], al
je 0x470d8b
mov eax, dword [esi + 0x38]
mov dword [ebp - 0xf8], eax
mov eax, dword [esi + 0x3c]
mov dword [ebp - 0xf4], eax
jmp 0x470d9e
mov ecx, dword [esi]
lea edx, [ebp - 0xf8]
call fcn.00463b5a
mov dword [ebp - 0x25c], eax
mov ecx, dword [ebp - 0x270]
mov eax, dword [ebp - 0xf8]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xf4]
mov dword [ecx + 0x14], eax
jmp 0x46e03b
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [eax + 0x44], ecx
mov ecx, dword [eax]
mov word [eax + 0x19], 1
test ecx, ecx
je case.default.0x46df5a
call fcn.00461471
jmp case.default.0x46df5a
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0x298]
mov eax, dword [edi + 0x38]
and dword [ebp - 0x298], 0
mov esi, dword [eax + ecx*4]
mov ecx, dword [esi]
call fcn.004642a1
xor ecx, ecx
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0x298]
mov byte [esi + 0x19], al
mov word [esi + 0x1a], cx
mov dword [esi + 0x44], ecx
mov ecx, dword [ebx + 8]
test ecx, ecx
jle 0x46e03b
mov esi, dword [ebp - 0x264]
test eax, eax
je case.default.0x46df5a
lea eax, [ecx - 1]
jmp 0x46df92
inc dword [edi + 0x74]
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov dword [ebp - 0x278], 1
mov esi, dword [eax + ecx*4]
cmp dword [esi + 0x40], 0
je 0x470e6c
mov ecx, dword [ebp - 0x264]
lea eax, [ebp - 0x278]
push eax
mov edx, esi
call fcn.00473b36
pop ecx
jmp 0x470e83
mov ecx, dword [esi]
lea edx, [ebp - 0x278]
call fcn.00464276
and dword [esi + 0x44], 0
mov word [esi + 0x1a], 0
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0x278]
test eax, eax
mov byte [esi + 0x19], al
jmp 0x46edd8
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov esi, dword [eax + ecx*4]
lea eax, [ebp - 0xec]
mov ecx, dword [ebp - 0x264]
mov edx, esi
and dword [ebp - 0xec], 0
push eax
call fcn.00473d45
jmp 0x470eee
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
cmp dword [eax + ecx*4], 0
je case.default.0x46df5a
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0xec], eax
lea eax, [ebp - 0xec]
push eax
push dword [esi]
call dword [ebx + 0x10]
pop ecx
and dword [esi + 0x44], 0
cmp dword [ebp - 0xec], 0
mov dword [ebp - 0x25c], eax
pop ecx
jne 0x470f1a
mov byte [esi + 0x19], 0
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x260], eax
movzx eax, byte [ebx + 3]
inc dword [edi + eax*4 + 0x6c]
jmp 0x470f1e
mov byte [esi + 0x19], 1
mov byte [esi + 0x1a], 0
jmp 0x4720c1
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
imul esi, dword [ebx + 8], 0x28
mov edi, dword [eax + ecx*4]
add esi, dword [ebp - 0x26c]
test byte [ebx + 3], 1
mov ecx, dword [edi]
mov dword [ebp - 0x274], ecx
je 0x470f51
mov eax, dword [ebp - 0x268]
inc dword [eax + 0x5c]
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x470f73
mov ecx, esi
call fcn.00468b47
mov ecx, dword [ebp - 0x274]
xor edx, edx
mov dword [ebp - 0x25c], eax
jmp 0x470f7d
xor edx, edx
mov eax, edx
mov dword [ebp - 0x25c], eax
test eax, eax
jne 0x46f4d8
cmp dword [edi + 0x40], edx
je 0x470fa6
push esi
mov esi, dword [ebp - 0x264]
mov edx, edi
mov ecx, esi
call fcn.004739f9
pop ecx
mov dword [ebp - 0x25c], eax
jmp 0x46fcb4
push 0x10
pop eax
test byte [ebx + 3], al
je 0x470fb3
mov eax, dword [edi + 0xc]
jmp 0x470fb5
mov eax, edx
push eax
push dword [ebx + 0xc]
mov eax, dword [esi + 0x18]
push edx
push edx
cdq
push 0x5cb9dc
push edx
mov edx, dword [esi + 4]
push eax
call fcn.0046655e
add esp, 0x1c
and dword [edi + 0x44], 0
jmp 0x46f4d2
mov eax, dword [edi + 0x38]
lea edx, [ebp - 0x1c8]
mov ecx, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [esi + 8]
mov edi, dword [esi]
mov dword [ebp - 0x1c8], eax
mov ax, word [ebx + 0xc]
mov word [ebp - 0x1c4], ax
imul eax, dword [ebx + 8], 0x28
mov byte [ebp - 0x1c2], cl
add eax, dword [ebp - 0x26c]
mov dword [ebp - 0x1c0], eax
lea eax, [ebp - 0x2e4]
push eax
push ecx
push ecx
push ecx
mov ecx, edi
call fcn.004642ea
add esp, 0x10
mov dword [ebp - 0x25c], eax
test eax, eax
jne 0x47104a
cmp dword [ebp - 0x2e4], eax
jne 0x47104a
mov ecx, edi
call fcn.00466756
mov dword [ebp - 0x25c], eax
and dword [esi + 0x44], 0
jmp 0x46f4d8
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov ebx, dword [ebp - 0x270]
mov esi, dword [eax + ecx*4]
xor eax, eax
inc eax
mov ecx, esi
mov edi, dword [esi]
mov word [ebx + 0x1c], ax
call fcn.0046b6a2
mov dword [ebp - 0x25c], eax
test eax, eax
jne 0x4724f5
cmp byte [esi + 0x19], al
jne 0x46f4d8
lea eax, [ebp - 0x2c8]
xorps xmm0, xmm0
push eax
mov edx, edi
movlpd qword [ebp - 0x2c8], xmm0
call fcn.0046c4e2
mov esi, dword [ebp - 0x264]
mov dword [ebp - 0x25c], eax
pop ecx
test eax, eax
jne 0x4724fb
mov eax, dword [ebp - 0x2c8]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0x2c4]
push 4
mov dword [ebx + 0x14], eax
pop eax
mov word [ebx + 0x1c], ax
jmp 0x470abf
mov eax, dword [edi + 0x38]
cmp dl, 0x71
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0x32c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x32c], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x328], ax
sbb al, al
and dword [ebp - 0x294], 0
mov byte [ebp - 0x326], al
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x26c]
mov dword [ebp - 0x324], eax
lea eax, [ebp - 0x294]
push eax
call fcn.0046c5df
test byte [ebx], 1
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0x294]
pop ecx
je 0x47113c
neg eax
jmp 0x47113d
inc eax
test eax, eax
jle case.default.0x46df5a
jmp 0x46df8e
mov eax, dword [esi + 4]
xor edx, edx
jmp 0x471177
cmp dword [eax + 0x28], 0xbdf20da3
jne 0x471174
mov ecx, dword [eax + 0x58]
test ecx, 0x200
je 0x471174
and cl, 0xc
cmp cl, 8
jae 0x471174
cmp dword [eax + 0x4c], 0
jl 0x471174
inc edx
mov eax, dword [eax + 0x34]
test eax, eax
jne 0x471151
mov eax, dword [ebp - 0x270]
xor ecx, ecx
inc ecx
mov word [eax + 0x1c], cx
cmp edx, ecx
jle 0x4711a0
push 6
pop eax
push 2
pop ecx
mov dword [ebp - 0x25c], eax
mov byte [edi + 0x56], cl
jmp 0x47233f
mov eax, dword [ebx + 0xc]
lea ecx, [ebp - 0x28c]
mov edx, dword [ebx + 4]
and dword [ebp - 0x28c], 0
push ecx
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0x274], eax
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00466e9d
mov edi, dword [ebp - 0x270]
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0x270]
pop ecx
push 4
pop ecx
mov word [eax + 0x1c], cx
mov ecx, dword [ebp - 0x28c]
mov eax, ecx
cdq
mov dword [edi + 0x10], eax
mov eax, edi
mov edi, dword [ebp - 0x268]
mov dword [eax + 0x14], edx
mov eax, dword [ebp - 0x25c]
test eax, eax
jne 0x47233f
test ecx, ecx
je 0x47233f
push dword [ebx + 4]
mov ebx, dword [ebp - 0x274]
mov edx, ebx
push ecx
mov ecx, esi
call fcn.0047df17
mov al, bl
pop ecx
inc al
pop ecx
mov byte [ebp - 0x299], al
jmp case.default.0x46df5a
and dword [ebp - 0xd8], 0
lea eax, [ebp - 0xd8]
mov edx, dword [ebx + 4]
xor ecx, ecx
cmp dword [ebx + 0xc], ecx
cmove eax, ecx
mov ecx, dword [esi + 0x10]
push eax
mov eax, dword [ebx + 8]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00466cab
cmp dword [ebx + 0xc], 0
pop ecx
mov dword [ebp - 0x25c], eax
je 0x47233f
mov eax, dword [ebp - 0xd8]
add dword [edi + 0x5c], eax
mov ecx, dword [ebx + 0xc]
test ecx, ecx
jle case.default.0x46df5a
mov ebx, dword [ebp - 0x26c]
imul ecx, ecx, 0x28
cdq
add dword [ecx + ebx + 0x10], eax
adc dword [ecx + ebx + 0x14], edx
jmp case.default.0x46df5a
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov ecx, dword [eax + ecx*4]
mov edx, dword [ecx + 0x40]
test edx, edx
je 0x4712b5
mov ecx, esi
call fcn.00473548
jmp case.default.0x46df5a
mov ecx, dword [ecx]
call fcn.00466d03
jmp 0x46f9ad
mov ecx, dword [ebx + 4]
xor eax, eax
and dword [ebp - 0x274], 0
shl ecx, 4
add ecx, dword [esi + 0x10]
cmp dl, 0x77
lea edx, [ebp - 0x274]
setne al
inc eax
mov ecx, dword [ecx + 4]
push eax
call fcn.00466b42
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0x274]
jmp 0x46ff09
mov edx, dword [ebx + 4]
mov eax, str.sqlite_master
push dword [ebx + 0x10]
cmp edx, 1
mov dword [ebp - 0x170], edx
mov ecx, str.sqlite_temp_master
mov dword [ebp - 0x178], esi
cmovne ecx, eax
lea eax, [edi + 0x2c]
mov dword [ebp - 0x174], eax
add edx, edx
mov eax, dword [esi + 0x10]
push ecx
push dword [eax + edx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push esi
call fcn.00455673
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x471353
mov esi, dword [ebp - 0x264]
push 7
pop eax
mov dword [ebp - 0x25c], eax
jmp 0x4713ae
mov eax, dword [ebp - 0x264]
xor ecx, ecx
push ecx
mov dword [ebp - 0x16c], ecx
lea ecx, [ebp - 0x178]
push ecx
push fcn.0048a179
push esi
push eax
mov byte [eax + 0x89], 1
call fcn.00486d82
add esp, 0x14
mov edx, esi
mov esi, dword [ebp - 0x264]
test eax, eax
mov ecx, esi
cmove eax, dword [ebp - 0x16c]
mov dword [ebp - 0x25c], eax
call fcn.00454220
mov eax, dword [ebp - 0x25c]
mov byte [esi + 0x89], 0
test eax, eax
je 0x4713bb
mov ecx, esi
call fcn.0047c515
mov eax, dword [ebp - 0x25c]
cmp eax, 7
je 0x4725b4
jmp 0x47233f
mov edx, dword [ebx + 4]
mov ecx, esi
call fcn.0047b238
jmp 0x46f9ad
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, esi
call fcn.0047c6ad
jmp 0x46e3aa
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, esi
call fcn.0047c3ae
jmp 0x46e3aa
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, esi
call fcn.0049159a
jmp 0x46e3aa
mov eax, dword [ebx + 8]
mov ecx, esi
mov dword [ebp - 0x278], eax
lea edx, [eax*4 + 4]
call fcn.004543e5
mov edx, eax
mov dword [ebp - 0xd8], edx
test edx, edx
je 0x4725b4
imul ecx, dword [ebx + 0xc], 0x28
xor edi, edi
imul esi, dword [ebx + 4], 0x28
mov eax, dword [ebp - 0x278]
add ecx, dword [ebp - 0x26c]
add esi, dword [ebp - 0x26c]
mov dword [ebp - 0x294], ecx
mov dword [ebp - 0x298], esi
test eax, eax
jle 0x471493
mov dword [ebp - 0x284], esi
mov ebx, eax
mov ecx, esi
call fcn.00468da8
mov edx, dword [ebp - 0xd8]
add esi, 0x28
mov dword [edx + edi*4], eax
inc edi
cmp edi, ebx
jl 0x471469
mov ebx, dword [ebp - 0x274]
mov esi, dword [ebp - 0x298]
mov eax, dword [ebp - 0x278]
and dword [edx + edi*4], 0
lea ecx, [ebp - 0x2d8]
mov edi, dword [ebp - 0x294]
push ecx
mov ecx, dword [ebp - 0x264]
push dword [edi + 0x10]
mov ecx, dword [ecx + 0x10]
push eax
movzx eax, byte [ebx + 3]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00467abe
mov edx, dword [ebp - 0xd8]
add esp, 0xc
mov ecx, dword [ebp - 0x264]
mov ebx, eax
call fcn.00454220
mov eax, dword [ebp - 0x2d8]
mov ecx, esi
cdq
sub dword [edi + 0x10], eax
sbb dword [edi + 0x14], edx
call fcn.00468f62
cmp dword [ebp - 0x2d8], 0
je 0x471510
test ebx, ebx
je 0x4725a8
push fcn.004541c2
push 1
push 0xffffffffffffffff
mov edx, ebx
mov ecx, esi
call fcn.004691af
add esp, 0xc
mov ecx, esi
movzx edx, byte [ebp - 0x290]
call fcn.00468a00
jmp 0x46e233
imul esi, dword [ebx + 4], 0x28
imul edi, dword [ebx + 8], 0x28
add esi, dword [ebp - 0x26c]
add edi, dword [ebp - 0x26c]
test byte [esi + 0x1c], 0x20
jne 0x47154e
mov ecx, esi
call fcn.00469031
test byte [esi + 0x1c], 0x20
je 0x4725a8
push dword [edi + 0x14]
mov ecx, dword [esi + 0x10]
push dword [edi + 0x10]
call fcn.0045b0a5
pop ecx
pop ecx
jmp 0x46e233
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0x26c]
test byte [esi + 0x1c], 0x20
je 0x4715a7
mov ecx, dword [esi + 0x10]
lea edx, [ebp - 0x310]
call fcn.0045b331
test eax, eax
je 0x4715a7
imul ecx, dword [ebx + 0xc], 0x28
push dword [ebp - 0x30c]
push dword [ebp - 0x310]
add ecx, dword [ebp - 0x26c]
call fcn.00468fd3
pop ecx
pop ecx
jmp 0x4720c1
mov ecx, esi
call fcn.00468f62
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x260], eax
jmp 0x4720c1
imul esi, dword [ebx + 4], 0x28
imul edi, dword [ebx + 0xc], 0x28
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x274], eax
add esi, dword [ebp - 0x26c]
add edi, dword [ebp - 0x26c]
test byte [esi + 0x1c], 0x20
jne 0x4715f7
mov ecx, esi
call fcn.00469031
test byte [esi + 0x1c], 0x20
je 0x4725a8
mov eax, dword [ebp - 0x274]
test eax, eax
je 0x47161d
push dword [edi + 0x14]
mov ecx, dword [esi + 0x10]
mov edx, eax
push dword [edi + 0x10]
call fcn.0045b36e
pop ecx
pop ecx
test eax, eax
jne 0x4702ea
mov eax, dword [ebp - 0x274]
test eax, eax
js 0x46e233
jmp 0x47154e
imul edi, dword [ebx + 0xc], 0x28
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0x274], edx
add edi, dword [ebp - 0x26c]
cmp byte [ebx + 3], 0
je 0x471668
mov eax, dword [ebp - 0x268]
mov ecx, dword [edx + 0x14]
mov eax, dword [eax + 0xb0]
test eax, eax
je 0x471668
cmp dword [eax + 0x18], ecx
je 0x471660
mov eax, dword [eax + 4]
test eax, eax
jne 0x471654
test eax, eax
jne 0x470abf
mov eax, dword [ebp - 0x268]
mov eax, dword [eax + 0xb8]
cmp eax, dword [esi + 0x80]
jl 0x4716a3
mov edi, dword [ebp - 0x268]
push str.too_many_levels_of_trigger_recursion
push esi
mov dword [ebp - 0x25c], 1
lea eax, [edi + 0x2c]
push eax
call fcn.0045457c
add esp, 0xc
jmp case.default.0x46df5a
test byte [edi + 0x1c], 0x40
jne 0x47176f
mov ebx, dword [edx + 8]
add ebx, dword [edx + 0xc]
mov eax, dword [edx + 0x10]
imul ecx, ebx, 0xa
add ecx, 0x12
add ecx, dword [edx + 0xc]
lea edx, [eax + ecx*4]
mov ecx, esi
call fcn.004543c5
mov esi, eax
test esi, esi
je 0x4725a8
mov ecx, edi
call fcn.00468d20
mov edx, dword [ebp - 0x274]
mov dword [edi + 0x10], esi
push 0x40
pop eax
mov word [edi + 0x1c], ax
mov edi, dword [ebp - 0x268]
mov dword [esi], edi
mov dword [esi + 0x3c], ebx
mov eax, dword [edx + 0xc]
mov dword [esi + 0x40], eax
mov eax, dword [ebp - 0x260]
mov dword [esi + 0x2c], eax
mov eax, dword [edi + 8]
mov dword [esi + 0xc], eax
mov eax, dword [edi + 0x1c]
mov dword [esi + 0x34], eax
mov eax, dword [edi + 0x38]
mov dword [esi + 0x14], eax
mov eax, dword [edi + 0x24]
mov dword [esi + 0x28], eax
mov eax, dword [edi + 4]
mov dword [esi + 8], eax
mov eax, dword [edi + 0x20]
mov dword [esi + 0x30], eax
mov eax, dword [edx + 0x14]
imul ecx, ebx, 0x28
mov dword [esi + 0x18], eax
mov eax, dword [edi + 0xc8]
mov dword [esi + 0x10], eax
mov eax, dword [edi + 0xc4]
add ecx, 0x48
mov dword [esi + 0x38], eax
add ecx, esi
lea eax, [esi + 0x48]
cmp eax, ecx
je 0x471778
mov ebx, dword [ebp - 0x264]
mov edx, 0x80
mov word [eax + 0x1c], dx
mov dword [eax], ebx
add eax, 0x28
cmp eax, ecx
jne 0x47175a
mov edx, dword [ebp - 0x274]
jmp 0x471778
mov esi, dword [edi + 0x10]
mov edi, dword [ebp - 0x268]
inc dword [edi + 0xb8]
lea ecx, [esi + 0x20]
mov eax, dword [edi + 0xb0]
xor ebx, ebx
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x2a4]
mov dword [ecx], eax
mov eax, dword [ebp - 0x2a0]
mov dword [ecx + 4], eax
mov eax, dword [edi + 0x5c]
mov dword [esi + 0x44], eax
mov dword [edi + 8], ecx
mov dword [edi + 0x5c], ebx
mov dword [edi + 0xb0], esi
mov eax, dword [esi + 0x3c]
mov dword [edi + 0x1c], eax
movzx eax, word [esi + 0x40]
mov dword [edi + 0x24], eax
mov eax, dword [edi + 0x1c]
inc eax
or dword [ebp - 0x260], 0xffffffff
imul eax, eax, 0x28
mov dword [ebp - 0x26c], ecx
add ecx, eax
mov dword [edi + 0x38], ecx
mov eax, dword [edx]
mov dword [ebp - 0x2bc], eax
mov dword [edi + 4], eax
mov eax, dword [edx + 4]
mov dword [edi + 0x20], eax
mov eax, dword [edi + 0x24]
lea ecx, [ecx + eax*4]
mov dword [edi + 0xc8], ecx
mov eax, dword [edx + 0x10]
push eax
push ebx
push ecx
mov dword [edi + 0xc4], eax
call fcn.005533c0
add esp, 0xc
jmp 0x46e03b
mov esi, dword [edi + 0xb0]
mov eax, 0x1000
push eax
imul ecx, dword [esi + 0x2c], 0x14
mov eax, dword [esi + 8]
mov eax, dword [ecx + eax + 4]
add eax, dword [ebx + 4]
imul edx, eax, 0x28
add edx, dword [esi + 0xc]
jmp 0x46e2a8
test dword [esi + 0x18], 0x1000000
mov eax, dword [ebx + 8]
cdq
je 0x47184e
add dword [esi + 0x1f8], eax
adc dword [esi + 0x1fc], edx
jmp case.default.0x46df5a
cmp dword [ebx + 4], 0
je 0x471865
add dword [esi + 0x1f0], eax
adc dword [esi + 0x1f4], edx
jmp case.default.0x46df5a
add dword [edi + 0x90], eax
adc dword [edi + 0x94], edx
jmp case.default.0x46df5a
cmp dword [ebx + 4], 0
je 0x47189f
mov eax, dword [esi + 0x1f0]
or eax, dword [esi + 0x1f4]
jne case.default.0x46df5a
mov eax, dword [esi + 0x1f8]
or eax, dword [esi + 0x1fc]
jmp 0x46f1aa
mov eax, dword [edi + 0x90]
or eax, dword [edi + 0x94]
jmp 0x471888
mov eax, dword [edi + 0xb0]
test eax, eax
jne 0x471900
imul edi, dword [ebx + 4], 0x28
add edi, dword [ebp - 0x26c]
mov ecx, edi
call fcn.00468eab
imul esi, dword [ebx + 8], 0x28
add esi, dword [ebp - 0x26c]
mov ecx, esi
call fcn.00468eab
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
cmp dword [edi + 0x14], ecx
jg 0x46e233
jl 0x4718f3
cmp dword [edi + 0x10], eax
jae 0x46e233
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], ecx
jmp 0x46e233
mov eax, ecx
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x4718fe
imul edi, dword [ebx + 4], 0x28
add edi, dword [eax + 0xc]
jmp 0x4718c1
imul eax, dword [ebx + 4], 0x28
mov ecx, dword [ebp - 0x26c]
cmp dword [eax + ecx + 0x14], 0
jl case.default.0x46df5a
jg 0x46df8e
cmp dword [eax + ecx + 0x10], 0
jbe case.default.0x46df5a
jmp 0x46df8e
imul ecx, dword [ebx + 4], 0x28
mov eax, dword [ebx + 0xc]
cdq
add ecx, dword [ebp - 0x26c]
add dword [ecx + 0x10], eax
adc dword [ecx + 0x14], edx
xor eax, eax
cmp dword [ecx + 0x14], eax
jg case.default.0x46df5a
jl 0x46df8e
cmp dword [ecx + 0x10], eax
jae case.default.0x46df5a
jmp 0x46df8e
imul ecx, dword [ebx + 4], 0x28
mov eax, dword [ebx + 0xc]
cdq
add ecx, dword [ebp - 0x26c]
add dword [ecx + 0x10], eax
mov eax, dword [ecx + 0x10]
adc dword [ecx + 0x14], edx
or eax, dword [ecx + 0x14]
jmp 0x46f1aa
imul eax, dword [ebx + 8], 0x28
xor ecx, ecx
movzx edx, byte [ebx + 3]
mov esi, dword [edi + 0xc]
add eax, dword [ebp - 0x26c]
test edx, edx
jle 0x4719af
mov dword [esi + ecx*4], eax
add eax, 0x28
inc ecx
cmp ecx, edx
jl 0x4719a4
mov eax, dword [ebx + 0x10]
xor ecx, ecx
mov dword [ebp - 0x210], eax
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x26c]
mov dword [ebp - 0x1e0], eax
inc dword [eax + 0x18]
xor eax, eax
inc eax
mov dword [ebp - 0x204], ecx
mov dword [ebp - 0x1e4], ecx
mov dword [ebp - 0x1e8], ecx
mov dword [ebp - 0x1d0], ecx
mov dword [ebp - 0x1dc], ecx
mov byte [ebp - 0x1cc], cl
mov ecx, dword [ebp - 0x210]
mov word [ebp - 0x1ec], ax
mov eax, dword [ebp - 0x264]
mov dword [ebp - 0x208], eax
test byte [ecx + 2], 0x20
je 0x471a1c
mov eax, dword [ebx - 4]
mov dword [ebp - 0x1dc], eax
push esi
push edx
lea eax, [ebp - 0x210]
push eax
call dword [ecx + 0x10]
add esp, 0xc
cmp dword [ebp - 0x1d0], 0
je 0x471a68
mov dl, 1
lea ecx, [ebp - 0x208]
call fcn.004693bd
mov esi, dword [ebp - 0x264]
push eax
push 0x5cc7a4
lea eax, [edi + 0x2c]
push esi
push eax
call fcn.0045457c
mov eax, dword [ebp - 0x1d0]
add esp, 0x10
mov dword [ebp - 0x25c], eax
jmp 0x471a6e
mov esi, dword [ebp - 0x264]
cmp byte [ebp - 0x1cc], 0
je 0x471a92
mov eax, dword [ebx - 0x10]
test eax, eax
je 0x471a92
imul ecx, eax, 0x28
push 0
push 1
add ecx, dword [ebp - 0x26c]
call fcn.00468fd3
pop ecx
pop ecx
lea ecx, [ebp - 0x208]
call fcn.00468d20
jmp case.default.0x46df5a
imul esi, dword [ebx + 4], 0x28
mov edx, dword [ebx + 0x10]
add esi, dword [ebp - 0x26c]
mov ecx, esi
call fcn.00468c66
mov dword [ebp - 0x25c], eax
test eax, eax
je 0x471ae1
mov dl, 1
mov ecx, esi
call fcn.004693bd
push eax
push 0x5cc7a4
push dword [ebp - 0x264]
lea eax, [edi + 0x2c]
push eax
call fcn.0045457c
add esp, 0x10
movzx edx, byte [ebp - 0x290]
mov ecx, esi
call fcn.00468a00
mov ecx, esi
call fcn.00469099
jmp 0x46ea4b
mov edx, dword [ebx + 4]
lea eax, [ebp - 0xcc]
and dword [ebp - 0xd4], 0
mov ecx, esi
or dword [ebp - 0xcc], 0xffffffff
or dword [ebp - 0xd0], 0xffffffff
push eax
lea eax, [ebp - 0xd0]
push eax
push dword [ebx + 8]
call fcn.0049e625
add esp, 0xc
mov dword [ebp - 0x25c], eax
cmp eax, 5
jne 0x471b4a
and dword [ebp - 0x25c], 0
mov dword [ebp - 0xd4], 1
imul esi, dword [ebx + 0xc], 0x28
add esi, dword [ebp - 0x26c]
xor edi, edi
mov eax, dword [ebp + edi*4 - 0xd4]
mov ecx, esi
cdq
push edx
push eax
call fcn.00468fd3
inc edi
add esi, 0x28
pop ecx
pop ecx
cmp edi, 3
jl 0x471b56
jmp 0x46e233
mov eax, dword [ebp - 0x264]
mov ecx, dword [ebx + 4]
mov esi, dword [ebx + 0xc]
add ecx, ecx
cmp esi, 0xffffffff
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 4]
mov dword [ebp - 0x274], eax
mov eax, dword [eax + 4]
mov ecx, dword [eax]
mov dword [ebp - 0x288], ecx
movzx edi, byte [ecx + 5]
cmove esi, edi
call fcn.0045eeeb
test eax, eax
cmove esi, edi
cmp byte [ecx + 0xf], 0
je 0x471bbe
mov ecx, 0x5cb9dc
jmp 0x471bc4
mov ecx, dword [ecx + 0xa8]
cmp esi, 5
jne 0x471be5
call fcn.0045603a
mov ecx, dword [ebp - 0x288]
test eax, eax
je 0x471be1
call fcn.0045efb0
test eax, eax
jne 0x471beb
mov esi, edi
jmp 0x471beb
mov ecx, dword [ebp - 0x288]
cmp esi, edi
je 0x471cb6
push 5
pop edx
cmp edi, edx
je 0x471c02
cmp esi, edx
jne 0x471cb6
mov eax, dword [ebp - 0x264]
cmp byte [eax + 0x3e], 0
je 0x471c79
cmp dword [eax + 0x90], 1
jg 0x471c79
cmp edi, edx
jne 0x471c3d
call fcn.0045f07e
mov dword [ebp - 0x25c], eax
test eax, eax
jne 0x471cc0
mov ecx, dword [ebp - 0x288]
mov edx, esi
call fcn.0045ee31
jmp 0x471c5d
push 4
pop eax
cmp edi, eax
jne 0x471c54
mov ecx, dword [ebp - 0x288]
push 2
pop eax
mov edx, eax
call fcn.0045ee31
cmp dword [ebp - 0x25c], 0
jne 0x471cc0
mov ecx, dword [ebp - 0x274]
xor edx, edx
cmp esi, 5
sete dl
inc edx
call fcn.00467f49
mov dword [ebp - 0x25c], eax
jmp 0x471cbc
mov edi, dword [ebp - 0x268]
cmp esi, edx
mov esi, dword [ebp - 0x264]
mov eax, str.into
mov ecx, str.out_of
mov dword [ebp - 0x25c], 1
cmovne eax, ecx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
lea eax, [edi + 0x2c]
push esi
push eax
call fcn.0045457c
add esp, 0x10
jmp case.default.0x46df5a
mov eax, dword [ebp - 0x25c]
test eax, eax
je 0x471cc2
mov esi, edi
mov ecx, dword [ebp - 0x288]
mov edx, esi
call fcn.0045ee31
imul ebx, dword [ebx + 8], 0x28
mov ecx, 0xa02
add ebx, dword [ebp - 0x26c]
mov dword [ebp - 0x270], ebx
mov word [ebx + 0x1c], cx
mov ecx, eax
call fcn.00487870
mov ecx, eax
mov dword [ebx + 4], eax
call fcn.0045603a
mov dword [ebx + 0x18], eax
mov ecx, ebx
mov byte [ebx + 0x1e], 1
jmp 0x471512
lea ecx, [edi + 0x2c]
mov edx, esi
call fcn.00493069
jmp 0x46f9ad
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
call fcn.00463547
mov dword [ebp - 0x25c], eax
cmp eax, 0x65
jne 0x47233f
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x260], eax
xor eax, eax
jmp 0x46f9ad
cmp dword [ebx + 4], 0
jne 0x471d59
mov ecx, esi
call fcn.0046c696
jmp case.default.0x46df5a
or dword [edi + 0x58], 0x20
jmp case.default.0x46df5a
mov al, byte [ebx + 0xc]
mov byte [ebp - 0x2f0], al
test al, al
jne 0x471d7d
mov eax, 0x4000
test dword [esi + 0x18], eax
jne case.default.0x46df5a
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x10]
add eax, eax
push dword [ebp - 0x2f0]
mov edx, dword [ebx + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00467e9c
mov dword [ebp - 0x25c], eax
pop ecx
cmp al, 6
jne 0x47233f
push dword [ebx + 0x10]
push str.database_table_is_locked:__s
jmp 0x471ca4
mov esi, dword [ebx + 0x10]
mov edx, esi
mov ecx, dword [ebp - 0x264]
call fcn.00493ffd
mov dword [ebp - 0x25c], eax
test esi, esi
je 0x46f4de
mov edx, dword [esi + 8]
mov ecx, edi
call fcn.0046c70b
jmp 0x46e03b
mov edx, dword [ebx + 4]
lea eax, [edi + 0x2c]
push eax
push dword [ebx + 0x10]
mov ecx, esi
call fcn.00493c9e
pop ecx
pop ecx
jmp 0x46f9ad
mov eax, dword [edi + 0x58]
push 8
pop ecx
and eax, 0xfffffffb
or eax, ecx
mov ecx, esi
mov dword [edi + 0x58], eax
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
call fcn.00493eb4
and dword [edi + 0x58], 0xfffffff3
pop ecx
mov dword [ebp - 0x25c], eax
jmp 0x47233f
mov eax, dword [ebx + 0x10]
and dword [ebp - 0x154], 0
mov esi, dword [eax + 8]
lea eax, [ebp - 0x154]
push eax
push esi
mov edi, dword [esi]
call dword [edi + 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x268]
mov edx, esi
mov dword [ebp - 0x25c], eax
call fcn.0046c70b
mov eax, dword [ebp - 0x25c]
test eax, eax
jne 0x46f4d8
mov eax, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x268]
mov dword [eax], esi
xor eax, eax
mov edx, dword [ebx + 4]
push eax
push 0xffffffffffffffff
push eax
call fcn.0046dbe6
mov esi, dword [ebp - 0x264]
add esp, 0xc
test eax, eax
je 0x471e97
mov ecx, dword [ebp - 0x154]
mov dword [eax + 0x24], ecx
jmp 0x470abf
push dword [ebp - 0x154]
mov byte [esi + 0x40], 1
call dword [edi + 0x1c]
pop ecx
jmp 0x470abf
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
imul edx, dword [ebx + 0xc], 0x28
mov edi, dword [edi + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x298], eax
add edx, dword [ebp - 0x26c]
mov esi, dword [eax + 0x24]
mov ecx, dword [edx + 0x38]
mov eax, dword [esi]
mov dword [ebp - 0x284], eax
mov eax, dword [eax]
mov dword [ebp - 0xd8], eax
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x274], eax
xor eax, eax
test ecx, ecx
jle 0x471ef9
add edx, 0x50
mov dword [edi + eax*4], edx
inc eax
add edx, 0x28
cmp eax, ecx
jl 0x471eee
mov edx, dword [ebp - 0x268]
push edi
mov edi, dword [ebp - 0xd8]
push ecx
mov eax, dword [edx + 0x58]
and eax, 0xfffffff7
or eax, 4
mov dword [edx + 0x58], eax
push dword [ebx + 0x10]
push dword [ebp - 0x274]
push esi
call dword [edi + 0x20]
mov edx, dword [ebp - 0x284]
add esp, 0x14
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0x268]
mov ecx, eax
and dword [eax + 0x58], 0xfffffff3
call fcn.0046c70b
cmp dword [ebp - 0x25c], 0
jne 0x471f5c
push esi
call dword [edi + 0x28]
pop ecx
test eax, eax
je 0x471f5c
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x260], eax
mov eax, dword [ebp - 0x298]
mov byte [eax + 0x19], 0
jmp 0x46e233
mov eax, dword [edi + 0x38]
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
imul eax, dword [ebx + 0xc], 0x28
mov dword [ebp - 0xd8], ecx
add eax, dword [ebp - 0x26c]
cmp byte [ecx + 0x19], 0
mov dword [ebp - 0x274], eax
je 0x471f97
mov ecx, eax
jmp 0x46f0de
mov eax, dword [ecx + 0x24]
push 0x48
push 0
mov edi, dword [eax]
lea eax, [ebp - 0x150]
push eax
mov esi, dword [edi]
call fcn.005533c0
mov edx, dword [ebp - 0x274]
lea ecx, [ebp - 0x148]
add esp, 0xc
call fcn.00469189
mov eax, dword [ebp - 0x12c]
mov ecx, 0xbe01
push dword [ebx + 8]
and eax, ecx
or eax, 1
mov word [ebp - 0x12c], ax
lea eax, [ebp - 0x150]
push eax
mov eax, dword [ebp - 0xd8]
push dword [eax + 0x24]
call dword [esi + 0x2c]
add esp, 0xc
mov edx, edi
mov edi, dword [ebp - 0x268]
mov ebx, eax
mov ecx, edi
call fcn.0046c70b
cmp dword [ebp - 0x110], 0
lea ecx, [ebp - 0x148]
movzx edx, byte [ebp - 0x290]
cmovne ebx, dword [ebp - 0x110]
mov dword [ebp - 0x25c], ebx
call fcn.00468a00
mov ecx, dword [ebp - 0x274]
lea edx, [ebp - 0x148]
call fcn.00469189
mov ecx, dword [ebp - 0x274]
jmp 0x471af1
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov edi, dword [eax + ecx*4]
cmp byte [edi + 0x19], 0
jne 0x470abf
mov eax, dword [edi + 0x24]
mov edx, dword [ebp - 0x268]
mov esi, dword [eax]
mov eax, dword [edx + 0x58]
and eax, 0xfffffff7
or eax, 4
mov ecx, dword [esi]
mov dword [edx + 0x58], eax
push dword [edi + 0x24]
mov dword [ebp - 0x274], ecx
call dword [ecx + 0x24]
mov dword [ebp - 0x25c], eax
mov edx, esi
mov eax, dword [ebp - 0x268]
pop ecx
mov ecx, eax
and dword [eax + 0x58], 0xfffffff3
call fcn.0046c70b
cmp dword [ebp - 0x25c], 0
jne 0x4720b1
mov eax, dword [ebp - 0x274]
push dword [edi + 0x24]
call dword [eax + 0x28]
pop ecx
test eax, eax
jne 0x4720bb
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x260], eax
mov edi, dword [ebp - 0x268]
mov esi, dword [ebp - 0x264]
cmp dword [esi + 0xe8], 0
jne 0x472584
mov ecx, dword [esi + 0x11c]
test ecx, ecx
je case.default.0x46df5a
mov eax, dword [ebp - 0x2a8]
cmp eax, dword [ebp - 0x2b0]
jb case.default.0x46df5a
mov ebx, dword [esi + 0x124]
xor edx, edx
div ebx
push dword [esi + 0x120]
sub ebx, edx
add ebx, dword [ebp - 0x2a8]
mov dword [ebp - 0x2b0], ebx
call ecx
mov edx, dword [ebp - 0x260]
pop ecx
test eax, eax
jne 0x472579
mov eax, dword [ebp - 0x25c]
jmp 0x472345
imul esi, dword [ebx + 4], 0x28
xor edx, edx
mov eax, dword [ebx + 0x10]
inc edx
add esi, dword [ebp - 0x26c]
mov edi, dword [eax + 8]
mov ecx, esi
call fcn.00468a00
mov dword [ebp - 0x25c], eax
test eax, eax
jne 0x46f4d8
push dword [esi + 4]
mov eax, dword [edi]
push edi
call dword [eax + 0x4c]
pop ecx
pop ecx
mov edx, edi
mov dword [ebp - 0x25c], eax
mov edi, dword [ebp - 0x268]
mov ecx, edi
call fcn.0046c70b
and dword [edi + 0x58], 0xffffffdf
jmp 0x46e03b
mov eax, dword [ebx + 0x10]
mov esi, dword [ebx + 8]
mov edi, dword [eax + 8]
mov eax, dword [edi]
mov dword [ebp - 0x274], eax
cmp dword [eax + 0x34], 0
je 0x46e233
mov eax, dword [ebp - 0x264]
xor ecx, ecx
mov al, byte [eax + 0x44]
mov byte [ebp - 0x279], al
mov eax, dword [ebp - 0x268]
mov edx, dword [eax + 0xc]
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x26c]
test esi, esi
jle 0x4721cd
mov dword [edx + ecx*4], eax
add eax, 0x28
inc ecx
cmp ecx, esi
jl 0x4721c2
mov ecx, dword [ebp - 0x264]
mov al, byte [ebx + 3]
mov byte [ecx + 0x44], al
lea eax, [ebp - 0x100]
push eax
mov eax, dword [ebp - 0x274]
push edx
push esi
push edi
call dword [eax + 0x34]
mov esi, dword [ebp - 0x264]
add esp, 0x10
mov dword [ebp - 0x25c], eax
mov edx, edi
mov al, byte [ebp - 0x279]
mov edi, dword [ebp - 0x268]
mov ecx, edi
mov byte [esi + 0x44], al
call fcn.0046c70b
mov eax, dword [ebp - 0x25c]
test eax, eax
jne 0x472240
cmp dword [ebx + 4], eax
je 0x472240
mov ecx, dword [ebp - 0x100]
mov edx, dword [ebp - 0xfc]
mov dword [ebp - 0x2a4], ecx
mov dword [ebp - 0x2a0], edx
mov dword [esi + 0x20], ecx
mov dword [esi + 0x24], edx
cmp al, 0x13
jne 0x472275
mov eax, dword [ebx + 0x10]
cmp byte [eax + 0x10], 0
je 0x47226f
mov al, byte [ebx + 3]
push 4
pop ecx
cmp al, cl
je 0x471d40
cmp al, 5
jne 0x472264
push 2
pop eax
jmp 0x472267
movzx eax, al
mov byte [edi + 0x56], al
jmp case.default.0x46df5a
mov eax, dword [ebp - 0x25c]
inc dword [edi + 0x5c]
jmp 0x47233f
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 4]
mov ecx, dword [ebp - 0x270]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x2c]
and dword [ecx + 0x14], 0
mov dword [ecx + 0x10], eax
jmp case.default.0x46df5a
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [esi + 0x10]
add ecx, ecx
mov esi, dword [eax + ecx*8 + 4]
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x4722c1
mov eax, dword [esi + 4]
mov edx, dword [eax + 0x2c]
cmp edx, ecx
cmovb edx, ecx
mov ecx, esi
call fcn.00462aaa
mov ecx, dword [ebp - 0x270]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp 0x46e03b
mov eax, dword [ebx + 8]
test eax, eax
je 0x4722e8
dec eax
mov dword [ebp - 0x260], eax
cmp dword [esi + 0xa4], 0
je case.default.0x46df5a
mov eax, 0x800
test dword [edi + 0x58], eax
jne case.default.0x46df5a
mov edx, dword [ebx + 0x10]
test edx, edx
jne 0x47230c
mov edx, dword [edi + 0xa8]
test edx, edx
je case.default.0x46df5a
mov ecx, edi
call fcn.0046d907
mov esi, eax
mov eax, dword [ebp - 0x264]
push esi
push dword [eax + 0xa8]
call dword [eax + 0xa4]
pop ecx
pop ecx
mov edx, esi
mov esi, dword [ebp - 0x264]
mov ecx, esi
call fcn.00454220
mov eax, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x260]
inc edx
mov dword [ebp - 0x260], edx
test eax, eax
jne 0x4725dd
mov eax, edx
jmp 0x46deed
mov ecx, dword [ebx + 4]
mov dword [edi + 0x50], ecx
mov al, byte [ebx + 8]
mov byte [edi + 0x56], al
mov eax, dword [ebp - 0x260]
mov dword [edi + 0x4c], eax
test ecx, ecx
je 0x4723fa
mov al, byte [ebx + 3]
test al, al
je 0x47238b
movzx eax, al
mov eax, dword [eax*4 + 0x5c99f4]
jmp 0x47238d
xor eax, eax
test eax, eax
je 0x4723b4
cmp dword [ebx + 0x10], 0
je 0x4723c4
push dword [ebx + 0x10]
lea esi, [edi + 0x2c]
push eax
push str._s_constraint_failed:__s
push dword [ebp - 0x264]
push esi
call fcn.0045457c
add esp, 0x14
jmp 0x4723dc
cmp dword [ebx + 0x10], 0
je 0x4723c4
push dword [ebx + 0x10]
push 0x5cc7a4
jmp 0x4723ca
push eax
push str._s_constraint_failed
push dword [ebp - 0x264]
lea esi, [edi + 0x2c]
push esi
call fcn.0045457c
add esp, 0x10
push dword [esi]
push dword [edi + 0xa8]
push dword [ebp - 0x260]
push str.abort_at__d_in___s_:__s
push dword [ebx + 4]
call fcn.0045584d
add esp, 0x14
mov ecx, edi
call fcn.0046b189
push 5
pop ecx
cmp eax, ecx
je 0x47244d
cmp dword [edi + 0x50], 0
push 0x65
pop esi
push 1
pop eax
cmovne esi, eax
jmp 0x47262f
push 9
pop eax
mov dword [ebp - 0x25c], eax
jmp 0x4725d7
lea ecx, [ebp - 0x250]
call fcn.00468d20
mov edi, dword [ebp - 0x268]
jmp 0x4725b4
mov eax, dword [ebp - 0x260]
mov edi, ebx
mov dword [edi + 0x4c], eax
mov byte [esi + 0x3e], 0
mov esi, ecx
mov dword [edi + 0x50], ecx
jmp 0x47262f
test esi, esi
je 0x47248a
mov esi, dword [ebp - 0x264]
mov edx, 0x204
mov ecx, esi
call fcn.0049de49
mov byte [esi + 0x3e], 1
mov ecx, esi
call fcn.0049dae9
xor esi, esi
inc esi
cmp dword [edi + 0x50], 0
push 0x65
pop eax
cmove esi, eax
jmp 0x47262f
xor edx, edx
mov ecx, edi
inc edx
call fcn.0046b126
mov esi, eax
test esi, esi
jne 0x47262f
mov esi, dword [ebp - 0x264]
mov ecx, edi
mov ebx, dword [ebp - 0x274]
mov byte [esi + 0x3e], bl
call fcn.0046b189
push 5
pop ecx
cmp eax, ecx
jne 0x472471
mov eax, dword [ebp - 0x260]
mov dword [edi + 0x4c], eax
xor eax, eax
inc eax
sub al, bl
mov byte [esi + 0x3e], al
jmp 0x47244d
push 8
jmp 0x46ec15
mov eax, dword [ebp - 0x260]
mov dword [edi + 0x4c], eax
jmp 0x47244d
mov ecx, 0x11698
call fcn.0049f402
jmp 0x4724f5
push 0xd
pop eax
mov esi, dword [ebp - 0x264]
cmp byte [esi + 0x40], 0
push 7
pop ecx
cmovne eax, ecx
mov dword [ebp - 0x25c], eax
cmp eax, 0xc0a
je 0x4725d1
cmp eax, 0x204
je 0x47252b
mov edx, str.unknown_error
mov ecx, eax
call fcn.0049df1f
jmp 0x472530
mov eax, str.abort_due_to_ROLLBACK
mov edi, dword [ebp - 0x268]
push eax
push 0x5cc7a4
lea eax, [edi + 0x2c]
push esi
push eax
call fcn.0045457c
mov eax, dword [ebp - 0x25c]
add esp, 0x10
jmp 0x4725d7
mov edi, dword [ebp - 0x268]
jmp 0x470c62
mov edi, dword [ebp - 0x268]
mov esi, eax
jmp 0x470c62
mov edi, dword [ebp - 0x268]
mov esi, ecx
jmp 0x470c62
push 9
pop eax
mov dword [ebp - 0x25c], eax
jmp 0x4725dd
push 9
pop eax
mov edx, str.unknown_error
mov dword [ebp - 0x25c], eax
mov ecx, eax
mov dword [edi + 0x50], eax
call fcn.0049df1f
jmp 0x472536
mov edi, dword [ebp - 0x268]
mov esi, eax
jmp 0x4725b4
mov edi, dword [ebp - 0x268]
mov esi, dword [ebp - 0x264]
push str.out_of_memory
lea eax, [edi + 0x2c]
mov byte [esi + 0x40], 1
push esi
push eax
call fcn.0045457c
add esp, 0xc
push 7
jmp 0x47241c
mov edi, dword [ebp - 0x268]
mov edx, dword [ebp - 0x260]
push dword [edi + 0x2c]
mov dword [edi + 0x50], eax
push dword [edi + 0xa8]
push edx
push str.statement_aborts_at__d:___s___s
push eax
call fcn.0045584d
add esp, 0x14
mov ecx, edi
call fcn.0046b189
cmp dword [ebp - 0x25c], 0xc0a
jne 0x47260f
mov byte [esi + 0x40], 1
mov al, byte [ebp - 0x299]
xor esi, esi
inc esi
test al, al
je 0x47262f
mov ecx, dword [ebp - 0x264]
movzx edx, al
dec edx
call fcn.0047c4e8
jmp 0x47262f
mov edi, ebx
mov eax, dword [ebp - 0x264]
mov ecx, dword [ebp - 0x2a4]
mov dword [eax + 0x20], ecx
mov ecx, dword [ebp - 0x2a0]
mov dword [eax + 0x24], ecx
mov ecx, edi
mov eax, dword [ebp - 0x2a8]
add dword [edi + 0x7c], eax
call fcn.0046a245
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0054d1e7
mov esp, ebp
pop ebp
ret