Function at 0x42444b
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x100
mov eax, dword [ebp + 8]
mov edx, dword [eax + 4]
push ebx
push esi
mov esi, dword [eax]
mov dword [ebp - 0xf4], edx
mov edx, dword [esi + 8]
mov edx, dword [edx + 0xc]
mov dl, byte [edx + 0x49]
xor ecx, ecx
cmp dword [eax + 0x5c], 7
mov byte [ebp - 0xdd], dl
mov edx, dword [eax + 8]
push edi
mov dword [ebp - 0x10], ecx
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], esi
mov dword [ebp - 0xe4], edx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0xf0], ecx
mov dword [ebp - 0xf8], ecx
je 0x424772
mov dword [eax + 0x5c], ecx
mov dword [eax + 0x14], ecx
mov dword [esi + 0x1a0], ecx
mov ecx, dword [esi + 0xe0]
test ecx, ecx
jne 0x428980
mov eax, dword [eax + 0x58]
mov dword [ebp - 0x10], eax
cmp byte [esi + 0x1e], 0
jne 0x424772
mov ebx, dword [ebp - 0x10]
mov edi, dword [ebp - 0xe4]
imul ebx, ebx, 0x14
add ebx, dword [ebp - 0xf4]
test byte [ebx + 2], 2
mov dword [ebp - 0x18], ebx
je 0x4244fe
mov esi, dword [ebx + 8]
imul esi, esi, 0x28
add esi, edi
mov eax, esi
mov dword [ebp - 0x14], esi
call fcn.0042160c
mov word [esi + 0x1c], 4
movzx eax, byte [ebx]
mov esi, dword [ebp - 0x14]
dec eax
cmp eax, 0x8f
ja case.0x424517.17
movzx eax, byte [eax + 0x428b3b]
jmp dword [eax*4 + 0x42899f]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0xe0]
test eax, eax
jne 0x428980
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0x10], ebx
jmp case.0x424517.17
mov ecx, dword [ebx + 4]
mov eax, dword [ebp - 0x10]
imul ecx, ecx, 0x28
cdq
add ecx, edi
mov word [ecx + 0x1c], 4
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x10], eax
jmp case.0x424517.17
mov eax, dword [ebx + 4]
imul eax, eax, 0x28
mov eax, dword [eax + edi + 0x10]
jmp 0x424557
mov ebx, dword [ebx + 4]
imul ebx, ebx, 0x28
add ebx, edi
mov eax, dword [ebx + 0x10]
mov word [ebx + 0x1c], 4
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0x10]
cdq
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
mov eax, dword [ebp - 0xdc]
jmp 0x424557
mov eax, dword [ebx + 0xc]
imul eax, eax, 0x28
test byte [eax + edi + 0x1c], 1
je case.0x424517.17
cmp dword [ebx + 4], 0
mov esi, dword [ebp + 8]
jne 0x4287fd
lea ecx, [esi + 0xd0]
mov eax, dword [ecx]
test eax, eax
je 0x4287fd
mov edx, dword [eax + 0x3c]
dec dword [esi + 0xd8]
mov dword [ecx], edx
mov ecx, dword [esi + 0x6c]
mov edx, dword [ebp - 0xc]
add dword [edx + 0x40], ecx
mov dword [edx + 0x3c], ecx
call fcn.0042298d
cmp dword [ebx + 8], 4
mov dword [ebp - 0x10], eax
jne 0x4245f5
mov ecx, dword [esi + 4]
imul eax, eax, 0x14
mov eax, dword [eax + ecx + 8]
dec eax
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0xf4], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0xe4], eax
jmp case.0x424517.17
mov eax, dword [ebx + 4]
cdq
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
jmp case.0x424517.17
mov ebx, dword [ebx + 0x10]
mov eax, dword [ebx]
mov dword [esi + 0x10], eax
mov eax, dword [ebx + 4]
mov dword [esi + 0x14], eax
jmp case.0x424517.17
mov ecx, dword [ebx + 0x10]
mov byte [ebx], 9
call fcn.00415736
mov ecx, dword [ebp - 0xc]
mov dword [ebx + 4], eax
cmp eax, dword [ecx + 0x48]
jg 0x424e51
mov esi, dword [ebp - 0x14]
mov word [esi + 0x1c], 0xa02
mov eax, dword [ebx + 0x10]
mov dword [esi + 4], eax
mov eax, dword [ebx + 4]
mov dword [esi + 0x18], eax
mov al, byte [ebp - 0xdd]
mov byte [esi + 0x1f], al
jmp case.0x424517.17
mov word [esi + 0x1c], 1
jmp case.0x424517.17
mov ecx, dword [ebx + 4]
push 0
push dword [ebx + 0x10]
xor eax, eax
mov edx, esi
call fcn.004219a0
pop ecx
pop ecx
jmp 0x42465d
mov eax, dword [ebx + 4]
mov ecx, dword [ebp + 8]
imul eax, eax, 0x28
mov ecx, dword [ecx + 0x48]
lea edi, [eax + ecx - 0x28]
mov ecx, edi
mov dword [ebp - 0xdc], edi
call fcn.004218e1
test eax, eax
jne 0x424e51
push 0x800
mov esi, dword [ebp - 0x14]
call fcn.00421907
pop ecx
jmp case.0x424517.17
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0xd8], ecx
mov eax, dword [ebx + 4]
mov dword [ebp - 0xd4], eax
imul eax, eax, 0x28
mov ebx, dword [ebx + 8]
mov dword [ebp - 0xd0], ebx
imul ebx, ebx, 0x28
add eax, edi
add ebx, edi
test ecx, ecx
mov esi, eax
mov dword [ebp - 0x14], ebx
je 0x424726
dec dword [ebp - 0xd8]
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0xdc], eax
and dword [ebx + 0x24], 0
push ebx
call fcn.00421979
mov eax, dword [ebp - 0xdc]
mov dword [esi + 0x24], eax
add esi, 0x28
add ebx, 0x28
cmp dword [ebp - 0xd8], 0
pop ecx
jne 0x4246f1
mov dword [ebp - 0x14], ebx
dec dword [ebp - 0xd8]
jmp case.0x424517.17
mov esi, dword [ebx + 8]
mov edi, dword [ebx + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xe4]
imul edi, edi, 0x28
add edi, dword [ebp - 0xe4]
push 0x1000
mov dword [ebp - 0x14], esi
call fcn.00421907
test word [esi + 0x1c], 0x1000
pop ecx
je case.0x424517.17
mov eax, esi
call fcn.0042145c
test eax, eax
je case.0x424517.17
mov eax, dword [ebp - 0xc]
mov edi, dword [ebp + 8]
push str.out_of_memory
push eax
add edi, 0x38
mov byte [eax + 0x1e], 1
call fcn.00414a7c
mov dword [ebp - 8], 7
jmp 0x424e6b
mov esi, dword [ebx + 8]
mov edi, dword [ebx + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xe4]
imul edi, edi, 0x28
add edi, dword [ebp - 0xe4]
mov dword [ebp - 0x14], esi
push 0x1000
jmp 0x4246b8
mov ebx, dword [ebp + 8]
push 0
mov eax, ebx
call fcn.00423015
test eax, eax
pop ecx
mov dword [ebp - 8], eax
jne case.0x424517.17
push 1
call fcn.00422f53
xor ebx, ebx
cmp eax, ebx
pop ecx
mov dword [ebp - 8], eax
jne case.0x424517.17
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x54]
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0xe4]
inc eax
inc eax
or eax, 1
mov dword [ecx + 0x54], eax
mov eax, dword [esi + 4]
imul eax, eax, 0x28
add eax, edx
mov dword [ecx + 0x14], eax
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], ebx
cmp dword [esi + 8], ebx
jle 0x42487a
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xdc]
imul eax, eax, 0x28
add eax, ecx
test word [eax + 0x1c], 0x1000
je 0x424841
call fcn.0042145c
test eax, eax
jne 0x424772
mov eax, dword [ebp - 0xd8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xdc]
call fcn.004214fc
mov ecx, dword [ebp - 0xd8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xdc]
call fcn.0042428a
inc dword [ebp - 0xd8]
mov eax, dword [ebp - 0xd8]
cmp eax, dword [esi + 8]
jl 0x42481b
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x1e], bl
jne 0x424772
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + 8]
inc eax
push 0x64
mov dword [ecx + 0x58], eax
pop eax
jmp 0x424ea9
mov ecx, dword [ebx + 4]
mov esi, dword [ebx + 8]
imul ecx, ecx, 0x28
mov ebx, dword [ebx + 0xc]
imul esi, esi, 0x28
imul ebx, ebx, 0x28
add ecx, edi
movzx eax, word [ecx + 0x1c]
add esi, edi
mov dl, byte [esi + 0x1c]
add ebx, edi
or dl, al
test dl, 1
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], ebx
je 0x4248d0
mov edi, ebx
call fcn.004217fb
jmp case.0x424517.17
test ax, 0x4000
je 0x4248e2
mov eax, ecx
call fcn.004214af
mov ecx, dword [ebp - 0x18]
jmp 0x4248e4
xor eax, eax
test eax, eax
jne 0x424772
test word [esi + 0x1c], 0x4000
je 0x424900
mov eax, esi
call fcn.004214af
mov ecx, dword [ebp - 0x18]
jmp 0x424902
xor eax, eax
test eax, eax
jne 0x424772
test byte [ecx + 0x1c], 0x12
jne 0x424922
mov eax, ecx
call fcn.00421542
test eax, eax
jne 0x424772
mov ecx, dword [ebp - 0x18]
test byte [esi + 0x1c], 0x12
jne 0x42493a
mov eax, esi
call fcn.00421542
test eax, eax
jne 0x424772
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x18]
add eax, dword [esi + 0x18]
cdq
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xd8], edx
mov eax, dword [eax + 0x48]
cdq
cmp dword [ebp - 0xd8], edx
jg 0x424e51
jl 0x42496e
cmp dword [ebp - 0xdc], eax
ja 0x424e51
mov ax, word [ebx + 0x1c]
and ax, 0xbf02
or ax, 2
mov word [ebx + 0x1c], ax
xor eax, eax
cmp ebx, esi
sete al
mov edi, ebx
push eax
mov eax, dword [ebp - 0xdc]
add eax, 2
call fcn.004213a2
test eax, eax
pop ecx
jne 0x424772
cmp ebx, esi
je 0x4249b4
push dword [esi + 0x18]
push dword [esi + 4]
push dword [ebx + 4]
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x18]
push dword [eax + 0x18]
push dword [eax + 4]
mov eax, dword [ebx + 4]
add eax, dword [esi + 0x18]
push eax
call sub.msvcrt.dll_memcpy
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebx + 4]
mov byte [ecx + eax], 0
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebx + 4]
mov byte [ecx + eax + 1], 0
add esp, 0xc
or word [ebx + 0x1c], 0x200
mov eax, dword [ebp - 0xdc]
mov dword [ebx + 0x18], eax
mov al, byte [ebp - 0xdd]
mov byte [ebx + 0x1f], al
jmp case.0x424517.17
mov esi, dword [ebx + 4]
imul esi, esi, 0x28
add esi, edi
mov dword [ebp - 0x18], esi
call fcn.00424371
mov esi, dword [ebx + 8]
imul esi, esi, 0x28
add esi, edi
call fcn.00424371
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x18]
imul eax, eax, 0x28
movzx ecx, word [ecx + 0x1c]
movzx edx, word [esi + 0x1c]
or ecx, edx
add eax, edi
test cl, 1
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xdc], ecx
jne 0x424c0f
mov edi, dword [ebp - 0x18]
mov cl, byte [edi + 0x1c]
and cl, byte [esi + 0x1c]
test cl, 4
je 0x424b59
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0xd4], ecx
mov edi, dword [edi + 0x14]
mov dword [ebp - 0xd0], edi
mov edx, dword [esi + 0x10]
mov dword [ebp - 0xcc], edx
mov esi, dword [esi + 0x14]
mov dword [ebp - 0xc8], esi
movzx edx, byte [ebx]
sub edx, 0x56
je 0x424b37
dec edx
je 0x424b2d
dec edx
je 0x424b0e
dec edx
mov edx, ecx
je 0x424acb
or edx, edi
je 0x424c0f
mov eax, ecx
and eax, edi
cmp eax, 0xffffffff
jne 0x424abb
xor ecx, ecx
inc ecx
xor edi, edi
mov dword [ebp - 0xd4], ecx
mov dword [ebp - 0xd0], edi
push edi
push ecx
push esi
push dword [ebp - 0xcc]
call fcn.00443f20
jmp 0x424b1c
or edx, edi
je 0x424c0f
mov eax, ecx
and eax, edi
cmp eax, 0xffffffff
jne 0x424afe
cmp dword [ebp - 0xcc], 0
jne 0x424afe
cmp esi, 0x80000000
jne 0x424afe
xor ecx, ecx
inc ecx
xor edi, edi
mov dword [ebp - 0xd4], ecx
mov dword [ebp - 0xd0], edi
push edi
push ecx
push esi
push dword [ebp - 0xcc]
call fcn.00443fe0
jmp 0x424b1c
push edi
push ecx
push esi
push dword [ebp - 0xcc]
call fcn.00443ec0
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xc8], edx
jmp 0x424b45
sub dword [ebp - 0xcc], ecx
sbb esi, edi
jmp 0x424b3f
add dword [ebp - 0xcc], ecx
adc esi, edi
mov dword [ebp - 0xc8], esi
mov ecx, dword [ebp - 0xcc]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0xc8]
jmp 0x424c8c
mov ecx, edi
call fcn.004216ea
mov ecx, esi
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], edx
call fcn.004216ea
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], edx
movzx eax, byte [ebx]
sub eax, 0x56
je 0x424c60
dec eax
je 0x424c4a
dec eax
je 0x424c30
dec eax
mov eax, dword [ebp - 0xc4]
je 0x424c04
mov esi, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0xcc], esi
mov esi, eax
or esi, ecx
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xc8], edx
je 0x424c0c
and eax, ecx
cmp eax, 0xffffffff
jne 0x424be4
and dword [ebp - 0xd0], 0
mov dword [ebp - 0xd4], 1
push dword [ebp - 0xd0]
push dword [ebp - 0xd4]
push edx
push dword [ebp - 0xbc]
call fcn.00443f20
mov dword [ebp - 0xbc], eax
jmp 0x424c74
or eax, dword [ebp - 0xc0]
jne 0x424c16
mov eax, dword [ebp - 0x14]
mov edi, eax
jmp 0x4248c6
push dword [ebp - 0xc0]
push dword [ebp - 0xc4]
push edx
push dword [ebp - 0xbc]
call fcn.00443fe0
jmp 0x424bfc
push dword [ebp - 0xc0]
push dword [ebp - 0xc4]
push edx
push dword [ebp - 0xbc]
call fcn.00443ec0
jmp 0x424bfc
mov eax, dword [ebp - 0xc4]
sub dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xc0]
sbb edx, eax
jmp 0x424c74
mov eax, dword [ebp - 0xc4]
add dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xc0]
adc edx, eax
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xb8], edx
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0xb8]
mov dword [eax + 0x14], ecx
mov cx, word [eax + 0x1c]
and cx, 0xbf04
or cx, 4
mov word [eax + 0x1c], cx
jmp case.0x424517.17
movzx ecx, byte [ebx + 3]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], ecx
mov eax, dword [ebx + 0xc]
imul eax, eax, 0x28
add eax, edi
mov dword [ebp - 0x14], eax
mov eax, dword [ebx + 8]
and dword [ebp - 0xdc], 0
imul eax, eax, 0x28
add eax, edi
test ecx, ecx
mov dword [ebp - 0xd8], eax
jle 0x424d37
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0xdc]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp - 0xd8]
test word [eax + 0x1c], 0x1000
je 0x424d09
call fcn.0042145c
test eax, eax
jne 0x424772
mov ecx, dword [ebp - 0xd8]
call fcn.0042428a
inc dword [ebp - 0xdc]
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xdc]
add eax, 0x28
cmp ecx, dword [ebp - 0x90]
mov dword [ebp - 0xd8], eax
jl 0x424cdf
cmp byte [ebx + 1], 0xfb
mov eax, dword [ebx + 0x10]
jne 0x424d49
and dword [ebp - 0xd0], 0
jmp 0x424d51
mov dword [ebp - 0xd0], eax
mov eax, dword [eax]
mov edi, dword [ebp - 0xc]
mov esi, dword [ebp - 0x14]
and dword [ebp - 0xac], 0
and dword [ebp - 0xa8], 0
mov dword [ebp - 0xd4], eax
lea eax, [ebp - 0xcc]
push eax
mov word [ebp - 0xb0], 1
mov dword [ebp - 0xcc], edi
call fcn.00421979
mov eax, dword [ebp - 0xb0]
and dword [ebp - 0xa0], 0
and ax, 0xbf01
or ax, 1
mov word [ebp - 0xb0], ax
mov eax, dword [ebp - 0xd4]
test byte [eax + 3], 8
pop ecx
je 0x424db8
mov ecx, dword [ebx - 4]
mov dword [ebp - 0x9c], ecx
push dword [ebp - 0x94]
lea ecx, [ebp - 0xd4]
push dword [ebp - 0x90]
push ecx
call dword [eax + 0xc]
add esp, 0xc
cmp byte [edi + 0x1e], 0
jne 0x428894
mov edi, dword [ebp - 0xd0]
test edi, edi
je 0x424dfb
push dword [ebx + 4]
call fcn.00423383
mov eax, dword [ebp - 0xd0]
pop ecx
mov dword [ebx + 0x10], eax
mov byte [ebx + 1], 0xf9
cmp dword [ebp - 0xa0], 0
je 0x424e32
lea eax, [ebp - 0xcc]
push 1
push eax
call fcn.00421d78
mov edi, dword [ebp + 8]
push eax
push 0x44c760
push dword [ebp - 0xc]
add edi, 0x38
call fcn.00414a7c
mov eax, dword [ebp - 0xa0]
add esp, 0x14
mov dword [ebp - 8], eax
push dword [ebp - 0x14]
lea esi, [ebp - 0xcc]
call fcn.00421979
pop ecx
mov ecx, dword [ebp - 0x14]
call fcn.004218e1
test eax, eax
je case.0x424517.17
mov edi, dword [ebp + 8]
push str.string_or_blob_too_big
push dword [ebp - 0xc]
add edi, 0x38
call fcn.00414a7c
mov dword [ebp - 8], 0x12
pop ecx
pop ecx
mov esi, dword [ebp + 8]
push dword [esi + 0x38]
mov edi, dword [ebp - 8]
push dword [esi + 0xc8]
mov dword [esi + 0x5c], edi
push dword [ebp - 0x10]
push str.statement_aborts_at__d:___s___s
push edi
call fcn.0041557a
add esp, 0x14
mov eax, esi
call fcn.0042306a
cmp edi, 0xc0a
jne 0x424ea6
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x1e], 1
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
leave
ret
mov ecx, dword [ebx + 8]
mov eax, dword [ebx + 4]
imul ecx, ecx, 0x28
mov esi, dword [ebx + 0xc]
imul eax, eax, 0x28
imul esi, esi, 0x28
add ecx, edi
mov dl, byte [ecx + 0x1c]
add eax, edi
or dl, byte [eax + 0x1c]
add esi, edi
test dl, 1
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], esi
je 0x424ede
mov edi, esi
jmp 0x4248c6
call fcn.00421699
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], edx
call fcn.00421699
mov ecx, eax
mov dword [ebp - 0xd4], ecx
mov dword [ebp - 0xd0], edx
movzx eax, byte [ebx]
sub eax, 0x52
je 0x424f47
dec eax
je 0x424f39
mov edx, dword [ebp - 0xd8]
dec eax
mov eax, dword [ebp - 0xdc]
je 0x424f26
call fcn.004442d0
jmp 0x424f2b
call fcn.00443f00
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], edx
jmp 0x424f53
or dword [ebp - 0xdc], ecx
or dword [ebp - 0xd8], edx
jmp 0x424f53
and dword [ebp - 0xdc], ecx
and dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0xdc]
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0xd8]
mov dword [esi + 0x14], eax
mov ax, word [esi + 0x1c]
and ax, 0xbf04
or ax, 4
mov word [esi + 0x1c], ax
jmp case.0x424517.17
mov esi, dword [ebx + 4]
imul esi, esi, 0x28
add esi, edi
call fcn.0042177a
mov eax, dword [ebx + 8]
cdq
add dword [esi + 0x10], eax
adc dword [esi + 0x14], edx
jmp case.0x424517.17
mov esi, dword [ebx + 4]
imul esi, esi, 0x28
add esi, edi
push 0x63
mov eax, esi
call fcn.004243df
movzx eax, word [esi + 0x1c]
test al, 4
pop ecx
jne 0x424f69
mov ebx, dword [ebx + 8]
test ebx, ebx
jne 0x424532
mov dword [ebp - 8], 0x14
jmp 0x428941
mov ebx, dword [ebx + 4]
imul ebx, ebx, 0x28
add ebx, edi
test byte [ebx + 0x1c], 1
jne case.0x424517.17
mov esi, ebx
call fcn.0042177a
jmp case.0x424517.17
mov esi, dword [ebx + 4]
mov ecx, dword [ebx + 0xc]
imul esi, esi, 0x28
imul ecx, ecx, 0x28
add esi, edi
mov ax, word [esi + 0x1c]
add ecx, edi
mov word [ebp - 0xd6], ax
mov ax, word [ecx + 0x1c]
mov word [ebp - 0xd4], ax
movzx eax, word [ecx + 0x1c]
movzx edx, word [esi + 0x1c]
mov dword [ebp - 0xec], eax
or al, dl
test al, 1
mov al, byte [ebx + 3]
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0x100], edx
je 0x425077
test al, al
jns 0x42504a
movzx edx, word [esi + 0x1c]
mov eax, dword [ebp - 0xec]
and al, dl
and al, 1
neg al
sbb eax, eax
inc eax
jmp 0x4250f9
test al, 0x10
je 0x42506a
mov ebx, dword [ebx + 8]
imul ebx, ebx, 0x28
add ebx, edi
mov ax, word [ebx + 0x1c]
and ax, 0xbf01
mov dword [ebp - 0x14], ebx
or ax, 1
jmp 0x425359
test al, 8
je case.0x424517.17
jmp 0x42452f
and al, 0x67
mov byte [ebp - 0xd8], al
je 0x4250b4
push dword [ebp - 0xd8]
mov eax, esi
call fcn.004243df
mov eax, dword [ebp - 0xe8]
pop ecx
push dword [ebp - 0xd8]
call fcn.004243df
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x1e], 0
pop ecx
jne 0x424772
mov ecx, dword [ebp - 0xe8]
test word [esi + 0x1c], 0x4000
je 0x4250c9
mov eax, esi
call fcn.004214af
mov ecx, dword [ebp - 0xe8]
test word [ecx + 0x1c], 0x4000
je 0x4250de
mov eax, ecx
call fcn.004214af
mov ecx, dword [ebp - 0xe8]
mov ebx, dword [ebx + 0x10]
push esi
mov eax, ecx
call fcn.00421adb
mov ebx, dword [ebp - 0x18]
mov edi, dword [ebp - 0xe4]
pop ecx
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xdc], eax
movzx edx, byte [ebx]
sub edx, 0x4b
je 0x425140
dec edx
je 0x425137
dec edx
je 0x42512e
dec edx
je 0x425125
dec edx
je 0x42511c
xor edx, edx
test eax, eax
setge dl
jmp 0x425147
xor edx, edx
test eax, eax
setl dl
jmp 0x425147
xor edx, edx
test eax, eax
setle dl
jmp 0x425147
xor edx, edx
test eax, eax
setg dl
jmp 0x425147
xor edx, edx
test eax, eax
sete dl
jmp 0x425147
xor edx, edx
test eax, eax
setne dl
mov dword [ebp - 0xdc], edx
test byte [ebx + 3], 0x10
je 0x42517d
mov ebx, dword [ebx + 8]
imul ebx, ebx, 0x28
add ebx, edi
mov ax, word [ebx + 0x1c]
and ax, 0xbf04
or ax, 4
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0xdc]
cdq
mov dword [ebp - 0x14], ebx
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
jmp 0x42518d
cmp dword [ebp - 0xdc], 0
je 0x42518d
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0x10], ebx
mov al, byte [ebp - 0xd6]
mov byte [esi + 0x1c], al
mov al, byte [ebp - 0xd4]
mov byte [ecx + 0x1c], al
jmp case.0x424517.17
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xf8], eax
jmp case.0x424517.17
mov edx, dword [ebx + 0xc]
mov dword [ebp - 0xdc], edx
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0xcc], ecx
mov eax, dword [ebx + 4]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0xd0], eax
xor eax, eax
test edx, edx
mov dword [ebp - 0xd8], eax
jle 0x425275
jmp 0x4251ee
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xf8]
test edx, edx
je 0x4251fd
mov edx, dword [edx + eax*4]
jmp 0x4251ff
mov edx, eax
mov dword [ebp - 0xc8], edx
mov ebx, dword [ecx + eax*4 + 0xc]
mov dword [ebp - 0xc4], ebx
mov ecx, dword [ecx + 8]
movzx eax, byte [ecx + eax]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xd0]
add eax, edx
imul eax, eax, 0x28
add eax, dword [ebp - 0xe4]
push eax
mov eax, dword [ebp - 0xd4]
add eax, edx
imul eax, eax, 0x28
add eax, dword [ebp - 0xe4]
call fcn.00421adb
test eax, eax
pop ecx
mov dword [ebp - 0xf0], eax
jne 0x425266
mov eax, dword [ebp - 0xd8]
inc eax
cmp eax, dword [ebp - 0xdc]
mov dword [ebp - 0xd8], eax
jl 0x4251e8
jmp 0x425275
cmp dword [ebp - 0xc0], 0
je 0x425275
neg dword [ebp - 0xf0]
and dword [ebp - 0xf8], 0
jmp case.0x424517.17
cmp dword [ebp - 0xf0], 0
jge 0x425292
mov ebx, dword [ebx + 4]
jmp 0x424532
je 0x42452f
mov ebx, dword [ebx + 0xc]
jmp 0x424532
mov ecx, dword [ebx + 4]
imul ecx, ecx, 0x28
xor esi, esi
add ecx, edi
inc esi
test byte [ecx + 0x1c], 1
je 0x4252b6
push 2
pop eax
jmp 0x4252c5
call fcn.00421699
or eax, edx
je 0x4252c3
mov eax, esi
jmp 0x4252c5
xor eax, eax
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebx + 8]
imul ecx, ecx, 0x28
add ecx, edi
test byte [ecx + 0x1c], 1
je 0x4252e5
mov dword [ebp - 0xd8], 2
jmp 0x425303
call fcn.00421699
or eax, edx
mov eax, dword [ebp - 0xdc]
je 0x4252fc
mov dword [ebp - 0xd8], esi
jmp 0x425303
and dword [ebp - 0xd8], 0
mov ecx, dword [ebp - 0xd8]
imul eax, eax, 3
cmp byte [ebx], 0x45
jne 0x42531b
movzx eax, byte [eax + ecx + 0x446270]
jmp 0x425323
movzx eax, byte [eax + ecx + 0x44627c]
mov dword [ebp - 0xdc], eax
mov ebx, dword [ebx + 0xc]
imul ebx, ebx, 0x28
add ebx, edi
cmp eax, 2
mov dword [ebp - 0x14], ebx
jne 0x425346
mov ax, word [ebx + 0x1c]
and ax, 0xbf01
or ax, si
jmp 0x425359
cdq
mov dword [ebx + 0x10], eax
mov ax, word [ebx + 0x1c]
and ax, 0xbf04
mov dword [ebx + 0x14], edx
or ax, 4
mov word [ebx + 0x1c], ax
jmp case.0x424517.17
mov ecx, dword [ebx + 4]
mov ebx, dword [ebx + 8]
imul ecx, ecx, 0x28
imul ebx, ebx, 0x28
add ecx, edi
add ebx, edi
test byte [ecx + 0x1c], 1
mov dword [ebp - 0x14], ebx
jne 0x4248c4
call fcn.00421699
or eax, edx
jne 0x42538b
inc eax
jmp 0x42538d
xor eax, eax
cdq
push edx
push eax
mov esi, ebx
call fcn.0042185f
pop ecx
jmp 0x4246bd
mov ecx, dword [ebx + 4]
mov ebx, dword [ebx + 8]
imul ecx, ecx, 0x28
imul ebx, ebx, 0x28
add ecx, edi
add ebx, edi
test byte [ecx + 0x1c], 1
mov dword [ebp - 0x14], ebx
jne 0x4248c4
call fcn.00421699
not eax
not edx
jmp 0x42538e
mov ecx, dword [ebx + 4]
imul ecx, ecx, 0x28
add ecx, edi
test byte [ecx + 0x1c], 1
je 0x4253d8
mov eax, dword [ebx + 0xc]
jmp 0x425404
call fcn.00421699
or eax, edx
je 0x4253ed
mov dword [ebp - 0xdc], 1
jmp 0x4253f4
and dword [ebp - 0xdc], 0
cmp byte [ebx], 0x1b
jne 0x42540a
xor eax, eax
cmp dword [ebp - 0xdc], eax
sete al
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xdc], 0
jmp 0x42506c
mov eax, dword [ebx + 4]
imul eax, eax, 0x28
test byte [eax + edi + 0x1c], 1
jmp 0x42506c
mov eax, dword [ebx + 4]
imul eax, eax, 0x28
test byte [eax + edi + 0x1c], 1
jne case.0x424517.17
jmp 0x42452f
mov eax, dword [ebx + 4]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebx + 8]
xor esi, esi
push 0x28
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0x9c]
push esi
push eax
mov dword [ebp - 0xc4], esi
call sub.msvcrt.dll_memset
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp + 8]
imul eax, eax, 0x28
add eax, edi
mov dword [ebp - 0xa0], eax
mov cx, word [eax + 0x1c]
and cx, 0xbf01
or cx, 1
mov word [eax + 0x1c], cx
mov ecx, dword [ebp - 0xcc]
mov eax, dword [edx + 0x44]
mov dword [ebp - 0xc0], esi
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc4], eax
mov ecx, dword [eax]
add esp, 0xc
cmp ecx, esi
mov dword [ebp - 0xbc], ecx
je 0x425541
mov edi, eax
call fcn.00423495
test eax, eax
mov dword [ebp - 8], eax
jne 0x428941
mov eax, dword [ebp - 0xc4]
cmp byte [eax + 0x1c], 0
je 0x4254db
and dword [ebp - 0xdc], esi
jmp case.0x424517.17
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp + 8]
cmp ecx, dword [edx + 0x54]
jne 0x4254fd
mov ecx, dword [eax + 0x50]
mov dword [ebp - 0xdc], ecx
mov ecx, dword [eax + 0x5c]
mov dword [ebp - 0xc0], ecx
jmp 0x425580
cmp byte [eax + 0x1f], 0
je 0x425525
mov eax, dword [ebp - 0xbc]
lea edi, [ebp - 0xd4]
call fcn.0041e652
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xdc], eax
jmp 0x425572
mov edi, dword [ebp - 0xbc]
mov esi, edi
call fcn.0041e62c
mov eax, dword [edi + 0x2c]
and dword [ebp - 8], 0
mov dword [ebp - 0xdc], eax
jmp 0x425572
mov ecx, dword [eax + 0x10]
cmp ecx, esi
jle 0x42557a
imul ecx, ecx, 0x28
add ecx, edi
mov dword [ebp - 0x5c], ecx
mov edi, dword [ecx + 0x18]
mov dword [ebp - 0xdc], edi
mov ecx, dword [ecx + 4]
mov dword [ebp - 0xc0], ecx
test byte [ebx + 3], 0x20
je 0x42556c
xor edx, edx
jmp 0x42556f
mov edx, dword [edx + 0x54]
mov dword [eax + 0x4c], edx
mov eax, dword [ebp - 0xc4]
jmp 0x425580
mov dword [ebp - 0xdc], esi
mov ecx, dword [ebp - 0xdc]
test ecx, ecx
je case.0x424517.17
mov edx, dword [ebp - 0xc]
cmp ecx, dword [edx + 0x48]
ja 0x424e51
mov edx, dword [eax + 0x14]
mov esi, dword [ebp + 8]
mov dword [ebp - 0xb0], edx
mov ecx, dword [eax + 0x54]
mov dword [ebp - 0xb8], ecx
mov edi, dword [eax + 0x4c]
cmp edi, dword [esi + 0x54]
jne 0x4255c5
mov eax, dword [eax + 0x58]
mov dword [ebp - 0xb4], eax
jmp 0x4257fa
lea ecx, [ecx + edx*4]
mov dword [ebp - 0xb4], ecx
xor edi, edi
mov dword [ebp - 0x60], edi
mov dword [eax + 0x58], ecx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xdc]
mov dword [eax + 0x50], ecx
mov eax, dword [esi + 0x54]
mov ecx, dword [ebp - 0xc4]
mov dword [ecx + 0x4c], eax
mov eax, dword [ebp - 0xc0]
cmp eax, edi
je 0x425603
mov dword [ebp - 0xa4], eax
jmp 0x425660
mov eax, dword [ebp - 0xc4]
cmp byte [eax + 0x1f], 0
mov esi, dword [ebp - 0xbc]
je 0x425620
xor eax, eax
cmp byte [esi + 0x53], 1
jne 0x425635
push edi
jmp 0x42562a
xor eax, eax
cmp byte [esi + 0x53], 1
jne 0x425635
push 1
lea eax, [ebp - 0x60]
push eax
call fcn.0041e99f
pop ecx
pop ecx
mov ecx, dword [ebp - 0xdc]
cmp ecx, dword [ebp - 0x60]
mov dword [ebp - 0xa4], eax
ja 0x425657
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0xc0], eax
mov dword [ecx + 0x5c], eax
jmp 0x425660
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x5c], edi
mov ecx, dword [ebp - 0xa4]
mov al, byte [ecx]
cmp al, 0x80
jae 0x425677
movzx eax, al
mov dword [ebp - 0x6c], eax
xor eax, eax
inc eax
jmp 0x425682
lea edi, [ebp - 0x6c]
call fcn.00415d25
movzx eax, al
cmp dword [ebp - 0x6c], 0x18003
movzx eax, al
mov dword [ebp - 0x64], eax
jbe 0x42569b
push 0xf58b
jmp 0x42596a
mov ecx, dword [ebp - 0xb0]
imul ecx, ecx, 5
add ecx, 3
cmp ecx, dword [ebp - 0x6c]
mov dword [ebp - 0xac], ecx
jle 0x4256bb
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0xac], ecx
xor eax, eax
cmp dword [ebp - 0xc0], eax
jne 0x425717
cmp dword [ebp - 0x60], ecx
jge 0x425717
mov edx, dword [ebp - 0xc4]
mov word [ebp - 0x80], ax
mov dword [ebp - 0x9c], eax
movzx edx, byte [edx + 0x1f]
push edx
push eax
mov ebx, ecx
mov ecx, dword [ebp - 0xbc]
lea eax, [ebp - 0x9c]
call fcn.00421ca4
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 8], eax
jne case.0x424517.17
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0xac]
mov ebx, dword [ebp - 0x18]
mov dword [ebp - 0xa4], eax
jmp 0x42571d
mov eax, dword [ebp - 0xa4]
add ecx, eax
mov dword [ebp - 0x70], ecx
mov ecx, dword [ebp - 0x64]
add eax, ecx
xor ecx, ecx
cmp dword [ebp - 0xb0], ecx
mov dword [ebp - 0x74], eax
mov dword [ebp - 0xa8], ecx
jle 0x4257b5
jmp 0x42573f
mov eax, dword [ebp - 0x74]
cmp eax, dword [ebp - 0x70]
mov eax, dword [ebp - 0xb4]
jae 0x42584d
mov edx, dword [ebp - 0x6c]
mov dword [eax + ecx*4], edx
mov ecx, dword [ebp - 0x74]
mov al, byte [ecx]
cmp al, 0x80
mov edx, dword [ebp - 0xb8]
jae 0x425774
mov ecx, dword [ebp - 0xa8]
movzx eax, al
mov dword [edx + ecx*4], eax
xor eax, eax
inc eax
jmp 0x425785
mov eax, dword [ebp - 0xa8]
lea edi, [edx + eax*4]
call fcn.00415d25
movzx eax, al
mov ecx, dword [ebp - 0xa8]
movzx eax, al
add dword [ebp - 0x74], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + ecx*4]
call fcn.004235f7
add dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], eax
jae 0x425857
mov eax, dword [ebp - 0x70]
inc eax
mov dword [ebp - 0x74], eax
lea eax, [ebp - 0x9c]
push eax
call fcn.0042166b
pop ecx
mov ecx, dword [ebp - 0x74]
cmp ecx, dword [ebp - 0x70]
mov word [ebp - 0x80], 1
ja 0x425965
mov eax, dword [ebp - 0x6c]
cmp eax, dword [ebp - 0xdc]
ja 0x425965
cmp ecx, dword [ebp - 0x70]
jne 0x4257f4
cmp eax, dword [ebp - 0xdc]
jne 0x425965
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xb4]
shl eax, 2
cmp dword [eax + edx], 0
je 0x425905
cmp dword [ebp - 0xc0], 0
je 0x42586f
mov eax, dword [ebp - 0xa0]
call fcn.0042160c
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xb8]
shl eax, 2
mov ecx, dword [eax + ecx]
add ecx, dword [ebp - 0xc0]
mov eax, dword [eax + edx]
jmp 0x4258e9
and dword [eax + ecx*4], 0
mov ecx, dword [ebp - 0xa8]
inc ecx
cmp ecx, dword [ebp - 0xb0]
mov dword [ebp - 0xa8], ecx
jl 0x42573c
jmp 0x4257b5
mov eax, dword [eax + ecx]
call fcn.004235f7
mov esi, dword [ebp - 0xa0]
mov dword [ebp - 0xac], eax
lea eax, [ebp - 0x9c]
push eax
call fcn.00421979
mov eax, dword [ebp - 0xc4]
movzx eax, byte [eax + 0x1f]
mov ebx, dword [ebp - 0xac]
pop ecx
mov ecx, dword [ebp - 0xc8]
push eax
mov eax, dword [ebp - 0xb4]
push dword [eax + ecx*4]
mov ecx, dword [ebp - 0xbc]
lea eax, [ebp - 0x9c]
call fcn.00421ca4
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 8], eax
jne case.0x424517.17
mov ecx, dword [ebp - 0x98]
mov eax, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xc8]
mov dword [ebp - 0xa4], ecx
mov eax, dword [eax + edx*4]
mov esi, dword [ebp - 0xa0]
call fcn.004236b2
mov eax, dword [ebp - 0xa0]
mov cl, byte [ebp - 0xdd]
mov byte [eax + 0x1f], cl
jmp 0x42591f
cmp byte [ebx + 1], 0xf8
jne 0x42591f
mov edi, dword [ebx + 0x10]
mov esi, dword [ebp - 0xa0]
push 0x800
call fcn.00421907
pop ecx
cmp dword [ebp - 0x78], 0
je 0x425958
mov eax, dword [ebp - 0xa0]
and word [eax + 0x1c], 0xe7ff
mov eax, dword [ebp - 0xa0]
or word [eax + 0x1c], 0x200
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x98]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0xa0]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp - 0xa0]
call fcn.0042145c
jmp 0x425970
push 0xf5d5
call fcn.00442f0d
pop ecx
mov dword [ebp - 8], eax
jmp case.0x424517.17
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xdc], eax
mov ebx, dword [ebx + 4]
imul ebx, ebx, 0x28
add ebx, edi
jmp 0x4259b7
inc dword [ebp - 0xdc]
test word [ebx + 0x1c], 0x4000
je 0x4259a0
mov eax, ebx
call fcn.004214af
push dword [ebp - 0xd8]
mov eax, ebx
call fcn.004243df
mov eax, dword [ebp - 0xdc]
pop ecx
add ebx, 0x28
mov al, byte [eax]
test al, al
mov byte [ebp - 0xd8], al
jne 0x42598b
inc dword [ebp - 0xdc]
jmp case.0x424517.17
xor eax, eax
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], eax
mov eax, dword [ebx + 4]
mov dword [ebp - 0xa8], eax
imul eax, eax, 0x28
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebp + 8]
movzx edx, byte [edx + 0x66]
add eax, edi
mov dword [ebp - 0xa4], ecx
mov ecx, eax
mov dword [ebp - 0xb0], ecx
mov eax, dword [ebx + 8]
mov dword [ebp - 0xa8], eax
imul eax, eax, 0x28
lea eax, [eax + ecx - 0x28]
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa0], edx
mov esi, dword [ebx + 0xc]
imul esi, esi, 0x28
add esi, edi
mov dword [ebp - 0x14], esi
mov edi, ecx
cmp ecx, eax
jmp 0x425b01
cmp dword [ebp - 0xa4], 0
je 0x425a7a
mov eax, edi
sub eax, dword [ebp - 0xb0]
push 0x28
cdq
pop ecx
idiv ecx
mov ecx, dword [ebp - 0xa4]
movzx eax, byte [eax + ecx]
push eax
mov eax, edi
call fcn.004243df
mov edi, dword [ebp - 0xd8]
pop ecx
test word [edi + 0x1c], 0x4000
je 0x425a95
cmp dword [edi + 0x18], 0
jle 0x425a95
mov eax, edi
call fcn.004214af
mov edi, dword [ebp - 0xd8]
push dword [ebp - 0xa0]
mov edx, edi
call fcn.00423530
pop ecx
mov dword [ebp - 0xb4], eax
call fcn.004235f7
mov dword [ebp - 0x98], eax
cdq
add dword [ebp - 0xd4], eax
adc dword [ebp - 0xd0], edx
xor ebx, ebx
push ebx
push dword [ebp - 0xb4]
call fcn.00415d87
add dword [ebp - 0xcc], eax
test word [edi + 0x1c], 0x4000
pop ecx
pop ecx
je 0x425aea
mov eax, dword [edi + 0x10]
add dword [ebp - 0xbc], eax
jmp 0x425af8
cmp dword [ebp - 0x98], ebx
je 0x425af8
mov dword [ebp - 0xbc], ebx
add edi, 0x28
cmp edi, dword [ebp - 0xac]
mov dword [ebp - 0xd8], edi
jbe 0x425a4a
mov eax, dword [ebp - 0xcc]
cdq
push edx
push eax
call fcn.00415d87
mov edi, eax
add dword [ebp - 0xcc], edi
mov eax, dword [ebp - 0xcc]
cdq
push edx
push eax
mov dword [ebp - 0xb8], edi
call fcn.00415d87
add esp, 0x10
cmp edi, eax
jge 0x425b44
inc dword [ebp - 0xcc]
mov eax, dword [ebp - 0xbc]
cdq
mov ebx, eax
mov eax, edx
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xcc]
cdq
mov edi, eax
mov eax, dword [ebp - 0xc]
sub edi, ebx
mov ebx, dword [ebp - 0xec]
mov ecx, edx
sbb ecx, ebx
add edi, dword [ebp - 0xd4]
adc ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0xc0], ecx
mov eax, dword [eax + 0x48]
cdq
cmp ecx, edx
jg 0x424e51
jl 0x425b9b
cmp edi, eax
ja 0x424e51
mov eax, edi
push 0
mov edi, esi
call fcn.004213a2
test eax, eax
pop ecx
jne 0x424772
mov ecx, dword [ebp - 0xcc]
mov eax, dword [esi + 4]
mov edi, 0x80
cmp ecx, edi
mov dword [ebp - 0xdc], eax
jae 0x425bce
mov byte [eax], cl
xor eax, eax
inc eax
jmp 0x425bd3
call fcn.00415b66
movzx eax, al
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0xd8], eax
jmp 0x425c3f
push dword [ebp - 0xa0]
mov edx, dword [ebp - 0xd8]
call fcn.00423530
mov edx, dword [ebp - 0x9c]
pop ecx
mov ecx, eax
cmp ecx, edi
mov dword [ebp - 0xb4], ecx
jae 0x425c1c
mov ecx, dword [ebp - 0xdc]
mov byte [edx + ecx], al
xor eax, eax
inc eax
jmp 0x425c29
mov eax, dword [ebp - 0xdc]
add eax, edx
call fcn.00415b66
movzx eax, al
add dword [ebp - 0x9c], eax
add dword [ebp - 0xd8], 0x28
mov eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0xac]
jbe 0x425bea
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0xd8], eax
jmp 0x425c93
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xc4]
push dword [ebp - 0xa0]
sub ecx, eax
push ecx
mov ecx, dword [ebp - 0xdc]
lea ebx, [eax + ecx]
mov eax, dword [ebp - 0xd8]
call fcn.0042360a
add dword [ebp - 0x9c], eax
add dword [ebp - 0xd8], 0x28
mov eax, dword [ebp - 0xd8]
pop ecx
pop ecx
cmp eax, dword [ebp - 0xac]
jbe 0x425c55
mov eax, dword [ebp - 0xc4]
and dword [esi + 0x20], 0
mov dword [esi + 0x18], eax
mov word [esi + 0x1c], 0x410
mov eax, dword [ebp - 0xbc]
test eax, eax
je 0x425cc1
mov dword [esi + 0x10], eax
mov word [esi + 0x1c], 0x4410
mov byte [esi + 0x1f], 1
jmp case.0x424517.17
mov ecx, dword [ebp + 8]
mov eax, dword [ebx + 4]
mov ecx, dword [ecx + 0x44]
mov eax, dword [ecx + eax*4]
mov eax, dword [eax]
test eax, eax
mov dword [ebp - 0xd4], eax
je 0x425cf4
lea ecx, [ebp - 0xdc]
push ecx
call fcn.00420c48
pop ecx
mov dword [ebp - 8], eax
jmp 0x425d02
and dword [ebp - 0xdc], 0
and dword [ebp - 0xd8], 0
mov eax, dword [ebp - 0xdc]
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0xd8]
jmp 0x424626
mov eax, dword [ebx + 4]
test eax, eax
mov esi, dword [ebp - 0xc]
mov dword [ebp - 0xdc], eax
mov ebx, dword [ebx + 0x10]
mov dword [ebp - 0xd8], ebx
jne 0x425df2
cmp dword [esi + 0x90], eax
jle 0x425d53
push str.cannot_open_savepoint___SQL_statements_in_progress
mov edi, dword [ebp + 8]
push esi
add edi, 0x38
call fcn.00414a7c
pop ecx
pop ecx
jmp 0x42601b
mov ecx, ebx
call fcn.00415736
mov dword [ebp - 0xd4], eax
add eax, 0x19
push eax
call fcn.004148fc
test eax, eax
pop ecx
mov dword [ebp - 0xd0], eax
je case.0x424517.17
lea ecx, [eax + 0x18]
mov dword [eax], ecx
mov eax, dword [ebp - 0xd4]
inc eax
push eax
push dword [ebp - 0xd8]
mov eax, dword [ebp - 0xd0]
push dword [eax]
call sub.msvcrt.dll_memcpy
mov eax, esi
add esp, 0xc
cmp byte [eax + 0x1c], 0
je 0x425db0
mov byte [eax + 0x1c], 0
mov byte [eax + 0x1d4], 1
jmp 0x425db6
inc dword [eax + 0x1cc]
mov esi, dword [ebp - 0xd0]
lea ecx, [eax + 0x1c8]
mov edx, dword [ecx]
mov dword [esi + 0x10], edx
mov edx, dword [ebp - 0xd0]
mov dword [ecx], edx
mov ecx, dword [eax + 0x1d8]
mov edx, dword [ebp - 0xd0]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0x1dc]
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0xc], eax
jmp case.0x424517.17
and dword [ebp - 0xc4], 0
mov edi, dword [esi + 0x1c8]
test edi, edi
mov dword [ebp - 0xcc], edi
je 0x425e2f
mov ecx, dword [edi]
mov edx, ebx
call fcn.0041585d
test eax, eax
je 0x425e29
inc dword [ebp - 0xc4]
mov edi, dword [edi + 0x10]
test edi, edi
mov dword [ebp - 0xcc], edi
jne 0x425e09
xor eax, eax
cmp edi, eax
jne 0x425e50
mov edi, dword [ebp + 8]
push ebx
push str.no_such_savepoint:__s
push esi
add edi, 0x38
call fcn.00414a7c
add esp, 0xc
mov dword [ebp - 8], 1
jmp case.0x424517.17
cmp dword [esi + 0x90], eax
jg 0x425ff1
cmp dword [ebp - 0xdc], 2
jne 0x425e72
cmp dword [esi + 0x8c], 1
jg 0x425ffa
cmp dword [edi + 0x10], eax
jne 0x425ed5
cmp byte [esi + 0x1d4], 0
je 0x425ed5
xor ecx, ecx
inc ecx
cmp dword [ebp - 0xdc], ecx
mov dword [ebp - 0xe8], ecx
jne 0x425edb
mov ebx, dword [ebp + 8]
push ecx
mov eax, ebx
call fcn.00423015
test eax, eax
pop ecx
jne 0x424ea9
mov eax, ebx
mov byte [esi + 0x1c], 1
call fcn.0042306a
push 5
pop ecx
cmp eax, ecx
je 0x4288a6
mov byte [esi + 0x1d4], 0
mov eax, dword [ebx + 0x5c]
mov edi, dword [ebp - 0xcc]
mov dword [ebp - 8], eax
mov ebx, esi
jmp 0x425f9a
mov dword [ebp - 0xe8], eax
mov ecx, dword [esi + 0x1cc]
sub ecx, dword [ebp - 0xc4]
mov dword [ebp - 0xc0], eax
dec ecx
mov dword [ebp - 0xc4], ecx
cmp dword [esi + 4], eax
jle 0x425f40
jmp 0x425f01
mov ecx, dword [ebp - 0xc4]
push ecx
push dword [ebp - 0xdc]
mov ecx, esi
mov ecx, dword [ecx + 8]
shl eax, 4
mov eax, dword [eax + ecx + 4]
call fcn.0041e4e3
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 8], eax
jne 0x428941
mov eax, dword [ebp - 0xc0]
inc eax
mov ecx, esi
mov dword [ebp - 0xc0], eax
cmp eax, dword [ecx + 4]
jl 0x425efb
mov edi, dword [ebp - 0xcc]
cmp dword [ebp - 0xdc], 2
jne 0x425ece
mov ebx, dword [ebp - 0xc]
mov esi, 0x200
test dword [ebx + 0xc], esi
je 0x425f9a
mov eax, ebx
call fcn.00423cab
xor eax, eax
call fcn.0042ee43
mov eax, ebx
or dword [eax + 0xc], esi
jmp 0x425f94
mov eax, dword [ebx + 0x1c8]
mov dword [ebp - 0xc8], eax
mov eax, dword [eax + 0x10]
mov dword [ebx + 0x1c8], eax
push dword [ebp - 0xc8]
push ebx
call fcn.0041474a
dec dword [ebx + 0x1cc]
pop ecx
pop ecx
mov edi, dword [ebp - 0xcc]
cmp dword [ebx + 0x1c8], edi
jne 0x425f6b
cmp dword [ebp - 0xdc], 1
jne 0x425fda
mov eax, dword [edi + 0x10]
mov dword [ebx + 0x1c8], eax
push dword [ebp - 0xcc]
push ebx
call fcn.0041474a
cmp dword [ebp - 0xe8], 0
pop ecx
pop ecx
jne case.0x424517.17
dec dword [ebx + 0x1cc]
jmp case.0x424517.17
mov eax, dword [edi + 8]
mov dword [ebx + 0x1d8], eax
mov eax, dword [edi + 0xc]
mov dword [ebx + 0x1dc], eax
jmp case.0x424517.17
cmp dword [ebp - 0xdc], 2
jne 0x426001
mov eax, str.rollback
jmp 0x426006
mov eax, str.release
mov edi, dword [ebp + 8]
push eax
push str.cannot__s_savepoint___SQL_statements_in_progress
push esi
add edi, 0x38
call fcn.00414a7c
add esp, 0xc
mov dword [ebp - 8], 5
jmp case.0x424517.17
mov eax, dword [ebx + 4]
test eax, eax
mov esi, dword [ebp - 0xc]
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebx + 8]
mov dword [ebp - 0xd8], ecx
je 0x426065
cmp byte [esi + 0x1c], 0
jne 0x426065
xor ebx, ebx
inc ebx
test ecx, ecx
mov dword [ebp - 0xd4], ebx
je 0x426086
cmp dword [esi + 0x8c], ebx
jle 0x42606f
push str.cannot_rollback_transaction___SQL_statements_in_progress
jmp 0x425d40
and dword [ebp - 0xd4], 0
xor ebx, ebx
inc ebx
movzx edx, byte [esi + 0x1c]
cmp eax, edx
jne 0x4288ba
test eax, eax
jne 0x426099
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x4260a7
cmp dword [esi + 0x90], 0
jle 0x42606f
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x425d40
test ecx, ecx
mov eax, str.cannot_rollback___no_transaction_is_active
jne 0x4260a7
mov eax, str.cannot_commit___no_transaction_is_active
mov edi, dword [ebp + 8]
push eax
push dword [ebp - 0xc]
add edi, 0x38
call fcn.00414a7c
pop ecx
pop ecx
mov dword [ebp - 8], ebx
jmp case.0x424517.17
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 8]
shl eax, 4
mov eax, dword [eax + ecx + 4]
test eax, eax
mov dword [ebp - 0xdc], eax
je case.0x424517.17
push dword [ebx + 8]
push eax
call fcn.0041e24e
pop ecx
pop ecx
mov dword [ebp - 8], eax
push 5
pop eax
cmp dword [ebp - 8], eax
je 0x428919
xor eax, eax
cmp dword [ebp - 8], eax
jne 0x428941
cmp dword [ebx + 8], eax
je case.0x424517.17
mov ebx, dword [ebp + 8]
cmp byte [ebx + 0x68], al
je case.0x424517.17
mov edi, dword [ebp - 0xc]
cmp byte [edi + 0x1c], al
je 0x42612d
cmp dword [edi + 0x8c], 1
jle case.0x424517.17
cmp dword [ebx + 0x74], eax
jne 0x426147
mov ecx, dword [edi + 0x1cc]
lea eax, [edi + 0x1d0]
inc dword [eax]
mov eax, dword [eax]
add ecx, eax
mov dword [ebx + 0x74], ecx
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebx + 0x74]
mov eax, dword [eax + 4]
mov esi, dword [eax]
push ecx
call fcn.0041b450
mov dword [ebp - 8], eax
mov eax, dword [edi + 0x1d8]
mov dword [ebx + 0xc0], eax
mov eax, dword [edi + 0x1dc]
pop ecx
mov dword [ebx + 0xc4], eax
jmp case.0x424517.17
mov eax, dword [ebx + 4]
mov dword [ebp - 0xd8], eax
mov ebx, dword [ebx + 0xc]
lea ecx, [ebp - 0xdc]
push ecx
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0xd4], ebx
mov ecx, dword [ecx + 8]
shl eax, 4
mov eax, dword [eax + ecx + 4]
mov edi, ebx
call fcn.00420bf1
mov eax, dword [ebp - 0xdc]
cdq
pop ecx
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x424517.17
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xc]
shl eax, 4
add eax, dword [ecx + 8]
mov dword [ebp - 0xdc], eax
mov esi, dword [ebx + 0xc]
imul esi, esi, 0x28
add esi, edi
call fcn.0042177a
push dword [esi + 0x10]
mov eax, dword [ebp - 0xdc]
push dword [ebx + 8]
mov eax, dword [eax + 4]
call fcn.00420c19
mov dword [ebp - 8], eax
mov eax, dword [ebx + 8]
cmp eax, 1
pop ecx
pop ecx
jne 0x426219
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0xc]
mov ecx, dword [esi + 0x10]
mov dword [eax], ecx
mov eax, dword [ebp - 0xc]
or dword [eax + 0xc], 0x200
jmp 0x42622d
cmp eax, 2
jne 0x42622d
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0xc]
mov cl, byte [esi + 0x10]
mov byte [eax + 0x48], cl
cmp dword [ebx + 4], 1
jne case.0x424517.17
mov eax, dword [ebp - 0xc]
call fcn.00423cab
mov eax, dword [ebp + 8]
mov byte [eax + 0x64], 0
jmp case.0x424517.17
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 8]
shl eax, 4
mov eax, dword [eax + ecx + 4]
test eax, eax
mov dword [ebp - 0xd8], eax
je 0x426277
lea ecx, [ebp - 0xdc]
xor edi, edi
push ecx
inc edi
call fcn.00420bf1
pop ecx
jmp 0x42627e
and dword [ebp - 0xdc], 0
mov eax, dword [ebp - 0xdc]
cmp eax, dword [ebx + 8]
je case.0x424517.17
mov edi, dword [ebp + 8]
push dword [edi + 0x38]
mov esi, dword [ebp - 0xc]
push esi
call fcn.0041474a
push str.database_schema_has_changed
mov edx, esi
call fcn.00414a0f
mov dword [edi + 0x38], eax
mov ebx, dword [ebx + 4]
mov ecx, dword [esi + 8]
mov eax, ebx
shl eax, 4
mov eax, dword [eax + ecx + 0xc]
mov eax, dword [eax]
add esp, 0xc
cmp eax, dword [ebp - 0xdc]
je 0x4262d0
mov eax, ebx
mov ebx, esi
call fcn.0042ee43
mov eax, esi
call fcn.00423cab
mov dword [ebp - 8], 0x11
jmp case.0x424517.17
mov eax, dword [ebp + 8]
cmp byte [eax + 0x64], 0
je 0x4262f8
mov dword [ebp - 8], 4
jmp case.0x424517.17
mov edx, dword [ebp - 0xc]
xor ecx, ecx
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0xd8], ecx
mov esi, dword [ebx + 8]
mov dword [ebp - 0xd4], esi
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0xd0], eax
shl eax, 4
add eax, dword [edx + 8]
mov dword [ebp - 0xc0], eax
mov edx, dword [eax + 4]
mov dword [ebp - 0xc8], edx
cmp byte [ebx], 0x27
jne 0x426352
mov edx, dword [ebp + 8]
mov dword [ebp - 0xcc], 1
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x48]
cmp al, byte [edx + 0x66]
jae 0x426359
mov byte [edx + 0x66], al
jmp 0x426359
and dword [ebp - 0xcc], 0
cmp byte [ebx + 3], 0
je 0x426381
imul esi, esi, 0x28
add esi, edi
call fcn.0042177a
mov esi, dword [esi + 0x10]
cmp esi, 2
mov dword [ebp - 0xd4], esi
jl 0x42892a
mov ecx, dword [ebp - 0xdc]
mov al, byte [ebx + 1]
cmp al, 0xfa
jne 0x4263af
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov dword [ebp - 0xd8], eax
mov ecx, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov cl, byte [ecx + 0x49]
mov byte [eax + 4], cl
mov eax, dword [ebp - 0xd8]
movzx ecx, word [eax + 6]
inc ecx
jmp 0x4263b6
cmp al, 0xf2
jne 0x4263bc
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0xdc], ecx
mov edx, dword [ebx + 4]
mov eax, dword [ebp + 8]
push 1
push dword [ebp - 0xd0]
push ecx
call fcn.004242b6
add esp, 0xc
test eax, eax
mov dword [ebp - 0xc4], eax
je 0x424772
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x20], 1
mov eax, dword [ebp - 0xc4]
push dword [ebp - 0xd8]
mov eax, dword [eax]
mov edx, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xd4]
mov esi, dword [ebp - 0xc8]
call fcn.0041e538
cmp eax, 0x10
mov edx, dword [ebp - 0xd8]
pop ecx
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 8], eax
mov dword [ecx + 8], edx
jne 0x426439
mov eax, dword [ebp - 0xc4]
and dword [eax], 0
and dword [ebp - 8], 0
cmp byte [ebx + 1], 0xfa
mov ecx, dword [ebp - 0xc4]
setne al
mov byte [ecx + 0x1e], al
mov eax, dword [ebp - 0xc4]
cmp byte [eax + 0x1e], 0
sete cl
mov byte [eax + 0x1f], cl
jmp case.0x424517.17
mov edx, dword [ebx + 4]
mov eax, dword [ebp + 8]
push 1
push 0xffffffffffffffff
push dword [ebx + 8]
call fcn.004242b6
xor edi, edi
add esp, 0xc
cmp eax, edi
mov dword [ebp - 0xdc], eax
je 0x424772
mov byte [eax + 0x1c], 1
movzx eax, byte [ebx + 3]
push 0x41e
or eax, 9
push eax
mov eax, dword [ebp - 0xdc]
add eax, 4
push eax
push dword [ebp - 0xc]
push edi
call fcn.0041dcee
add esp, 0x14
cmp eax, edi
mov dword [ebp - 8], eax
jne 0x4265fc
mov eax, dword [ebp - 0xdc]
push 1
push dword [eax + 4]
call fcn.0041e24e
cmp eax, edi
pop ecx
pop ecx
mov dword [ebp - 8], eax
jne 0x4265fc
cmp dword [ebx + 0x10], edi
je 0x42659b
lea eax, [ebp - 0xfc]
push eax
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 4]
push 2
pop ecx
call fcn.004209dc
cmp eax, edi
pop ecx
mov dword [ebp - 8], eax
jne 0x42658f
mov esi, dword [ebp - 0xdc]
mov edx, dword [esi + 4]
mov ecx, dword [edx + 4]
cmp byte [ecx + 0x10], 0
mov eax, dword [esi]
mov edi, dword [ebx + 0x10]
je 0x42651b
push 8
pop eax
jmp 0x42656c
cmp dword [ebp - 0xfc], 1
jne 0x42652e
cmp dword [ecx + 0x2c], 0
jne 0x42652e
push 0x10
jmp 0x426518
mov esi, dword [ebp - 0xfc]
or word [eax + 0x5a], 0xffff
mov dword [eax + 0x14], esi
mov dword [eax + 0x10], edi
mov dword [eax], edx
mov dword [eax + 4], ecx
mov byte [eax + 0x50], 1
mov edx, dword [ecx + 8]
test edx, edx
mov dword [eax + 8], edx
je 0x426555
mov dword [edx + 0xc], eax
mov dword [ecx + 8], eax
and dword [eax + 0x18], 0
and dword [eax + 0x1c], 0
mov byte [eax + 0x53], 0
mov esi, dword [ebp - 0xdc]
xor eax, eax
mov dword [ebp - 8], eax
mov eax, dword [ebx + 0x10]
mov dword [esi + 8], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0xdc]
mov ecx, dword [ecx + 8]
mov al, byte [eax + 0x49]
mov byte [ecx + 4], al
mov eax, dword [ebp - 0xdc]
mov byte [eax + 0x1e], 0
jmp 0x4265fc
mov esi, dword [ebp - 0xdc]
mov edx, dword [esi + 4]
mov ecx, dword [edx + 4]
cmp byte [ecx + 0x10], 0
mov eax, dword [esi]
je 0x4265b4
push 8
pop edi
jmp 0x4265f5
cmp dword [ecx + 0x2c], edi
jne 0x4265bd
push 0x10
jmp 0x4265b1
or word [eax + 0x5a], 0xffff
mov dword [eax + 0x14], 1
mov dword [eax + 0x10], edi
mov dword [eax], edx
mov dword [eax + 4], ecx
mov byte [eax + 0x50], 1
mov edx, dword [ecx + 8]
cmp edx, edi
mov dword [eax + 8], edx
je 0x4265e2
mov dword [edx + 0xc], eax
mov dword [ecx + 8], eax
mov byte [eax + 0x53], 0
mov dword [eax + 0x18], edi
mov dword [eax + 0x1c], edi
mov esi, dword [ebp - 0xdc]
mov dword [ebp - 8], edi
mov byte [esi + 0x1e], 1
cmp byte [ebx + 3], 0x10
mov ecx, dword [ebp - 0xdc]
setne al
mov byte [ecx + 0x20], al
mov eax, dword [ebp - 0xdc]
jmp 0x42644f
mov edx, dword [ebx + 4]
mov eax, dword [ebp + 8]
push 0
push 0xffffffffffffffff
push dword [ebx + 0xc]
call fcn.004242b6
add esp, 0xc
test eax, eax
mov dword [ebp - 0xdc], eax
je 0x424772
mov byte [eax + 0x1c], 1
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0xdc]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xdc]
mov byte [eax + 0x1e], 1
mov eax, dword [ebp - 0xdc]
mov byte [eax + 0x1f], 0
jmp case.0x424517.17
mov eax, dword [ebx + 4]
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + eax*4]
call fcn.00422950
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 4]
mov ecx, ebx
mov ecx, dword [ecx + 0x44]
and dword [ecx + eax*4], 0
jmp case.0x424517.17
mov ecx, dword [ebp + 8]
mov eax, dword [ebx + 4]
mov ecx, dword [ecx + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xd4], eax
cmp dword [eax], 0
je 0x42452f
movzx ecx, byte [ebx]
mov dword [ebp - 0xd8], ecx
mov byte [eax + 0x1c], 0
mov eax, dword [ebp - 0xd4]
cmp byte [eax + 0x1e], 0
je 0x42686c
mov esi, dword [ebx + 0xc]
imul esi, esi, 0x28
add esi, edi
call fcn.00424371
mov ecx, esi
call fcn.00421699
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xa8], edx
mov byte [eax + 0x19], 0
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x4267ff
test al, 8
je 0x42452f
xor edi, edi
cmp dword [ebp - 0xac], edi
jne 0x42679f
mov eax, 0x80000000
cmp dword [ebp - 0xa8], eax
jne 0x42679f
mov ecx, dword [esi + 0xc]
cmp ecx, eax
mov edx, dword [esi + 8]
jl 0x426737
jg 0x42672d
cmp edx, edi
jb 0x426737
cmp ecx, edi
jl 0x42679f
jg 0x426737
cmp edx, edi
jbe 0x42679f
mov dword [ebp - 0xdc], 1
cmp dword [esi + 0xc], edi
jg 0x42676f
jl 0x42674d
cmp dword [esi + 8], edi
jae 0x42676f
cmp dword [ebp - 0xd8], 0x2e
jl 0x42452f
mov eax, dword [ebp - 0xd4]
mov esi, dword [eax]
lea edi, [ebp - 0xdc]
call fcn.0041ec25
jmp 0x42678f
cmp dword [ebp - 0xd8], 0x2d
jg 0x42452f
mov eax, dword [ebp - 0xd4]
mov esi, dword [eax]
lea edi, [ebp - 0xdc]
call fcn.0041ec4a
test eax, eax
mov dword [ebp - 8], eax
jne 0x428941
jmp 0x42540a
cmp dword [ebp - 0xd8], 0x2c
je 0x4267d9
cmp dword [ebp - 0xd8], 0x2e
je 0x4267d9
mov eax, dword [esi + 0xc]
cmp eax, dword [ebp - 0xa8]
jg 0x4267ff
jl 0x4267c9
mov eax, dword [esi + 8]
cmp eax, dword [ebp - 0xac]
jae 0x4267ff
add dword [ebp - 0xac], 0xffffffff
adc dword [ebp - 0xa8], 0xffffffff
jmp 0x4267ff
mov eax, dword [esi + 0xc]
cmp eax, dword [ebp - 0xa8]
jl 0x4267ff
jg 0x4267f1
mov eax, dword [esi + 8]
cmp eax, dword [ebp - 0xac]
jbe 0x4267ff
add dword [ebp - 0xac], 1
adc dword [ebp - 0xa8], 0
lea eax, [ebp - 0xdc]
push eax
mov eax, dword [ebp - 0xd4]
mov ebx, dword [eax]
push 0
push dword [ebp - 0xa8]
push dword [ebp - 0xac]
push 0
call fcn.0041ec87
add esp, 0x14
test eax, eax
mov dword [ebp - 8], eax
jne 0x428941
xor ebx, ebx
cmp dword [ebp - 0xdc], ebx
jne 0x4268f7
mov eax, dword [ebp - 0xd4]
mov byte [eax + 0x19], 1
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xd4]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0xd4]
mov dword [ecx + 0x44], eax
jmp 0x4268f7
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0xb4], ecx
mov ecx, dword [eax + 8]
mov dword [ebp - 0xcc], ecx
mov cx, word [ebp - 0xb4]
mov word [ebp - 0xc8], cx
movzx ecx, byte [ebp - 0xd8]
and ecx, 1
shl ecx, 3
mov word [ebp - 0xc6], cx
mov ebx, dword [ebx + 0xc]
imul ebx, ebx, 0x28
add ebx, edi
mov dword [ebp - 0xbc], ebx
test word [ebx + 0x1c], 0x4000
je 0x4268c3
mov eax, ebx
call fcn.004214af
mov eax, dword [ebp - 0xd4]
mov ebx, dword [eax]
lea ecx, [ebp - 0xdc]
push ecx
xor ecx, ecx
push ecx
push ecx
push ecx
lea ecx, [ebp - 0xcc]
push ecx
call fcn.0041ec87
add esp, 0x14
test eax, eax
mov dword [ebp - 8], eax
jne 0x428941
mov eax, dword [ebp - 0xd4]
mov byte [eax + 0x19], 0
xor ebx, ebx
mov eax, dword [ebp - 0xd4]
mov byte [eax + 0x1d], bl
mov eax, dword [ebp - 0xd4]
mov dword [eax + 0x4c], ebx
cmp dword [ebp - 0xd8], 0x2e
jl 0x426946
cmp dword [ebp - 0xdc], ebx
jl 0x426930
jne 0x426925
cmp dword [ebp - 0xd8], 0x2f
je 0x426930
mov dword [ebp - 0xdc], ebx
jmp case.0x424517.17
lea eax, [ebp - 0xdc]
push eax
mov eax, dword [ebp - 0xd4]
push dword [eax]
call fcn.0041ef56
jmp 0x426986
cmp dword [ebp - 0xdc], ebx
jg 0x426972
jne 0x426959
cmp dword [ebp - 0xd8], 0x2c
je 0x426972
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax]
xor ecx, ecx
cmp byte [eax + 0x53], 1
setne cl
mov dword [ebp - 0xdc], ecx
jmp 0x42699e
lea eax, [ebp - 0xdc]
push eax
mov eax, dword [ebp - 0xd4]
push dword [eax]
call fcn.0041f060
cmp eax, ebx
pop ecx
mov dword [ebp - 8], eax
pop ecx
jne 0x428941
mov eax, dword [ebp - 0xd4]
xor ebx, ebx
mov byte [eax + 0x19], bl
cmp dword [ebp - 0xdc], ebx
je case.0x424517.17
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 8]
jmp 0x424556
mov ecx, dword [ebp + 8]
mov eax, dword [ebx + 4]
mov ecx, dword [ecx + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xdc], eax
cmp dword [eax], 0
je case.0x424517.17
mov byte [eax + 0x1c], 0
mov ebx, dword [ebx + 8]
imul ebx, ebx, 0x28
add ebx, edi
mov ecx, ebx
call fcn.00421699
mov ecx, dword [ebp - 0xdc]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 0xdc]
mov dword [eax + 0x3c], edx
mov eax, dword [ebp - 0xdc]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xdc]
mov byte [eax + 0x1d], 1
jmp case.0x424517.17
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x44]
xor edx, edx
mov dword [ebp - 0xdc], edx
mov eax, dword [ebx + 4]
mov ecx, dword [ecx + eax*4]
mov dword [ebp - 0xd8], ecx
mov eax, dword [ebx + 0xc]
imul eax, eax, 0x28
add eax, edi
cmp dword [ecx], edx
je 0x426b09
cmp dword [ebx + 0x10], edx
jle 0x426a6e
mov edx, dword [ecx + 8]
mov dword [ebp - 0xcc], edx
mov dx, word [ebx + 0x10]
mov dword [ebp - 0xbc], eax
lea eax, [ebp - 0xcc]
mov word [ebp - 0xc8], dx
mov word [ebp - 0xc6], 0x10
mov dword [ebp - 0xd0], eax
jmp 0x426aa2
push dword [eax + 4]
mov ebx, dword [ecx + 8]
push dword [eax + 0x18]
mov edx, 0x97
lea eax, [ebp - 0xb4]
call fcn.00423852
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 0xd0], eax
je 0x424772
or word [eax + 6], 0x10
mov ecx, dword [ebp - 0xd8]
mov ebx, dword [ecx]
lea eax, [ebp - 0xd4]
push eax
xor eax, eax
push eax
push eax
push eax
push dword [ebp - 0xd0]
call fcn.0041ec87
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x18]
add esp, 0x14
cmp dword [eax + 0x10], 0
jne 0x426ad5
mov esi, dword [ebp - 0xd0]
call fcn.00423967
cmp dword [ebp - 8], 0
jne case.0x424517.17
mov ebx, dword [ebp - 0x18]
xor ecx, ecx
xor eax, eax
cmp dword [ebp - 0xd4], eax
sete cl
xor edx, edx
mov dword [ebp - 0xdc], ecx
mov ecx, dword [ebp - 0xd8]
mov byte [ecx + 0x1d], al
mov ecx, dword [ebp - 0xd8]
mov dword [ecx + 0x4c], eax
cmp byte [ebx], 0x32
jne 0x426b19
cmp dword [ebp - 0xdc], edx
jmp 0x42506c
cmp dword [ebp - 0xdc], edx
jmp 0x425431
mov eax, dword [ebx + 0x10]
mov esi, dword [ebx + 0xc]
imul eax, eax, 0x28
mov ecx, dword [ebp + 8]
imul esi, esi, 0x28
mov ecx, dword [ecx + 0x44]
add eax, edi
mov dword [ebp - 0xcc], eax
mov eax, dword [ebx + 4]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xd8], eax
xor edx, edx
mov dword [eax + 0x48], edx
mov eax, dword [ebp - 0xd8]
mov dword [eax + 0x4c], edx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax]
mov dword [ebp - 0xd4], ecx
mov ecx, dword [eax + 8]
mov cx, word [ecx + 6]
add esi, edi
mov word [ebp - 0xdc], dx
cmp cx, dx
mov edx, dword [ebp - 0xcc]
mov word [ebp - 0xd0], cx
jbe 0x426bb9
movzx edi, word [ebp - 0xdc]
imul edi, edi, 0x28
test byte [edi + edx + 0x1c], 1
jne 0x426bab
inc word [ebp - 0xdc]
cmp word [ebp - 0xdc], cx
jb 0x426b88
jmp 0x426bb9
mov ebx, dword [ebx + 8]
dec ebx
and dword [ebp - 0xd4], 0
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0xd4], 0
je case.0x424517.17
mov eax, dword [eax + 8]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xd0]
inc eax
mov word [ebp - 0xc0], ax
mov word [ebp - 0xbe], 0x20
mov dword [ebp - 0xb4], edx
call fcn.0042177a
mov eax, dword [esi + 0x10]
mov ebx, dword [ebp - 0xd4]
mov dword [ebp - 0xac], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xd8]
add eax, 0x48
push eax
xor eax, eax
push eax
push eax
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.0041ec87
add esp, 0x14
test byte [ebp - 0xbe], 0x20
mov dword [ebp - 8], eax
jne 0x4269aa
mov eax, dword [ebp - 0xbc]
cmp eax, dword [ebp - 0xac]
jne 0x426c57
mov ecx, dword [ebp - 0xb8]
cmp ecx, dword [ebp - 0xa8]
je 0x4269aa
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0xb8]
jmp 0x424626
mov esi, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
imul esi, esi, 0x28
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xdc], eax
mov ecx, dword [eax]
add esi, edi
test ecx, ecx
mov dword [ebp - 0xd8], ecx
je 0x426d2a
xor edi, edi
mov dword [ebp - 0xd4], edi
mov eax, dword [esi + 0x10]
lea ebx, [ebp - 0xd4]
push ebx
mov dword [ebp - 0xcc], eax
mov edx, dword [esi + 0x14]
push edi
push edx
push eax
push edi
mov ebx, ecx
mov dword [ebp - 0xc8], edx
call fcn.0041ec87
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 8], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x40], eax
mov ecx, dword [ebp - 0xdc]
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x44], eax
mov edx, dword [ebp - 0xdc]
xor eax, eax
add esp, 0x14
cmp dword [ebp - 0xd4], eax
sete cl
mov byte [edx + 0x19], cl
mov ecx, dword [ebp - 0xdc]
mov byte [ecx + 0x1c], al
mov ecx, dword [ebp - 0xdc]
mov dword [ecx + 0x4c], eax
mov ecx, dword [ebp - 0xdc]
mov byte [ecx + 0x1d], al
mov ecx, dword [ebp - 0xd4]
cmp ecx, eax
je 0x426d1c
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 8]
dec eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0xdc]
mov dword [eax + 0x48], ecx
jmp case.0x424517.17
mov ebx, dword [ebx + 8]
dec ebx
and dword [eax + 0x48], 0
mov dword [ebp - 0x10], ebx
jmp case.0x424517.17
mov eax, dword [ebx + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x44]
mov eax, dword [edx + eax*4]
mov edx, dword [eax + 0x30]
mov dword [esi + 0x10], edx
mov eax, dword [eax + 0x34]
mov dword [esi + 0x14], eax
mov eax, dword [ebx + 4]
mov ecx, dword [ecx + 0x44]
mov eax, dword [ecx + eax*4]
add dword [eax + 0x30], 1
adc dword [eax + 0x34], 0
jmp case.0x424517.17
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x44]
xor ecx, ecx
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xd0], ecx
mov eax, dword [ebx + 4]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xd4], eax
cmp dword [eax], ecx
je 0x425d02
mov dword [ebp - 0xcc], ecx
cmp byte [eax + 0x1b], cl
jne 0x426e8d
mov ecx, dword [eax]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0xdc], edx
mov ecx, dword [ecx + 0x1c]
or edx, ecx
mov dword [ebp - 0xd8], ecx
jne 0x426e46
mov esi, dword [eax]
lea edi, [ebp - 0xd0]
call fcn.0041ec4a
test eax, eax
mov dword [ebp - 8], eax
jne 0x428941
cmp dword [ebp - 0xd0], 0
mov eax, dword [ebp - 0xd4]
je 0x426dfe
mov esi, dword [ebp - 0x14]
xor ecx, ecx
inc ecx
xor edx, edx
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0xd8], edx
jmp 0x426e65
mov eax, dword [eax]
lea edi, [ebp - 0xdc]
call fcn.0041e652
cmp dword [ebp - 0xdc], 0xffffffff
mov dword [ebp - 8], eax
jne 0x426e2f
cmp dword [ebp - 0xd8], 0x7fffffff
jne 0x426e2f
mov eax, dword [ebp - 0xd4]
mov byte [eax + 0x1b], 1
jmp 0x426e3d
add dword [ebp - 0xdc], 1
adc dword [ebp - 0xd8], 0
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd8]
cmp edx, 0x7fffffff
jg 0x426e6d
jl 0x426e5f
cmp dword [ebp - 0xdc], 0xffffffff
jae 0x426e6d
mov ecx, dword [ebp - 0xdc]
add ecx, 1
adc edx, 0
jmp 0x426e71
xor ecx, ecx
xor edx, edx
push edx
push ecx
mov ecx, dword [eax]
call fcn.0041e592
mov eax, dword [ebp - 0xd4]
add esp, 8
cmp byte [eax + 0x1b], 0
je 0x426f86
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x30]
mov ecx, dword [ecx + 0x34]
push 0
pop esi
mov edi, 0x3fffffff
and ecx, edi
add edx, 1
lea ebx, [ebp - 0xd0]
push ebx
adc ecx, esi
push esi
push ecx
push edx
mov dword [ebp - 0xdc], edx
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xcc], esi
mov ebx, dword [eax]
push esi
call fcn.0041ec87
add esp, 0x14
cmp eax, esi
mov dword [ebp - 8], eax
jne 0x426f7d
cmp dword [ebp - 0xd0], esi
jne 0x426f6c
inc dword [ebp - 0xcc]
cmp dword [ebp - 0xcc], 0x64
jge 0x426f6c
push 8
lea eax, [ebp - 0xdc]
call fcn.00415674
cmp dword [ebp - 0xcc], 5
pop ecx
jge 0x426f1b
and dword [ebp - 0xdc], 0xffffff
mov dword [ebp - 0xd8], esi
jmp 0x426f2d
mov eax, dword [ebp - 0xdc]
and dword [ebp - 0xd8], edi
mov dword [ebp - 0xdc], eax
add dword [ebp - 0xdc], 1
lea eax, [ebp - 0xd0]
push eax
adc dword [ebp - 0xd8], esi
mov eax, dword [ebp - 0xd4]
mov ebx, dword [eax]
push esi
push dword [ebp - 0xd8]
push dword [ebp - 0xdc]
push esi
call fcn.0041ec87
add esp, 0x14
xor esi, esi
test eax, eax
mov dword [ebp - 8], eax
je 0x426ed7
cmp dword [ebp - 8], esi
jne 0x426f7d
cmp dword [ebp - 0xd0], esi
je 0x42893a
mov eax, dword [ebp - 0xd4]
mov esi, dword [ebp - 0x14]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xd4]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xd4]
and dword [eax + 0x4c], 0
jmp 0x425d02
mov ecx, dword [ebx + 8]
mov esi, dword [ebp + 8]
imul ecx, ecx, 0x28
mov edx, dword [esi + 0x44]
add ecx, edi
mov dword [ebp - 0xdc], ecx
mov eax, dword [ebx + 4]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xcc], eax
cmp byte [ebx], 0x37
jne 0x426fe4
mov edx, dword [ebx + 0xc]
imul edx, edx, 0x28
add edx, edi
mov dword [ebp - 0xd8], edx
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xd4], eax
mov edx, dword [edx + 0x14]
jmp 0x426fee
mov eax, dword [ebx + 0xc]
cdq
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], edx
test byte [ebx + 3], 1
je 0x426ffd
inc dword [esi + 0x6c]
test byte [ebx + 3], 2
je 0x427018
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x30], eax
mov eax, dword [ebp - 0xd0]
mov dword [ecx + 0x34], eax
mov ecx, dword [ebp - 0xdc]
xor esi, esi
test byte [ecx + 0x1c], 1
je 0x427032
mov dword [ecx + 4], esi
mov eax, dword [ebp - 0xdc]
mov dword [eax + 0x18], esi
mov ecx, dword [ebp - 0xdc]
test byte [ebx + 3], 0x10
je 0x427049
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax + 0x48]
mov dword [ebp - 0xc4], eax
jmp 0x42704f
mov dword [ebp - 0xc4], esi
test word [ecx + 0x1c], 0x4000
je 0x427062
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0xc8], eax
jmp 0x427068
mov dword [ebp - 0xc8], esi
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax]
push esi
push esi
call fcn.0041e592
push dword [ebp - 0xc4]
movzx eax, byte [ebx + 3]
and eax, 8
push eax
push dword [ebp - 0xc8]
mov eax, dword [ebp - 0xdc]
push dword [eax + 0x18]
push dword [eax + 4]
mov eax, dword [ebp - 0xcc]
push dword [ebp - 0xd0]
mov ebx, dword [eax]
push dword [ebp - 0xd4]
push esi
call fcn.00420610
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 8], eax
xor eax, eax
mov byte [ecx + 0x19], al
mov ecx, dword [ebp - 0xcc]
mov byte [ecx + 0x1d], al
mov ecx, dword [ebp - 0xcc]
add esp, 0x28
cmp dword [ebp - 8], eax
mov dword [ecx + 0x4c], eax
jne case.0x424517.17
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0xbc], 0
je case.0x424517.17
mov ecx, dword [ebp - 0x18]
cmp dword [ecx + 0x10], 0
je case.0x424517.17
mov eax, dword [ebp - 0xcc]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0xc]
mov esi, dword [eax + 8]
push dword [ebp - 0xd0]
shl edx, 4
mov edx, dword [edx + esi]
push dword [ebp - 0xd4]
mov dword [ebp - 0xc0], edx
mov esi, dword [ecx + 0x10]
mov dword [ebp - 0xbc], esi
mov cl, byte [ecx + 3]
and cl, 4
neg cl
push esi
push edx
sbb ecx, ecx
and ecx, 5
add ecx, 0x12
push ecx
mov dword [ebp - 0xb8], ecx
push dword [eax + 0xb8]
call dword [eax + 0xbc]
add esp, 0x18
jmp case.0x424517.17
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x44]
xor eax, eax
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebx + 4]
mov edi, dword [edx + ecx*4]
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0xd4], edi
cmp dword [ecx + 0xbc], eax
je 0x427199
cmp dword [ebx + 0x10], eax
je 0x427199
mov eax, dword [edi + 0x40]
mov dword [ebp - 0xdc], eax
mov eax, dword [edi + 0x44]
mov dword [ebp - 0xd8], eax
call fcn.00423495
test eax, eax
mov dword [ebp - 8], eax
jne 0x428941
push eax
push eax
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax]
call fcn.0041e592
mov eax, dword [ebp - 0xd4]
mov ebx, dword [eax]
add esp, 8
call fcn.004207d0
mov ecx, dword [ebp - 0xd4]
and dword [ecx + 0x4c], 0
test eax, eax
mov dword [ebp - 8], eax
jne 0x42721c
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0xbc]
test edx, edx
je 0x42721c
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ecx + 0x10]
test ecx, ecx
je 0x42721c
push dword [ebp - 0xd8]
mov esi, dword [eax + 8]
push dword [ebp - 0xdc]
push ecx
mov ecx, dword [ebp - 0xd4]
mov ecx, dword [ecx + 0xc]
shl ecx, 4
push dword [ecx + esi]
push 9
push dword [eax + 0xb8]
call edx
add esp, 0x18
mov eax, dword [ebp - 0x18]
test byte [eax + 8], 1
je case.0x424517.17
mov eax, dword [ebp + 8]
jmp 0x4287e5
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x6c]
mov edx, dword [ebp - 0xc]
add dword [edx + 0x40], eax
mov dword [edx + 0x3c], eax
and dword [ecx + 0x6c], 0
jmp case.0x424517.17
mov eax, dword [ebx + 8]
mov ecx, dword [ebp + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xe4]
mov ecx, dword [ecx + 0x44]
mov dword [ebp - 0x14], eax
mov eax, dword [ebx + 4]
mov edi, dword [ecx + eax*4]
mov dword [ebp - 0xdc], edi
mov eax, dword [edi]
mov dword [ebp - 0xd8], eax
call fcn.00423495
test eax, eax
mov dword [ebp - 8], eax
jne 0x428941
mov eax, dword [ebp - 0xdc]
cmp byte [eax + 0x1f], 0
je 0x4272ce
mov eax, dword [ebp - 0xd8]
lea edi, [ebp - 0xcc]
call fcn.0041e652
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x48]
cdq
mov ecx, eax
mov eax, dword [ebp - 0xc8]
cmp eax, edx
jg 0x424e51
mov eax, dword [ebp - 0xcc]
jl 0x4272c6
cmp eax, ecx
ja 0x424e51
mov dword [ebp - 0xd4], eax
jmp 0x4272f0
mov edi, dword [ebp - 0xd8]
mov esi, edi
call fcn.0041e62c
mov eax, dword [edi + 0x2c]
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0xd4], eax
cmp eax, dword [ecx + 0x48]
ja 0x424e51
mov edi, dword [ebp - 0x14]
push 0
call fcn.004213a2
test eax, eax
pop ecx
jne 0x424772
mov eax, dword [ebp - 0xd4]
mov esi, edi
mov dword [esi + 0x18], eax
mov ax, word [esi + 0x1c]
and ax, 0xbf10
or ax, 0x10
mov word [esi + 0x1c], ax
mov eax, dword [ebp - 0xdc]
cmp byte [eax + 0x1f], 0
je 0x427345
mov eax, dword [esi + 4]
push 0
push eax
push dword [ebp - 0xd4]
mov eax, dword [ebp - 0xd8]
push 0
call fcn.0041e6ce
jmp 0x42735b
push dword [esi + 4]
push dword [ebp - 0xd4]
push 0
push dword [ebp - 0xd8]
call fcn.0041e964
mov dword [ebp - 8], eax
add esp, 0x10
jmp 0x425cc1
mov ecx, dword [ebp + 8]
mov eax, dword [ebx + 4]
mov ecx, dword [ecx + 0x44]
mov edi, dword [ecx + eax*4]
mov dword [ebp - 0xdc], edi
cmp byte [edi + 0x1c], 0
jne case.0x424517.10
cmp byte [edi + 0x1d], 0
je 0x427396
mov eax, dword [edi + 0x38]
mov dword [ebp - 0xd4], eax
mov eax, dword [edi + 0x3c]
jmp 0x4273f9
cmp dword [edi + 0x24], 0
je 0x4273d1
mov eax, dword [edi + 0x24]
mov eax, dword [eax]
mov dword [ebp - 0xcc], eax
mov eax, dword [eax]
lea ecx, [ebp - 0xd4]
push ecx
mov dword [ebp - 0xc8], eax
push dword [edi + 0x24]
call dword [eax + 0x30]
mov esi, dword [ebp - 0xcc]
mov edi, dword [ebp + 8]
pop ecx
pop ecx
mov dword [ebp - 8], eax
call fcn.00424421
jmp 0x427411
call fcn.00423495
test eax, eax
mov dword [ebp - 8], eax
jne 0x428941
mov eax, dword [ebp - 0xdc]
cmp byte [eax + 0x19], 0
je 0x427401
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0xd4], ecx
mov eax, dword [eax + 0x44]
mov dword [ebp - 0xd0], eax
jmp 0x427411
mov eax, dword [eax]
lea edi, [ebp - 0xd4]
call fcn.0041e652
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0xd0]
mov dword [eax + 0x14], ecx
jmp case.0x424517.17
mov eax, dword [ebx + 4]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xdc], eax
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 0xdc]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xdc]
mov esi, dword [eax]
test esi, esi
je case.0x424517.17
call fcn.0041d20a
jmp case.0x424517.17
mov eax, dword [ebx + 4]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xdc], eax
mov esi, dword [eax]
test esi, esi
mov dword [ebp - 0xd8], esi
jne 0x42748f
mov dword [ebp - 0xd4], 1
jmp 0x4274a3
lea edi, [ebp - 0xd4]
call fcn.0041ec4a
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xdc]
mov cl, byte [ebp - 0xd4]
mov byte [eax + 0x1c], cl
mov eax, dword [ebp - 0xdc]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xdc]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xdc]
and dword [eax + 0x4c], 0
mov ebx, dword [ebx + 8]
test ebx, ebx
jle case.0x424517.17
cmp dword [ebp - 0xd4], 0
je case.0x424517.17
jmp 0x424532
mov eax, dword [ebp + 8]
inc dword [eax + 0x7c]
jmp 0x4274f2
mov eax, dword [ebp + 8]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd4], 1
mov esi, dword [eax]
test esi, esi
mov dword [ebp - 0xd8], esi
je 0x42755c
lea edi, [ebp - 0xd4]
call fcn.0041ec25
cmp dword [ebp - 0xd4], 0
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 8], eax
sete al
mov byte [ecx + 0x1a], al
mov eax, dword [ebp - 0xdc]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xdc]
and dword [eax + 0x4c], 0
mov eax, dword [ebp - 0xdc]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xdc]
mov cl, byte [ebp - 0xd4]
mov byte [eax + 0x1c], cl
cmp dword [ebp - 0xd4], 0
jmp 0x42506c
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0xe0]
test eax, eax
jne 0x428980
mov esi, dword [ebp + 8]
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
test eax, eax
mov dword [ebp - 0xdc], eax
je case.0x424517.17
mov ecx, dword [eax]
test ecx, ecx
mov dword [ebp - 0xd8], ecx
jne 0x4275b1
mov byte [eax + 0x1c], 1
jmp case.0x424517.17
lea eax, [ebp - 0xd4]
mov dword [ebp - 0xd4], 1
cmp byte [ebx], 0x43
push eax
push ecx
jne 0x4275cf
call fcn.0041ef56
jmp 0x4275d4
call fcn.0041f060
pop ecx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xdc]
pop ecx
mov cl, byte [ebp - 0xd4]
mov byte [eax + 0x1c], cl
mov eax, dword [ebp - 0xdc]
and dword [eax + 0x4c], 0
cmp dword [ebp - 0xd4], 0
jne 0x427612
mov eax, dword [ebx + 8]
mov bl, byte [ebx + 3]
dec eax
test bl, bl
mov dword [ebp - 0x10], eax
je 0x427612
movzx eax, bl
lea eax, [esi + eax*4 + 0x74]
inc dword [eax]
mov eax, dword [ebp - 0xdc]
mov byte [eax + 0x19], 0
jmp case.0x424517.17
mov eax, dword [ebx + 4]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x44]
mov ecx, dword [ecx + eax*4]
mov dword [ebp - 0xdc], ecx
mov esi, dword [ebx + 8]
mov eax, dword [ecx]
imul esi, esi, 0x28
add esi, edi
test eax, eax
mov dword [ebp - 0xd8], eax
je case.0x424517.17
test word [esi + 0x1c], 0x4000
je 0x427665
mov eax, esi
call fcn.004214af
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 8], eax
jmp 0x427669
and dword [ebp - 8], 0
xor edx, edx
cmp dword [ebp - 8], edx
jne case.0x424517.17
mov eax, dword [esi + 0x18]
mov dword [ebp - 0xd4], eax
mov esi, dword [esi + 4]
mov dword [ebp - 0xd0], esi
test byte [ebx + 3], 0x10
je 0x427691
mov ecx, dword [ecx + 0x48]
jmp 0x427693
xor ecx, ecx
push ecx
push dword [ebx + 0xc]
mov ebx, dword [ebp - 0xd8]
push edx
push edx
cdq
push 0x4455fc
push edx
push eax
push esi
call fcn.00420610
add esp, 0x20
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xdc]
and dword [eax + 0x4c], 0
jmp case.0x424517.17
mov eax, dword [ebx + 4]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xdc], eax
mov ecx, dword [eax]
test ecx, ecx
mov dword [ebp - 0xd8], ecx
je case.0x424517.17
mov eax, dword [eax + 8]
mov dword [ebp - 0xcc], eax
mov ax, word [ebx + 0xc]
mov word [ebp - 0xc8], ax
xor eax, eax
mov word [ebp - 0xc6], ax
mov edx, dword [ebx + 8]
imul edx, edx, 0x28
add edx, edi
mov dword [ebp - 0xbc], edx
lea edx, [ebp - 0xd4]
push edx
push eax
push eax
push eax
lea eax, [ebp - 0xcc]
push eax
mov ebx, ecx
call fcn.0041ec87
add esp, 0x14
test eax, eax
mov dword [ebp - 8], eax
jne 0x4276b3
cmp dword [ebp - 0xd4], eax
jne 0x4276b3
mov ebx, dword [ebp - 0xd8]
call fcn.004207d0
jmp 0x4276b0
mov eax, dword [ebx + 4]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xd8], eax
mov eax, dword [eax]
mov dword [ebp - 0xdc], eax
mov word [esi + 0x1c], 1
cmp dword [ebp - 0xdc], 0
je case.0x424517.17
mov edi, dword [ebp - 0xd8]
call fcn.00423495
test eax, eax
mov dword [ebp - 8], eax
jne 0x428941
mov eax, dword [ebp - 0xd8]
cmp byte [eax + 0x1c], 0
jne case.0x424517.17
lea eax, [ebp - 0xd4]
push eax
push dword [ebp - 0xdc]
call fcn.00423b35
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 8], eax
jne 0x428941
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0xd0]
mov dword [eax + 0x14], ecx
mov word [eax + 0x1c], 4
jmp case.0x424517.17
mov ecx, dword [ebp + 8]
mov eax, dword [ebx + 4]
mov ecx, dword [ecx + 0x44]
mov esi, dword [ecx + eax*4]
mov dword [ebp - 0xdc], esi
cmp dword [esi], 0
je case.0x424517.17
mov eax, dword [esi + 8]
mov dword [ebp - 0xd4], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0xd0], ax
xor eax, eax
cmp byte [ebx + 3], al
setne al
lea eax, [eax*8 + 4]
mov word [ebp - 0xce], ax
mov eax, dword [ebx + 0xc]
imul eax, eax, 0x28
add eax, edi
mov dword [ebp - 0xc4], eax
lea eax, [ebp - 0xd8]
push eax
lea eax, [ebp - 0xd4]
push eax
call fcn.00423c1b
cmp byte [ebx], 0x51
pop ecx
pop ecx
mov dword [ebp - 8], eax
jne 0x427857
neg dword [ebp - 0xd8]
jmp 0x42785d
inc dword [ebp - 0xd8]
cmp dword [ebp - 0xd8], 0
jle case.0x424517.17
jmp 0x42452f
mov eax, dword [ebp - 0xc]
and dword [ebp - 0xd8], 0
mov eax, dword [eax + 0x88]
jmp 0x42789f
cmp dword [eax + 0x34], 0xbdf20da3
jne 0x42789c
cmp byte [eax + 0x67], 2
jae 0x42789c
cmp dword [eax + 0x58], 0
jl 0x42789c
inc dword [ebp - 0xd8]
mov eax, dword [eax + 0x40]
test eax, eax
mov dword [ebp - 0xd4], eax
jne 0x427881
mov word [esi + 0x1c], 1
cmp dword [ebp - 0xd8], 1
jle 0x4278cb
mov eax, dword [ebp + 8]
mov dword [ebp - 8], 6
mov byte [eax + 0x60], 2
jmp case.0x424517.17
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xd0], ecx
mov eax, dword [eax + 8]
mov ebx, dword [ebx + 4]
shl ecx, 4
mov ecx, dword [ecx + eax + 4]
lea eax, [ebp - 0xdc]
push eax
push ecx
mov eax, ebx
call fcn.00420b78
pop ecx
mov word [esi + 0x1c], 4
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xdc]
pop ecx
jmp 0x42460f
and dword [ebp - 0xdc], 0
mov eax, dword [ebx + 0xc]
neg eax
sbb eax, eax
lea ecx, [ebp - 0xdc]
and eax, ecx
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 8]
mov ecx, dword [ebx + 4]
push eax
mov eax, dword [ebx + 8]
shl eax, 4
mov eax, dword [eax + edx + 4]
call fcn.00420b43
cmp dword [ebx + 0xc], 0
pop ecx
mov dword [ebp - 8], eax
je case.0x424517.17
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp + 8]
add dword [ecx + 0x6c], eax
mov ebx, dword [ebx + 0xc]
test ebx, ebx
jle case.0x424517.17
imul ebx, ebx, 0x28
cdq
lea edi, [ebx + edi + 0x10]
add dword [edi], eax
adc dword [edi + 4], edx
jmp case.0x424517.17
and dword [ebp - 0xdc], 0
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xc]
shl eax, 4
add eax, dword [ecx + 8]
xor ecx, ecx
mov dword [ebp - 0xd4], eax
cmp byte [ebx], 0x62
lea edx, [ebp - 0xdc]
setne cl
push edx
inc ecx
mov dword [ebp - 0xd8], ecx
mov eax, dword [eax + 4]
call fcn.004209dc
jmp 0x4278fa
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0xc]
mov dword [ebp - 0xdc], eax
cmp dword [ebx + 8], 0
jne 0x4279d3
mov edx, dword [esi + 8]
mov ecx, eax
shl ecx, 4
mov ecx, dword [ecx + edx + 0xc]
test byte [ecx + 0x4a], 1
je case.0x424517.17
mov ecx, str.sqlite_master
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xd0], esi
mov edx, dword [ebx + 4]
mov dword [ebp - 0xcc], edx
mov edx, dword [ebp + 8]
add edx, 0x38
mov dword [ebp - 0xc8], edx
push dword [ebx + 0x10]
shl eax, 4
push ecx
mov ecx, dword [esi + 8]
push dword [eax + ecx]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
call fcn.00415419
add esp, 0x10
test eax, eax
mov dword [ebp - 0xd4], eax
je 0x424772
mov esi, dword [ebp - 0xc]
push 0
lea eax, [ebp - 0xd0]
push eax
mov byte [esi + 0x7c], 1
and dword [ebp - 0xc4], 0
push fcn.00436994
push dword [ebp - 0xd4]
push esi
call fcn.00435fdd
add esp, 0x14
test eax, eax
mov dword [ebp - 8], eax
jne 0x427a5c
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 8], eax
push dword [ebp - 0xd4]
push esi
call fcn.0041474a
cmp dword [ebp - 8], 7
pop ecx
pop ecx
mov byte [esi + 0x7c], 0
je 0x424772
jmp case.0x424517.17
mov ecx, dword [ebx + 4]
mov eax, dword [ebp - 0xc]
call fcn.0042e284
jmp 0x425970
mov ecx, dword [ebx + 0x10]
mov ebx, dword [ebx + 4]
mov esi, dword [ebp - 0xc]
shl ebx, 4
add ebx, dword [esi + 8]
push 0
call fcn.00415736
push eax
mov eax, dword [ebx + 0xc]
add eax, 4
mov edi, ecx
call fcn.004160e3
push eax
push esi
call fcn.0042efa8
add esp, 0x10
or dword [esi + 0xc], 0x200
jmp case.0x424517.17
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebx + 4]
mov ebx, dword [ebp - 0xc]
call fcn.0042edca
jmp case.0x424517.17
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0xc]
call fcn.0043a92b
jmp case.0x424517.17
mov esi, dword [ebx + 4]
mov ebx, dword [ebx + 8]
imul esi, esi, 0x28
imul ebx, ebx, 0x28
add esi, edi
add ebx, edi
test byte [esi + 0x1c], 0x20
jne 0x427b14
mov edi, esi
call fcn.0042187f
test byte [esi + 0x1c], 0x20
je 0x424772
push dword [ebx + 0x14]
push dword [ebx + 0x10]
mov edi, dword [esi + 0x10]
call fcn.004185c2
jmp 0x425397
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0xe0]
test eax, eax
jne 0x428980
mov esi, dword [ebx + 4]
imul esi, esi, 0x28
add esi, edi
test byte [esi + 0x1c], 0x20
je 0x427b9f
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xec], eax
call fcn.004187ed
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x427b9f
mov edx, dword [ecx]
mov dword [ebp - 0xdc], edx
mov ecx, dword [ecx + 4]
mov dword [ebp - 0xd8], ecx
mov ecx, dword [eax + 8]
mov ecx, dword [ecx + 8]
test ecx, ecx
mov dword [eax + 8], ecx
jne 0x427b86
mov esi, eax
call fcn.0041858f
mov esi, dword [ebx + 0xc]
push dword [ebp - 0xd8]
imul esi, esi, 0x28
push dword [ebp - 0xdc]
add esi, edi
jmp 0x425392
mov edi, esi
call fcn.004217fb
jmp 0x42452f
mov esi, dword [ebx + 4]
mov eax, dword [ebx + 0xc]
imul esi, esi, 0x28
mov ebx, dword [ebx + 0x10]
imul eax, eax, 0x28
add esi, edi
add eax, edi
mov dword [ebp - 0xdc], ebx
test byte [esi + 0x1c], 0x20
mov dword [ebp - 0xe8], eax
jne 0x427bed
mov edi, esi
call fcn.0042187f
test byte [esi + 0x1c], 0x20
je 0x424772
mov ebx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xe8]
test ebx, ebx
je 0x427c2f
jl 0x427bf8
and ebx, 0xf
jmp 0x427bfd
mov ebx, 0xff
push dword [eax + 0x14]
push dword [eax + 0x10]
mov eax, dword [esi + 0x10]
call fcn.0041882d
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 0xd8], eax
jne 0x4269aa
mov ebx, dword [ebp - 0xdc]
test ebx, ebx
mov eax, dword [ebp - 0xe8]
jl case.0x424517.17
push dword [eax + 0x14]
push dword [eax + 0x10]
jmp 0x427b1a
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc4], ecx
mov edx, dword [ebx + 0xc]
imul edx, edx, 0x28
add edx, edi
mov dword [ebp - 0xd4], edx
cmp byte [ebx + 3], 0
je 0x427c8d
mov esi, dword [eax + 0xd0]
test esi, esi
mov edi, dword [ecx + 0x10]
mov dword [ebp - 0xc0], edi
mov dword [ebp - 0xc8], esi
je 0x427c8d
cmp dword [esi + 0x20], edi
je 0x427c85
mov esi, dword [esi + 0x3c]
test esi, esi
mov dword [ebp - 0xc8], esi
jne 0x427c73
test esi, esi
jne case.0x424517.17
mov esi, dword [eax + 0xd8]
mov edi, dword [ebp - 0xc]
cmp esi, dword [edi + 0x70]
jl 0x427cb8
push str.too_many_levels_of_trigger_recursion
push edi
mov edi, dword [ebp + 8]
add edi, 0x38
mov dword [ebp - 8], 1
call fcn.00414a7c
jmp 0x425397
test byte [edx + 0x1c], 0x40
jne 0x427e05
mov eax, dword [ecx + 8]
add eax, dword [ecx + 0xc]
mov dword [ebp - 0xdc], eax
imul eax, eax, 0xa
add eax, dword [ecx + 0xc]
lea eax, [eax*4 + 0x40]
mov dword [ebp - 0xd8], eax
push eax
mov eax, edi
call fcn.004148d6
test eax, eax
pop ecx
mov dword [ebp - 0xc8], eax
je 0x424772
push dword [ebp - 0xd4]
call fcn.0042166b
mov eax, dword [ebp - 0xd4]
mov word [eax + 0x1c], 0x40
mov eax, dword [ebp - 0xc8]
pop ecx
mov ecx, dword [ebp - 0xd4]
mov dword [ecx + 0x10], eax
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp + 8]
mov dword [ecx], eax
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xdc]
mov dword [ecx + 0x24], edx
mov ecx, dword [ebp - 0xc4]
mov ecx, dword [ecx + 0xc]
mov edx, dword [ebp - 0xc8]
mov dword [edx + 0x28], ecx
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0x10]
mov dword [ecx + 4], edx
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0xc8]
mov dword [edx + 0x10], ecx
mov ecx, dword [eax + 0x18]
mov edx, dword [ebp - 0xc8]
mov dword [edx + 0x14], ecx
mov ecx, dword [eax + 0x44]
mov edx, dword [ebp - 0xc8]
mov dword [edx + 0x18], ecx
mov cx, word [eax + 0x32]
mov edx, dword [ebp - 0xc8]
mov word [edx + 0x1c], cx
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0xc8]
mov dword [edx + 8], ecx
mov ecx, dword [eax + 0x1c]
mov edx, dword [ebp - 0xc8]
mov dword [edx + 0xc], ecx
mov ecx, dword [ebp - 0xc4]
mov ecx, dword [ecx + 0x10]
mov edx, dword [ebp - 0xc8]
mov dword [edx + 0x20], ecx
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ecx + 0x24]
imul edx, edx, 0x28
lea esi, [edx + ecx + 0x40]
lea edx, [ecx + 0x40]
cmp edx, esi
mov dword [ebp - 0xcc], esi
mov dword [ebp - 0xd0], edx
je 0x427e0e
mov word [edx + 0x1c], 1
mov ecx, dword [ebp - 0xd0]
mov edx, edi
mov dword [ecx], edx
mov edx, dword [ebp - 0xd0]
add edx, 0x28
cmp edx, dword [ebp - 0xcc]
mov dword [ebp - 0xd0], edx
jne 0x427dd6
mov ecx, dword [ebp - 0xc8]
jmp 0x427e0e
mov ecx, dword [edx + 0x10]
mov dword [ebp - 0xc8], ecx
inc dword [eax + 0xd8]
mov edx, dword [eax + 0xd0]
mov dword [ecx + 0x3c], edx
mov esi, dword [ebp - 0xc8]
mov ecx, edi
mov edx, dword [ecx + 0x30]
mov dword [esi + 0x30], edx
mov ecx, dword [ecx + 0x34]
mov edx, dword [ebp - 0xc8]
mov dword [edx + 0x34], ecx
mov ecx, dword [eax + 0x6c]
mov edx, dword [ebp - 0xc8]
mov dword [edx + 0x38], ecx
mov ecx, dword [ebp - 0xc8]
and dword [eax + 0x6c], 0
lea edx, [ecx + 0x18]
mov dword [eax + 0xd0], ecx
mov dword [eax + 8], edx
mov esi, dword [ecx + 0x24]
mov dword [eax + 0x18], esi
mov cx, word [ecx + 0x28]
mov word [eax + 0x32], cx
mov ecx, esi
inc ecx
imul ecx, ecx, 0x28
add ecx, edx
or dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0xe4], edx
mov edx, dword [ebp - 0xc4]
mov dword [eax + 0x44], ecx
mov ecx, dword [edx]
mov dword [ebp - 0xf4], ecx
mov dword [eax + 4], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 0x1c], ecx
jmp case.0x424517.17
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xd0]
mov dword [ebp - 0xdc], eax
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
imul ecx, ecx, 0x14
mov edi, dword [ecx + edx + 4]
add edi, dword [ebx + 4]
push 0x1000
imul edi, edi, 0x28
add edi, dword [eax + 0x10]
mov dword [ebp - 0xd8], edi
jmp 0x4246b5
cmp dword [ebx + 4], 0
mov eax, dword [ebx + 8]
cdq
je 0x427ee2
mov ecx, dword [ebp - 0xc]
add ecx, 0x1d8
jmp 0x427eeb
mov ecx, dword [ebp + 8]
add ecx, 0xb8
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp case.0x424517.17
cmp dword [ebx + 4], 0
je 0x427f0f
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x1d8]
or ecx, dword [eax + 0x1dc]
jmp 0x425431
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xb8]
or ecx, dword [eax + 0xbc]
jmp 0x425431
mov eax, dword [ebx + 4]
imul eax, eax, 0x28
cmp dword [eax + edi + 0x14], 0
jl case.0x424517.17
jg 0x42452f
cmp dword [eax + edi + 0x10], 0
jbe case.0x424517.17
jmp 0x42452f
mov eax, dword [ebx + 4]
imul eax, eax, 0x28
cmp dword [eax + edi + 0x14], 0
jg case.0x424517.17
jl 0x42452f
cmp dword [eax + edi + 0x10], 0
jae case.0x424517.17
jmp 0x42452f
mov ecx, dword [ebx + 4]
mov eax, dword [ebx + 0xc]
imul ecx, ecx, 0x28
cdq
add ecx, edi
add dword [ecx + 0x10], eax
mov eax, dword [ecx + 0x10]
adc dword [ecx + 0x14], edx
or eax, dword [ecx + 0x14]
jmp 0x425431
movzx ecx, byte [ebx + 3]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0xc]
mov dword [ebp - 0xdc], ecx
mov eax, dword [ebx + 8]
and dword [ebp - 0xd8], 0
imul eax, eax, 0x28
add eax, edi
test ecx, ecx
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0x8c], edx
jle 0x427ffa
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0xd8]
mov dword [ecx + edx*4], eax
mov ecx, dword [ebp - 0xd0]
call fcn.0042428a
inc dword [ebp - 0xd8]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xd8]
add eax, 0x28
cmp ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xd0], eax
jl 0x427fbd
mov eax, dword [ebx + 0x10]
mov edi, dword [ebp - 0xc]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xe4]
xor esi, esi
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0x9c], eax
inc dword [eax + 0x18]
mov eax, dword [ebp - 0xcc]
mov word [ebp - 0xa8], 1
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xa0], esi
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0x98], esi
mov dword [ebp - 0x94], esi
test byte [eax + 3], 8
je 0x428065
mov ecx, dword [ebx - 4]
mov dword [ebp - 0x94], ecx
push dword [ebp - 0x8c]
lea ecx, [ebp - 0xcc]
push dword [ebp - 0xdc]
push ecx
call dword [eax + 0x10]
add esp, 0xc
cmp dword [ebp - 0x98], esi
je 0x4280b2
lea eax, [ebp - 0xc4]
push 1
push eax
call fcn.00421d78
push eax
push 0x44c760
push edi
mov edi, dword [ebp + 8]
add edi, 0x38
call fcn.00414a7c
mov eax, dword [ebp - 0x98]
add esp, 0x14
mov dword [ebp - 8], eax
lea eax, [ebp - 0xc4]
push eax
call fcn.0042166b
jmp 0x4246bd
mov esi, dword [ebx + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xe4]
mov dword [ebp - 0xdc], esi
mov edi, dword [ebx + 0x10]
call fcn.004215ac
test eax, eax
mov dword [ebp - 8], eax
je 0x428107
push dword [ebp - 0xdc]
call fcn.00423e07
mov edi, dword [ebp + 8]
pop ecx
push eax
push 0x44c760
push dword [ebp - 0xc]
add edi, 0x38
call fcn.00414a7c
add esp, 0xc
mov ecx, dword [ebp - 0xdc]
jmp 0x424e44
push dword [ebx + 4]
mov edi, dword [ebp - 0xc]
call fcn.00442a46
jmp 0x42596f
mov edx, dword [ebp + 8]
cmp dword [edx + 0x84], 0
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0xd4], eax
jne 0x42813f
mov ecx, dword [ebx + 4]
call fcn.004226b7
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 8]
shl eax, 4
cmp dword [ebp - 0xd4], 0xffffffff
mov eax, dword [eax + ecx + 4]
mov dword [ebp - 0xdc], eax
mov eax, dword [eax + 4]
mov edx, dword [eax]
mov dword [ebp - 0xd8], edx
movzx esi, byte [edx + 5]
mov dword [ebp - 0xd0], esi
jne 0x428179
mov dword [ebp - 0xd4], esi
cmp byte [edx + 0xf], 3
jae 0x428194
mov ecx, dword [edx + 0x40]
xor eax, eax
cmp dword [ecx], eax
je 0x42819a
cmp dword [edx + 0x4c], eax
jl 0x42819a
jg 0x428194
cmp dword [edx + 0x48], eax
jbe 0x42819a
mov dword [ebp - 0xd4], esi
cmp dword [ebp - 0xd4], 5
mov eax, dword [edx + 0x90]
mov dword [ebp - 0xcc], eax
jne 0x4281c5
cmp byte [eax], 0
je 0x4281bf
mov eax, edx
call fcn.0041b68b
test eax, eax
jne 0x4281c5
mov dword [ebp - 0xd4], esi
cmp dword [ebp - 0xd4], esi
je 0x428268
push 5
pop eax
cmp esi, eax
je 0x4281e4
cmp dword [ebp - 0xd4], eax
jne 0x428268
mov ecx, dword [ebp - 0xc]
cmp byte [ecx + 0x1c], 0
je 0x42829b
cmp dword [ecx + 0x8c], 1
jg 0x42829b
cmp esi, eax
jne 0x42821e
mov eax, edx
call fcn.0041b740
test eax, eax
mov dword [ebp - 8], eax
jne 0x428250
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xd8]
jmp 0x428228
cmp esi, 4
jne 0x42822d
push 2
pop ecx
mov eax, edx
call fcn.0041b5ea
push dword [ebp - 0xdc]
xor ebx, ebx
cmp dword [ebp - 0xd4], 5
sete bl
inc ebx
call fcn.00420d68
test eax, eax
mov ebx, dword [ebp - 0x18]
pop ecx
mov dword [ebp - 8], eax
je 0x42825c
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xd4], eax
mov edi, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xd4]
mov eax, edx
call fcn.0041b5ea
mov dword [ebp - 0xd4], eax
mov ebx, dword [ebx + 8]
imul ebx, ebx, 0x28
add ebx, edi
mov word [ebx + 0x1c], 0xa02
mov eax, dword [ebp - 0xd4]
cmp eax, 6
mov dword [ebp - 0x14], ebx
jne 0x4282ce
xor ecx, ecx
jmp 0x4282d5
cmp dword [ebp - 0xd4], eax
mov dword [ebp - 8], 1
mov eax, str.into
je 0x4282b4
mov eax, str.out_of
mov edi, dword [ebp + 8]
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
push ecx
add edi, 0x38
call fcn.00414a7c
add esp, 0xc
jmp case.0x424517.17
mov ecx, dword [eax*4 + 0x446710]
mov dword [ebx + 4], ecx
call fcn.00415736
mov dword [ebx + 0x18], eax
mov byte [ebx + 0x1f], 1
jmp case.0x424517.17
mov eax, dword [ebp + 8]
mov esi, dword [ebp - 0xc]
add eax, 0x38
push eax
call fcn.0043bc60
jmp 0x42596f
cmp dword [ebx + 4], 0
jne 0x428310
mov eax, dword [ebp - 0xc]
call fcn.00423cab
jmp case.0x424517.17
mov eax, dword [ebp + 8]
mov byte [eax + 0x64], 1
jmp case.0x424517.17
mov eax, dword [ebx + 0x10]
push dword [ebp - 0xc]
mov dword [ebp - 0xdc], eax
call fcn.0043c74a
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xdc]
test eax, eax
pop ecx
je case.0x424517.17
mov esi, dword [eax + 8]
mov edi, dword [ebp + 8]
call fcn.00424421
jmp case.0x424517.17
mov eax, dword [ebp + 8]
add eax, 0x38
push eax
push dword [ebx + 0x10]
mov eax, dword [ebx + 4]
push dword [ebp - 0xc]
call fcn.0043c57a
add esp, 0xc
jmp 0x425970
mov esi, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov byte [esi + 0x67], 2
push dword [ebx + 0x10]
mov eax, dword [ebx + 4]
call fcn.0043c617
pop ecx
mov dword [ebp - 8], eax
mov byte [esi + 0x67], 0
jmp case.0x424517.17
and dword [ebp - 0xdc], 0
and dword [ebp - 0xd8], 0
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + 8]
lea edx, [ebp - 0xd8]
mov dword [ebp - 0xd4], eax
mov ecx, dword [eax]
push edx
push eax
mov dword [ebp - 0xd0], ecx
call dword [ecx + 0x18]
mov esi, dword [ebp - 0xd4]
mov edi, dword [ebp + 8]
pop ecx
pop ecx
mov dword [ebp - 8], eax
call fcn.00424421
cmp dword [ebp - 8], 0
jne case.0x424517.17
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xd8]
push 0
mov dword [ecx], eax
mov edx, dword [ebx + 4]
push 0xffffffffffffffff
push 0
mov eax, edi
call fcn.004242b6
add esp, 0xc
test eax, eax
mov dword [ebp - 0xdc], eax
je 0x428424
mov ecx, dword [ebp - 0xd8]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax]
mov eax, dword [eax]
mov ecx, dword [ebp - 0xdc]
mov dword [ecx + 0x28], eax
jmp case.0x424517.17
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x1e], 1
push dword [ebp - 0xd8]
mov eax, dword [ebp - 0xd0]
call dword [eax + 0x1c]
jmp 0x4246bd
mov eax, dword [ebx + 0xc]
imul eax, eax, 0x28
add eax, edi
mov edi, dword [ebp + 8]
mov esi, dword [edi + 0x44]
mov dword [ebp - 0xd0], eax
lea edx, [eax + 0x28]
mov dword [ebp - 0xcc], edx
mov ecx, dword [ebx + 4]
mov ecx, dword [esi + ecx*4]
mov dword [ebp - 0xc0], ecx
mov ecx, dword [ecx + 0x24]
mov dword [ebp - 0xc8], ecx
mov esi, dword [ecx]
mov dword [ebp - 0xc4], esi
mov esi, dword [esi]
mov dword [ebp - 0xd4], esi
mov esi, dword [edx + 0x10]
mov dword [ebp - 0xdc], esi
mov eax, dword [eax + 0x10]
and dword [ebp - 0xbc], 0
and dword [ebp - 0xb8], 0
test esi, esi
mov dword [ebp - 0xd8], eax
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xb4], eax
jle 0x4284fb
jmp 0x4284b6
mov edx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xb8]
lea ecx, [eax + 1]
imul ecx, ecx, 0x28
add ecx, edx
mov edx, dword [ebp - 0xb4]
mov dword [edx + eax*4], ecx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx + eax*4]
call fcn.0042428a
inc dword [ebp - 0xb8]
mov eax, dword [ebp - 0xb8]
cmp eax, dword [ebp - 0xdc]
jl 0x4284b0
mov ecx, dword [ebp - 0xc8]
push dword [ebp - 0xb4]
mov eax, dword [ebp - 0xd4]
push dword [ebp - 0xdc]
mov byte [edi + 0x67], 1
push dword [ebx + 0x10]
push dword [ebp - 0xd8]
push ecx
call dword [eax + 0x20]
mov esi, dword [ebp - 0xc4]
add esp, 0x14
mov dword [ebp - 8], eax
mov byte [edi + 0x67], 0
call fcn.00424421
cmp dword [ebp - 8], 0
jne 0x42854f
push dword [ebp - 0xc8]
mov eax, dword [ebp - 0xd4]
call dword [eax + 0x28]
pop ecx
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 0
je 0x42855f
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0x10], ebx
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x1c], 0
jmp case.0x424517.17
mov eax, dword [ebx + 4]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x44]
mov ecx, dword [ecx + eax*4]
mov eax, dword [ebx + 0xc]
imul eax, eax, 0x28
add eax, edi
mov dword [ebp - 0xd4], eax
cmp byte [ecx + 0x1c], 0
mov dword [ebp - 0xec], ecx
jne 0x424c0f
mov edi, ecx
mov eax, dword [edi + 0x24]
mov eax, dword [eax]
mov dword [ebp - 0xdc], eax
mov eax, dword [eax]
push 0x40
mov dword [ebp - 0xd8], eax
lea eax, [ebp - 0xcc]
push 0
push eax
call sub.msvcrt.dll_memset
mov esi, dword [ebp - 0xd4]
lea eax, [ebp - 0xc4]
add esp, 0xc
push eax
call fcn.00421979
mov eax, dword [ebp - 0xa8]
and ax, 0xbf01
or ax, 1
pop ecx
mov word [ebp - 0xa8], ax
push dword [ebx + 8]
lea eax, [ebp - 0xcc]
push eax
push dword [edi + 0x24]
mov eax, dword [ebp - 0xd8]
call dword [eax + 0x2c]
mov esi, dword [ebp - 0xdc]
mov edi, dword [ebp + 8]
add esp, 0xc
mov dword [ebp - 8], eax
call fcn.00424421
mov eax, dword [ebp - 0x98]
test eax, eax
je 0x42861f
mov dword [ebp - 8], eax
push dword [ebp - 0xd4]
lea esi, [ebp - 0xc4]
call fcn.00421979
pop ecx
mov ecx, dword [ebp - 0xd4]
jmp 0x424e44
and dword [ebp - 0xd4], 0
mov ecx, dword [ebp + 8]
mov eax, dword [ebx + 4]
mov ecx, dword [ecx + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xd0], eax
cmp byte [eax + 0x1c], 0
jne case.0x424517.17
mov ecx, dword [eax + 0x24]
mov ecx, dword [ecx]
mov edi, dword [ebp + 8]
mov dword [ebp - 0xdc], ecx
mov ecx, dword [ecx]
mov dword [ebp - 0xd8], ecx
mov byte [edi + 0x67], 1
push dword [eax + 0x24]
call dword [ecx + 0x24]
mov esi, dword [ebp - 0xdc]
pop ecx
mov dword [ebp - 8], eax
mov byte [edi + 0x67], 0
call fcn.00424421
cmp dword [ebp - 8], 0
jne 0x4286b1
mov eax, dword [ebp - 0xd0]
push dword [eax + 0x24]
mov eax, dword [ebp - 0xd8]
call dword [eax + 0x28]
pop ecx
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xd4], 0
jmp 0x425431
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + 8]
mov dword [ebp - 0xdc], eax
mov ebx, dword [ebx + 4]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0xe4]
mov dword [ebp - 0xd8], ebx
push dword [ebx + 4]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x4c]
mov esi, dword [ebp - 0xdc]
mov edi, dword [ebp + 8]
pop ecx
pop ecx
mov dword [ebp - 8], eax
call fcn.00424421
mov eax, edi
jmp 0x426242
mov eax, dword [ebx + 0x10]
mov edx, dword [eax + 8]
mov dword [ebp - 0xdc], edx
mov eax, dword [edx]
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebx + 8]
xor esi, esi
mov dword [ebp - 0xd4], ecx
cmp dword [eax + 0x34], esi
je case.0x424517.17
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0xc]
mov dword [ebp - 0xc4], ecx
mov ecx, dword [ebx + 0xc]
imul ecx, ecx, 0x28
add ecx, edi
cmp dword [ebp - 0xd4], esi
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0xd0], esi
jle 0x428797
call fcn.0042428a
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xc4]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0xc0]
add ecx, 0x28
inc dword [ebp - 0xd0]
mov eax, dword [ebp - 0xd0]
cmp eax, dword [ebp - 0xd4]
mov dword [ebp - 0xc0], ecx
jl 0x42874e
mov eax, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xdc]
lea ecx, [ebp - 0xcc]
push ecx
push dword [ebp - 0xc4]
push dword [ebp - 0xd4]
push edx
call dword [eax + 0x34]
mov esi, dword [ebp - 0xdc]
mov edi, dword [ebp + 8]
add esp, 0x10
mov dword [ebp - 8], eax
call fcn.00424421
cmp dword [ebp - 8], 0
jne 0x4287e3
cmp dword [ebx + 4], 0
je 0x4287e3
mov ecx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x30], ecx
mov ecx, dword [ebp - 0xc8]
mov dword [eax + 0x34], ecx
mov eax, edi
inc dword [eax + 0x6c]
inc dword [ebp - 0x10]
cmp dword [ebp - 8], 0
jne 0x424e6d
mov esi, dword [ebp - 0xc]
jmp 0x4244c1
mov eax, dword [ebx + 4]
mov dword [esi + 0x5c], eax
mov al, byte [ebx + 8]
mov byte [esi + 0x60], al
mov eax, dword [ebp - 0x10]
mov dword [esi + 0x58], eax
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x42884b
mov esi, dword [ebp + 8]
push eax
push 0x44c760
push dword [ebp - 0xc]
lea edi, [esi + 0x38]
call fcn.00414a7c
add esp, 0xc
push dword [ebx + 0x10]
push dword [esi + 0xc8]
push dword [ebp - 0x10]
push str.abort_at__d_in___s_:__s
push dword [ebx + 4]
call fcn.0041557a
add esp, 0x14
jmp 0x42886a
cmp dword [esi + 0x5c], 0
je 0x42886a
push dword [esi + 0xc8]
push dword [ebp - 0x10]
push str.constraint_failed_at__d_in___s_
push dword [ebx + 4]
call fcn.0041557a
add esp, 0x10
mov eax, esi
call fcn.0042306a
push 5
pop ecx
cmp eax, ecx
jne 0x428882
mov eax, ecx
mov dword [esi + 0x5c], ecx
jmp 0x424ea9
mov eax, dword [esi + 0x5c]
neg eax
sbb eax, eax
and eax, 0xffffff9c
add eax, 0x65
jmp 0x424ea9
lea eax, [ebp - 0xcc]
push eax
call fcn.0042166b
pop ecx
jmp 0x424772
mov eax, dword [ebp - 0x10]
mov dword [ebx + 0x58], eax
mov byte [esi + 0x1c], 0
mov eax, ecx
mov dword [ebx + 0x5c], ecx
jmp 0x424ea9
test ecx, ecx
je 0x4288d5
mov eax, esi
call fcn.004427ed
mov edi, dword [ebp + 8]
mov byte [esi + 0x1c], bl
call fcn.00442580
mov eax, dword [edi + 0x5c]
jmp 0x428885
mov edi, dword [ebp + 8]
push ebx
mov eax, edi
call fcn.00423015
test eax, eax
pop ecx
jne 0x424ea9
mov al, byte [ebp - 0xdc]
mov byte [esi + 0x1c], al
mov eax, edi
call fcn.0042306a
push 5
pop ecx
cmp eax, ecx
jne 0x4288cb
mov eax, dword [ebp - 0x10]
sub bl, byte [ebp - 0xdc]
mov dword [edi + 0x58], eax
mov byte [esi + 0x1c], bl
mov eax, ecx
mov dword [edi + 0x5c], ecx
jmp 0x424ea9
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
mov dword [ecx + 0x58], edx
mov dword [ecx + 0x5c], eax
jmp 0x424ea9
push 0xf8d0
call fcn.00442f0d
pop ecx
mov dword [ebp - 8], eax
jmp 0x428941
mov dword [ebp - 8], 0xd
mov ecx, dword [ebp - 0xc]
cmp byte [ecx + 0x1e], 0
je 0x428951
mov dword [ebp - 8], 7
cmp dword [ebp - 8], 0xc0a
je 0x424e6d
mov eax, dword [ebp - 8]
call fcn.0044288d
mov edi, dword [ebp + 8]
push eax
push 0x44c760
push ecx
add edi, 0x38
call fcn.00414a7c
add esp, 0xc
jmp 0x424e6d
mov ecx, dword [ebp + 8]
push 9
pop eax
mov dword [ebp - 8], eax
mov dword [ecx + 0x5c], eax
call fcn.0044288d
push eax
push 0x44c760
push dword [ebp - 0xc]
lea edi, [ecx + 0x38]
jmp 0x428973