Function at 0x465c0c
Capabilities:
Encrypt data using speck
Parse credit card information
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x26c
mov eax, dword [0x631040]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
xor ebx, ebx
mov dword [ebp - 0x200], edi
mov dword [ebp - 0x1f8], ebx
mov byte [ebp - 0x245], bl
mov esi, dword [edi]
mov eax, dword [edi + 0x58]
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x204], eax
mov al, byte [esi + 0x42]
mov byte [ebp - 0x244], al
mov eax, dword [edi + 0x5c]
mov dword [ebp - 0x1f4], esi
mov dword [ebp - 0x260], ebx
mov dword [ebp - 0x1fc], ebx
mov dword [ebp - 0x25c], ebx
mov dword [ebp - 0x208], eax
call fcn.0046181d
xor eax, eax
push 7
inc eax
pop ecx
mov dword [ebp - 0x264], eax
cmp dword [edi + 0x28], ecx
je 0x4676d7
mov dword [edi + 0x38], ebx
mov dword [edi + 0x3c], ebx
mov dword [edi + 0x68], ebx
mov dword [esi + 0x184], ebx
cmp dword [esi + 0xf8], ebx
jne 0x46ae87
cmp dword [esi + 0x130], ebx
je 0x465ccb
mov ecx, dword [esi + 0x138]
xor edx, edx
mov eax, dword [edi + 0xac]
div ecx
xor eax, eax
sub ecx, edx
inc eax
mov dword [ebp - 0x25c], ecx
imul ebx, dword [edi + 0x24], 0x14
mov edx, dword [ebp - 0x1fc]
add ebx, dword [ebp - 0x240]
mov cl, byte [ebx]
inc edx
mov dword [ebp - 0x1fc], edx
movzx edx, cl
mov dword [ebp - 0x204], ebx
mov byte [ebp - 0x211], cl
mov dword [ebp - 0x228], edx
cmp edx, 0xa0
ja case.0x465d01.95
jmp dword [edx*4 + 0x46af1c]
imul ecx, dword [ebx + 4], 0x28
push 4
pop eax
push 0x14
pop esi
add ecx, dword [ebp - 0x208]
mov word [ecx + 8], ax
mov eax, ebx
sub eax, dword [ebp - 0x240]
cdq
idiv esi
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x46a9f8
imul eax, dword [ebx + 4], 0x28
mov ecx, 0x80
add eax, dword [ebp - 0x208]
imul ebx, dword [eax], 0x14
add ebx, dword [ebp - 0x240]
mov word [eax + 8], cx
xor eax, eax
inc eax
mov edx, dword [ebp - 0x1fc]
push 0x14
pop ecx
add ebx, ecx
jmp 0x465cdb
imul ecx, dword [ebx + 4], 0x28
mov eax, dword [ebx + 0xc]
push 4
add ecx, dword [ebp - 0x208]
dec eax
cdq
mov dword [ecx], eax
pop eax
mov dword [ecx + 4], edx
mov word [ecx + 8], ax
xor ecx, ecx
cmp dword [ebx + 8], ecx
jne 0x46a9f8
jmp 0x465d4e
imul ecx, dword [ebx + 4], 0x28
mov edx, dword [ebp - 0x240]
add ecx, dword [ebp - 0x208]
lea ebx, [edx - 0x14]
imul eax, dword [ecx], 0x14
imul eax, dword [eax + edx + 8], 0x14
add ebx, eax
mov eax, 0x80
mov word [ecx + 8], ax
jmp 0x465d4e
imul esi, dword [ebx + 4], 0x28
sub ebx, dword [ebp - 0x240]
push 4
pop eax
push 0x14
add esi, dword [ebp - 0x208]
mov word [esi + 8], ax
mov eax, ebx
cdq
pop ebx
idiv ebx
mov ecx, dword [esi]
imul ebx, ecx, 0x14
cdq
add ebx, dword [ebp - 0x240]
mov dword [esi + 4], edx
mov dword [esi], eax
mov esi, dword [ebp - 0x1f4]
jmp 0x465d4e
imul eax, dword [ebx + 0xc], 0x28
mov ecx, dword [ebp - 0x208]
test byte [eax + ecx + 8], 1
je 0x465d4e
mov eax, ebx
sub eax, dword [ebp - 0x240]
push 0x14
pop ecx
cdq
idiv ecx
mov ecx, dword [ebx + 4]
mov esi, eax
test ecx, ecx
jne 0x46aa0c
mov edx, dword [edi + 0xb8]
test edx, edx
je 0x46aa0c
mov eax, dword [edx + 4]
mov ecx, edx
mov esi, dword [ebp - 0x1f4]
dec dword [edi + 0xc0]
mov dword [edi + 0xb8], eax
mov eax, dword [edi + 0x2c]
add dword [esi + 0x5c], eax
mov dword [esi + 0x58], eax
call fcn.00461f36
push 4
pop ecx
cmp dword [ebx + 8], ecx
jne 0x465e62
imul ecx, eax, 0x14
mov eax, dword [edi + 0x58]
mov eax, dword [ecx + eax + 8]
dec eax
mov edx, dword [edi + 0x58]
mov ecx, dword [edi + 0x5c]
imul ebx, eax, 0x14
mov dword [ebp - 0x240], edx
mov dword [ebp - 0x208], ecx
add ebx, edx
jmp 0x465d4e
mov edx, ebx
mov ecx, edi
call fcn.00465be4
mov ecx, eax
mov eax, dword [ebx + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x465d4e
mov edx, ebx
mov ecx, edi
call fcn.00465be4
mov ecx, dword [ebx + 0x10]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [eax], edx
mov dword [eax + 4], ecx
jmp 0x465d4e
mov edx, ebx
mov ecx, edi
call fcn.00465be4
push 8
pop ecx
mov word [eax + 8], cx
mov ecx, dword [ebx + 0x10]
movsd xmm0, qword [ecx]
movsd qword [eax], xmm0
jmp 0x465d4e
mov edx, ebx
mov ecx, edi
call fcn.00465be4
mov edx, dword [ebx + 0x10]
mov esi, eax
mov byte [ebx], 0x4f
test edx, edx
jne 0x465eed
xor eax, eax
mov ecx, eax
jmp 0x465f0b
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x20c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x465ef8
sub ecx, dword [ebp - 0x20c]
and ecx, 0x3fffffff
xor eax, eax
mov dword [ebx + 4], ecx
inc eax
cmp byte [ebp - 0x244], al
je 0x465f85
xor ecx, ecx
push ecx
push eax
push 0xffffffffffffffff
mov ecx, esi
call fcn.004605c6
add esp, 0xc
mov dword [ebp - 0x1f8], eax
push 2
pop eax
test byte [esi + 8], al
je 0x465f53
mov al, byte [ebp - 0x244]
cmp byte [esi + 0xa], al
je 0x465f53
mov dl, al
mov ecx, esi
call fcn.0044badd
test eax, eax
jne 0x4676d1
xor eax, eax
mov dword [esi + 0x18], eax
mov eax, 0x800
or word [esi + 8], ax
cmp byte [ebx + 1], 0xff
jne 0x465f75
mov edx, dword [ebx + 0x10]
mov ecx, dword [ebp - 0x1f4]
call fcn.0044a0d4
mov byte [ebx + 1], 0xff
mov eax, dword [esi + 0x10]
mov dword [ebx + 0x10], eax
mov ecx, dword [esi + 0xc]
mov dword [ebx + 4], ecx
mov eax, dword [ebp - 0x1f4]
cmp ecx, dword [eax + 0x60]
jg 0x4668d7
mov edx, ebx
mov ecx, edi
call fcn.00465be4
mov esi, eax
mov eax, 0xa02
mov word [esi + 8], ax
mov ecx, dword [ebx + 0x10]
mov dword [esi + 0x10], ecx
mov ecx, dword [ebx + 4]
mov dword [esi + 0xc], ecx
mov cl, byte [ebp - 0x244]
mov byte [esi + 0xa], cl
mov eax, dword [ebx + 0xc]
test eax, eax
jle 0x465de1
mov edi, dword [ebp - 0x208]
imul ecx, eax, 0x28
movzx eax, word [ebx + 2]
cdq
cmp dword [ecx + edi], eax
mov edi, dword [ebp - 0x200]
jne 0x465de1
mov eax, dword [ebp - 0x208]
cmp dword [ecx + eax + 4], edx
mov edx, dword [ebp - 0x1fc]
jne 0x466000
mov eax, 0xa10
mov word [esi + 8], ax
mov esi, dword [ebp - 0x1f4]
xor eax, eax
inc eax
jmp 0x465d57
mov edx, ebx
mov ecx, edi
call fcn.00465be4
mov ecx, dword [ebx + 0xc]
mov esi, 0x101
mov edx, dword [ebx + 8]
mov dword [ebp - 0x228], ecx
xor ecx, ecx
inc ecx
cmp dword [ebx + 4], 0
cmovne ecx, esi
and dword [eax + 0xc], 0
lea esi, [eax + 8]
movzx ecx, cx
mov eax, dword [ebp - 0x228]
sub eax, edx
mov dword [ebp - 0x20c], ecx
mov word [esi], cx
mov dword [ebp - 0x228], eax
test eax, eax
jle 0x465de1
xor edx, edx
mov ebx, 0x2460
lea esi, [esi + 0x28]
test word [esi], bx
je 0x466080
lea ecx, [esi - 8]
call fcn.0046005b
mov eax, dword [ebp - 0x228]
xor edx, edx
mov ecx, dword [ebp - 0x20c]
dec eax
mov word [esi], cx
mov dword [esi + 4], edx
mov dword [ebp - 0x228], eax
test eax, eax
jg 0x466062
mov ebx, dword [ebp - 0x204]
mov edi, dword [ebp - 0x200]
jmp 0x465de1
imul ecx, dword [ebx + 4], 0x28
mov edx, 0xff7f
add ecx, dword [ebp - 0x208]
mov ax, word [ecx + 8]
and ax, dx
xor edx, edx
inc edx
or ax, dx
jmp 0x465dab
mov edx, ebx
mov ecx, edi
call fcn.00465be4
mov edx, dword [ebx + 0x10]
mov esi, eax
xor eax, eax
mov ecx, esi
push eax
push eax
push dword [ebx + 4]
call fcn.004605c6
add esp, 0xc
mov al, byte [ebp - 0x244]
mov byte [esi + 0xa], al
jmp 0x465de1
imul esi, dword [ebx + 4], 0x28
add esi, dword [edi + 0x74]
lea ecx, [esi - 0x28]
call fcn.0046049e
test eax, eax
jne 0x4668d7
imul ecx, dword [ebx + 8], 0x28
lea edx, [esi - 0x28]
add ecx, dword [ebp - 0x208]
mov eax, 0x800
push eax
call fcn.004604e2
pop ecx
jmp 0x465de1
mov eax, dword [ebx + 0xc]
imul esi, dword [ebx + 8], 0x28
mov dword [ebp - 0x224], eax
imul eax, dword [ebx + 4], 0x28
add eax, dword [ebp - 0x208]
add esi, dword [ebp - 0x208]
mov dword [ebp - 0x234], eax
mov edx, eax
mov ecx, esi
call fcn.004605a4
mov eax, 0x1000
test word [esi + 8], ax
je 0x46616b
mov ecx, esi
call fcn.0045fe21
test eax, eax
jne 0x4676d1
mov eax, dword [ebp - 0x234]
add esi, 0x28
add eax, 0x28
sub dword [ebp - 0x224], 1
mov dword [ebp - 0x234], eax
jne 0x466148
jmp 0x465de1
mov eax, dword [ebx + 0xc]
imul esi, dword [ebx + 8], 0x28
mov dword [ebp - 0x234], eax
imul eax, dword [ebx + 4], 0x28
add eax, dword [ebp - 0x208]
add esi, dword [ebp - 0x208]
push 0x1000
mov edx, eax
mov dword [ebp - 0x224], eax
mov ecx, esi
call fcn.004604e2
mov eax, 0x1000
pop ecx
test word [esi + 8], ax
je 0x4661d7
mov ecx, esi
call fcn.0045fe21
test eax, eax
jne 0x4676d1
mov ecx, dword [ebp - 0x234]
mov eax, ecx
dec ecx
mov dword [ebp - 0x234], ecx
test eax, eax
je 0x465de1
mov eax, dword [ebp - 0x224]
add esi, 0x28
add eax, 0x28
jmp 0x4661a8
imul edx, dword [ebx + 4], 0x28
mov eax, 0x1000
imul ecx, dword [ebx + 8], 0x28
push eax
add edx, dword [ebp - 0x208]
add ecx, dword [ebp - 0x208]
call fcn.004604e2
pop ecx
jmp 0x465d4e
imul eax, dword [ebx + 4], 0x28
imul ecx, dword [ebx + 8], 0x28
mov edx, dword [ebp - 0x208]
mov edi, dword [ebp - 0x208]
add ecx, edx
mov edx, dword [eax + edx]
mov eax, dword [eax + edi + 4]
mov edi, 0x2460
test word [ecx + 8], di
mov edi, dword [ebp - 0x200]
je 0x466259
push eax
push edx
call fcn.004603da
pop ecx
jmp 0x46621b
push 4
mov dword [ecx + 4], eax
mov dword [ecx], edx
pop eax
jmp 0x465dab
imul edx, dword [ebx + 4], 0x28
mov eax, dword [ebp - 0x208]
imul ecx, dword [ebx + 8], 0x28
imul esi, dword [ebx + 0xc], 0x28
add edx, eax
mov dword [ebp - 0x220], edx
add ecx, eax
add esi, eax
mov dword [ebp - 0x21c], ecx
movzx eax, word [edx + 8]
mov dword [ebp - 0x20c], eax
mov al, byte [ecx + 8]
or al, byte [ebp - 0x20c]
test al, 1
je 0x4662ca
mov eax, 0x2460
test word [esi + 8], ax
je 0x4662b8
mov ecx, esi
call fcn.0046005b
jmp 0x465de1
xor eax, eax
inc eax
mov word [esi + 8], ax
mov esi, dword [ebp - 0x1f4]
jmp case.0x465d01.95
movzx eax, word [edx + 8]
test eax, 0x4000
je 0x4662ea
mov ecx, edx
call fcn.0045fe96
test eax, eax
jne 0x4676d1
mov ecx, dword [ebp - 0x21c]
mov eax, 0x4000
test word [ecx + 8], ax
je 0x466302
call fcn.0045fe96
test eax, eax
jne 0x4676d1
mov eax, dword [ebp - 0x220]
test byte [eax + 8], 0x12
jne 0x466327
mov dl, byte [ebp - 0x244]
xor ecx, ecx
push ecx
mov ecx, eax
call fcn.0045ff35
pop ecx
test eax, eax
jne 0x4676d1
mov eax, dword [ebp - 0x21c]
test byte [eax + 8], 0x12
jne 0x466352
mov dl, byte [ebp - 0x244]
xor ecx, ecx
push ecx
mov ecx, eax
call fcn.0045ff35
pop ecx
test eax, eax
jne 0x4676d1
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x220]
mov edx, dword [ecx + 0xc]
add edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x20c], edx
cmp edx, dword [eax + 0x60]
jg 0x4668d7
xor eax, eax
mov ecx, esi
cmp esi, dword [ebp - 0x21c]
sete al
add edx, 2
push eax
call fcn.0045fd1e
pop ecx
test eax, eax
jne 0x4676d1
mov ax, word [esi + 8]
mov ecx, 0x3e00
and ax, cx
push 2
pop ecx
or ax, cx
mov word [esi + 8], ax
mov eax, dword [ebp - 0x21c]
cmp esi, eax
je 0x4663c3
push dword [eax + 0xc]
push dword [eax + 0x10]
push dword [esi + 0x10]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x220]
mov ecx, dword [ebp - 0x21c]
push dword [eax + 0xc]
push dword [eax + 0x10]
mov eax, dword [esi + 0x10]
add eax, dword [ecx + 0xc]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [esi + 0x10]
xor edx, edx
mov ecx, dword [ebp - 0x20c]
add esp, 0xc
mov byte [ecx + eax], dl
mov eax, dword [esi + 0x10]
mov byte [ecx + eax + 1], dl
mov eax, 0x200
or word [esi + 8], ax
mov dword [esi + 0xc], ecx
jmp 0x4660e2
imul eax, dword [ebx + 4], 0x28
add eax, dword [ebp - 0x208]
mov ecx, eax
mov dword [ebp - 0x21c], eax
call fcn.00465bb5
movzx eax, ax
mov dword [ebp - 0x234], eax
imul eax, dword [ebx + 8], 0x28
add eax, dword [ebp - 0x208]
mov ecx, eax
mov dword [ebp - 0x254], eax
call fcn.00465bb5
imul esi, dword [ebx + 0xc], 0x28
mov ecx, dword [ebp - 0x21c]
movzx edx, ax
mov eax, dword [ebp - 0x254]
mov dword [ebp - 0x24c], edx
add esi, dword [ebp - 0x208]
mov dword [ebp - 0x224], esi
mov al, byte [eax + 8]
or al, byte [ecx + 8]
test al, 1
jne 0x466711
mov al, dl
and al, byte [ebp - 0x234]
push 4
pop edx
test dl, al
je 0x466597
mov eax, ecx
mov byte [ebp - 0x211], 1
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x254]
mov edi, dword [eax]
mov dword [ebp - 0x228], edi
mov edi, dword [eax + 4]
mov eax, dword [ebp - 0x228]
mov dword [ebp - 0x30], eax
movzx eax, byte [ebx]
mov dword [ebp - 0x220], edi
mov dword [ebp - 0x2c], edi
mov edi, dword [ebp - 0x200]
sub eax, 0x2f
je 0x466561
sub eax, 1
je 0x466555
sub eax, 1
je 0x466549
sub eax, 1
mov eax, ecx
je 0x466512
or eax, edx
je 0x466711
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x4664f7
xor ecx, ecx
inc ecx
xor eax, eax
mov edx, eax
push edx
push ecx
push dword [ebp - 0x220]
push dword [ebp - 0x228]
call fcn.005b76b0
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
jmp 0x466571
or eax, edx
je 0x466711
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x228]
jne 0x466539
test eax, eax
jne 0x466539
cmp dword [ebp - 0x220], 0x80000000
je 0x4665a1
push edx
push ecx
push dword [ebp - 0x220]
push eax
call fcn.005b7520
jmp 0x46650a
push edx
push ecx
lea ecx, [ebp - 0x30]
call fcn.0044d08d
jmp 0x46656b
push edx
push ecx
lea ecx, [ebp - 0x30]
call fcn.0044d03f
jmp 0x46656b
push edx
push ecx
lea ecx, [ebp - 0x30]
call fcn.0044cfb5
pop ecx
pop ecx
test eax, eax
jne 0x4665a1
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [esi], eax
mov ax, word [esi + 8]
mov dword [esi + 4], ecx
mov ecx, 0x3e00
and ax, cx
push 4
pop ecx
or ax, cx
mov word [esi + 8], ax
jmp 0x465de1
xor eax, eax
mov byte [ebp - 0x211], al
jmp 0x4665a7
mov ecx, dword [ebp - 0x21c]
call fcn.00460178
mov ecx, dword [ebp - 0x254]
movsd qword [ebp - 0x210], xmm0
call fcn.00460178
movzx eax, byte [ebx]
movaps xmm1, xmm0
movsd qword [ebp - 0x230], xmm1
sub eax, 0x2f
je 0x466694
sub eax, 1
je 0x46668a
sub eax, 1
je 0x466680
movsd xmm0, qword [ebp - 0x210]
sub eax, 1
je 0x466668
call fcn.005b4c20
movsd xmm0, qword [ebp - 0x230]
mov esi, eax
mov dword [ebp - 0x20c], edx
call fcn.005b4c20
mov ecx, edx
mov dword [ebp - 0x23c], eax
mov edx, dword [ebp - 0x20c]
mov dword [ebp - 0x22c], ecx
mov dword [ebp - 0x2c], ecx
mov ecx, esi
or ecx, edx
mov dword [ebp - 0x30], eax
je 0x466711
mov eax, esi
and eax, edx
cmp eax, 0xffffffff
jne 0x466643
xor esi, esi
inc esi
xor eax, eax
mov edx, eax
push edx
push esi
push dword [ebp - 0x22c]
push dword [ebp - 0x23c]
call fcn.005b76b0
mov ecx, eax
call fcn.005b4cd0
mov esi, dword [ebp - 0x224]
movaps xmm1, xmm0
jmp 0x46669c
ucomisd xmm0, qword [0x626878]
lahf
test ah, 0x44
jnp 0x466711
divsd xmm1, xmm0
jmp 0x46669c
mulsd xmm1, qword [ebp - 0x210]
jmp 0x46669c
subsd xmm1, qword [ebp - 0x210]
jmp 0x46669c
addsd xmm1, qword [ebp - 0x210]
movsd qword [ebp - 0x210], xmm1
movsd xmm0, qword [ebp - 0x210]
movsd qword [ebp - 0x230], xmm0
movsd xmm0, qword [ebp - 0x210]
ucomisd xmm0, qword [ebp - 0x230]
lahf
test ah, 0x44
jp 0x466711
mov ax, word [esi + 8]
mov ecx, 0x3e00
and ax, cx
movsd qword [esi], xmm1
push 8
pop ecx
or ax, cx
mov word [esi + 8], ax
mov eax, dword [ebp - 0x24c]
or al, byte [ebp - 0x234]
test cl, al
jne 0x465de1
cmp byte [ebp - 0x211], 0
jne 0x465de1
mov ecx, esi
call fcn.004601ca
jmp 0x465de1
mov eax, dword [ebp - 0x224]
mov ecx, 0x2460
test word [eax + 8], cx
je 0x466729
mov ecx, eax
jmp 0x4662ae
xor ecx, ecx
inc ecx
mov word [eax + 8], cx
jmp 0x465de1
mov eax, dword [ebx + 4]
test eax, eax
je 0x465d4e
imul eax, eax, 0x28
mov ecx, 0x2460
add eax, dword [ebp - 0x208]
test word [eax + 8], cx
je 0x46675f
xor ecx, ecx
push ecx
push ecx
mov ecx, eax
jmp 0x466251
xor edx, edx
push 4
mov dword [eax], edx
mov dword [eax + 4], edx
pop ecx
jmp 0x465d4a
movzx eax, word [ebx + 2]
xor ecx, ecx
mov dword [ebp - 0x20c], eax
push ecx
mov ecx, esi
lea eax, [eax*4 + 0x1c]
push eax
call fcn.0044a313
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x4676d1
xor eax, eax
mov dword [esi], eax
mov eax, ebx
mov ecx, dword [ebx + 0x10]
sub eax, dword [ebp - 0x240]
mov dword [esi + 4], ecx
push 0x14
cdq
pop ecx
idiv ecx
mov dword [esi + 0xc], edi
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x20c]
mov byte [esi + 0x1a], al
mov word [ebx], 0xf05b
mov dword [ebx + 0x10], esi
imul ecx, dword [ebx + 0xc], 0x28
mov esi, dword [ebx + 0x10]
add ecx, dword [ebp - 0x208]
mov dword [ebp - 0x220], ecx
cmp dword [esi], ecx
je 0x466815
movzx edx, byte [esi + 0x1a]
sub edx, 1
mov dword [esi], ecx
js 0x466815
mov ecx, dword [ebp - 0x208]
lea edi, [edx + 7]
lea edi, [esi + edi*4]
mov eax, dword [ebx + 8]
add eax, edx
imul eax, eax, 0x28
push 4
add eax, ecx
mov dword [edi], eax
pop eax
sub edi, eax
sub edx, 1
jns 0x4667f3
mov edi, dword [ebp - 0x200]
mov ecx, dword [ebp - 0x220]
mov ax, word [ecx + 8]
mov edx, 0x3e00
and ax, dx
xor edx, edx
inc edx
or ax, dx
mov word [ecx + 8], ax
xor eax, eax
mov ecx, dword [esi + 4]
mov byte [esi + 0x19], al
lea eax, [esi + 0x1c]
push eax
movzx eax, byte [esi + 0x1a]
push eax
push esi
call dword [ecx + 0xc]
add esp, 0xc
cmp byte [esi + 0x19], 0
je 0x46689b
xor eax, eax
cmp dword [esi + 0x14], eax
je 0x466875
mov ecx, dword [ebp - 0x220]
mov dl, 1
call fcn.00460867
push eax
push 0x61d348
push edi
call fcn.00460ce5
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0x1f8], eax
push dword [ebx + 4]
mov ecx, dword [ebp - 0x1f4]
lea edx, [edi + 0xcc]
push dword [esi + 0x10]
call fcn.00462b8b
cmp dword [ebp - 0x1f8], 0
pop ecx
pop ecx
jne 0x466b77
mov esi, dword [ebp - 0x220]
movzx eax, word [esi + 8]
test al, 0x12
je 0x465de1
push 2
pop ecx
test cl, al
je 0x4668c8
mov al, byte [ebp - 0x244]
cmp byte [esi + 0xa], al
je 0x4668c8
mov dl, al
mov ecx, esi
call fcn.0044badd
mov ecx, esi
call fcn.0046049e
test eax, eax
je 0x465de1
push str.string_or_blob_too_big
push edi
call fcn.00460ce5
pop ecx
pop ecx
push 0x12
jmp 0x46abbc
imul ecx, dword [ebx + 8], 0x28
imul esi, dword [ebx + 4], 0x28
mov eax, dword [ebp - 0x208]
imul edx, dword [ebx + 0xc], 0x28
add ecx, eax
add esi, eax
add edx, eax
mov al, byte [ecx + 8]
or al, byte [esi + 8]
mov dword [ebp - 0x23c], edx
test al, 1
je 0x466931
mov eax, 0x2460
test word [edx + 8], ax
je 0x466925
mov ecx, edx
jmp 0x4662ae
xor eax, eax
inc eax
mov word [edx + 8], ax
jmp 0x4662bf
call fcn.00460126
mov ecx, esi
mov dword [ebp - 0x204], eax
mov dword [ebp - 0x218], edx
call fcn.00460126
mov cl, byte [ebx]
mov esi, eax
cmp cl, 0x2b
jne 0x466967
mov ecx, dword [ebp - 0x204]
mov eax, dword [ebp - 0x218]
and ecx, esi
and eax, edx
jmp 0x466a73
cmp cl, 0x2c
jne 0x466981
mov ecx, dword [ebp - 0x204]
mov eax, dword [ebp - 0x218]
or ecx, esi
or eax, edx
jmp 0x466a73
mov eax, esi
or eax, edx
je 0x466a67
xor eax, eax
cmp edx, eax
jg 0x4669e2
jl 0x466997
cmp esi, eax
jae 0x4669b2
mov al, 0x5b
sub al, cl
mov cl, al
cmp edx, 0xffffffff
jl 0x4669e0
jg 0x4669a9
cmp esi, 0xffffffc0
jbe 0x4669e0
neg esi
push 0
pop eax
adc edx, eax
neg edx
cmp edx, eax
jl 0x4669bf
jg 0x4669e2
push 0x40
pop edx
cmp esi, edx
jae 0x4669e2
mov eax, dword [ebp - 0x204]
cmp cl, 0x2d
mov edx, dword [ebp - 0x218]
mov ecx, esi
jne 0x466a19
call fcn.005b4e50
mov ecx, eax
mov eax, edx
jmp 0x466a73
xor eax, eax
cmp dword [ebp - 0x218], eax
jg 0x466a00
jl 0x4669f4
cmp dword [ebp - 0x204], eax
jae 0x466a00
cmp cl, 0x2d
je 0x466a00
or ecx, 0xffffffff
or eax, ecx
jmp 0x466a73
xorps xmm0, xmm0
movlpd qword [ebp - 0x210], xmm0
mov eax, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x210]
jmp 0x466a73
call fcn.005b4ae0
mov ecx, eax
mov eax, edx
xor edx, edx
mov dword [ebp - 0x20c], ecx
mov dword [ebp - 0x22c], eax
cmp dword [ebp - 0x218], edx
jg 0x466a73
jl 0x466a42
cmp dword [ebp - 0x204], edx
jae 0x466a73
push 0x40
pop eax
mov ecx, eax
or edx, 0xffffffff
sub ecx, esi
or eax, 0xffffffff
call fcn.005b4e50
mov ecx, dword [ebp - 0x20c]
or ecx, eax
mov eax, dword [ebp - 0x22c]
jmp 0x46697a
mov eax, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x204]
mov edx, dword [ebp - 0x23c]
push 4
mov dword [edx + 4], eax
mov ax, word [edx + 8]
mov dword [edx], ecx
mov ecx, 0x3e00
and ax, cx
pop ecx
or ax, cx
mov word [edx + 8], ax
jmp 0x465de1
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0x208]
mov ecx, esi
call fcn.00460226
mov eax, dword [ebx + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
jmp 0x465de1
imul esi, dword [ebx + 4], 0x28
push 4
pop edx
add esi, dword [ebp - 0x208]
movzx eax, word [esi + 8]
mov ecx, eax
test dl, al
jne 0x466afe
push dword [ebp - 0x244]
mov dl, 0x43
mov ecx, esi
call fcn.00465af0
movzx eax, word [esi + 8]
pop ecx
push 4
pop edx
mov ecx, eax
test dl, al
jne 0x466afe
xor eax, eax
cmp dword [ebx + 8], eax
jne 0x46a9f8
push 0x14
pop eax
mov ebx, eax
jmp 0x466b7d
mov eax, 0x3e00
and ecx, eax
push 4
pop eax
or ecx, eax
mov word [esi + 8], cx
jmp 0x465de1
imul ecx, dword [ebx + 4], 0x28
push 4
pop edx
add ecx, dword [ebp - 0x208]
test byte [ecx + 8], dl
je case.0x465d01.95
call fcn.0046024b
jmp 0x465d4e
imul esi, dword [ebx + 4], 0x28
mov eax, 0x4000
add esi, dword [ebp - 0x208]
test word [esi + 8], ax
je 0x466b51
mov ecx, esi
call fcn.0045fe96
jmp 0x466b53
xor eax, eax
push dword [ebp - 0x244]
mov dl, byte [ebx + 8]
mov ecx, esi
mov dword [ebp - 0x1f8], eax
call fcn.004602d9
pop ecx
cmp dword [ebp - 0x1f8], 0
je 0x465de1
mov ebx, dword [ebp - 0x1f8]
mov edi, dword [ebp - 0x204]
mov esi, dword [ebp - 0x200]
mov eax, dword [ebp - 0x1f4]
push 7
cmp byte [eax + 0x45], 0
pop eax
cmovne ebx, eax
xor eax, eax
mov dword [ebp - 0x1f8], ebx
cmp dword [esi + 0x6c], eax
jne 0x466bc4
cmp ebx, 0xc0a
je 0x466bc4
mov ecx, ebx
call fcn.0049ccee
push eax
push 0x61d348
push esi
call fcn.00460ce5
add esp, 0xc
mov dword [esi + 0x28], ebx
cmp ebx, 0xc0a
je 0x46aea6
movzx eax, bl
cmp eax, 0xe
je 0x466be4
cmp eax, 0xa
jne 0x46aea6
mov ebx, dword [ebp - 0x1f4]
mov ecx, dword [ebx]
call fcn.004495dc
mov dword [ebx + 0x3c], eax
jmp 0x46aeac
imul esi, dword [ebx + 0xc], 0x28
imul eax, dword [ebx + 4], 0x28
add esi, dword [ebp - 0x208]
add eax, dword [ebp - 0x208]
mov dword [ebp - 0x218], eax
movzx edx, word [esi + 8]
movzx eax, word [eax + 8]
mov ecx, edx
or ecx, eax
mov dword [ebp - 0x21c], eax
mov dword [ebp - 0x204], edx
test cl, 1
je 0x466c9e
movzx eax, word [ebx + 2]
mov ecx, 0x80
test cl, al
je 0x466c62
xor ecx, ecx
mov al, dl
and al, byte [ebp - 0x21c]
inc ecx
test cl, al
je 0x466c5b
test edx, 0x100
jne 0x466c5b
xor eax, eax
jmp 0x466dd8
mov edx, ecx
jmp 0x466dda
test al, 0x20
je 0x466c91
imul ecx, dword [ebx + 8], 0x28
xor edx, edx
mov esi, 0x3e00
inc edx
mov dword [ebp - 0x260], edx
add ecx, dword [ebp - 0x208]
mov ax, word [ecx + 8]
and ax, si
or ax, dx
mov word [ecx + 8], ax
jmp 0x465de1
test al, 0x10
jne 0x46a9f8
jmp 0x465de1
mov al, byte [ebx + 2]
and al, 0x47
cmp al, 0x43
jb 0x466d37
push 2
pop edx
test dl, cl
je 0x466ced
mov al, byte [ebp - 0x21c]
and al, 0xe
cmp al, dl
jne 0x466cd8
mov ecx, dword [ebp - 0x218]
xor edx, edx
call fcn.00465a6c
movzx eax, word [esi + 8]
push 2
mov dword [ebp - 0x204], eax
pop edx
mov al, byte [ebp - 0x204]
and al, 0xe
cmp al, dl
jne 0x466ced
xor edx, edx
mov ecx, esi
call fcn.00465a6c
mov edx, dword [ebp - 0x218]
mov al, byte [esi + 8]
push 4
pop ecx
and al, byte [edx + 8]
test cl, al
je 0x466dcd
mov eax, dword [esi + 4]
mov ecx, dword [esi]
cmp eax, dword [edx + 4]
jl 0x466d2f
jg 0x466d14
cmp ecx, dword [edx]
jbe 0x466d1c
xor edx, edx
inc edx
jmp 0x466dda
cmp eax, dword [edx + 4]
jg 0x466c54
jl 0x466d2f
cmp ecx, dword [edx]
jae 0x466c54
or edx, 0xffffffff
jmp 0x466dda
cmp al, 0x42
jne 0x466dc7
mov al, byte [ebp - 0x21c]
push 2
pop ecx
test cl, al
jne 0x466d89
test al, 0xc
je 0x466d89
mov dl, byte [ebp - 0x244]
mov ecx, dword [ebp - 0x218]
push 1
call fcn.0045ff35
mov edx, dword [ebp - 0x218]
pop ecx
mov ecx, 0x7e00
push 2
mov ax, word [edx + 8]
xor ax, word [ebp - 0x21c]
and ax, cx
xor word [ebp - 0x21c], ax
pop ecx
jmp 0x466d8f
mov edx, dword [ebp - 0x218]
mov al, byte [ebp - 0x204]
test cl, al
jne 0x466dcd
test al, 0xc
je 0x466dcd
mov dl, byte [ebp - 0x244]
mov ecx, esi
push 1
call fcn.0045ff35
mov ax, word [esi + 8]
xor ax, word [ebp - 0x204]
pop ecx
mov ecx, 0x7e00
and ax, cx
xor word [ebp - 0x204], ax
mov edx, dword [ebp - 0x218]
push dword [ebx + 0x10]
mov ecx, esi
call fcn.004634bf
pop ecx
mov edx, eax
movzx eax, byte [ebx]
sub eax, 0x24
je 0x466e1a
sub eax, 1
je 0x466e11
sub eax, 1
je 0x466e08
sub eax, 1
je 0x466dff
mov ecx, edx
sub eax, 1
je 0x466dfa
not ecx
shr ecx, 0x1f
jmp 0x466e1c
xor ecx, ecx
test edx, edx
setle cl
jmp 0x466e1c
xor ecx, ecx
test edx, edx
setg cl
jmp 0x466e1c
xor ecx, ecx
test edx, edx
sete cl
jmp 0x466e1c
mov ecx, edx
mov edi, dword [ebp - 0x218]
mov ax, word [ebp - 0x21c]
mov word [edi + 8], ax
mov ax, word [ebp - 0x204]
mov edi, dword [ebp - 0x200]
mov word [esi + 8], ax
movzx eax, word [ebx + 2]
test al, 0x20
je 0x466e93
imul esi, dword [ebx + 8], 0x28
mov dword [ebp - 0x260], edx
xor edx, edx
add esi, dword [ebp - 0x208]
test ecx, ecx
setne dl
test al, 8
je 0x466e71
xor eax, eax
cmp byte [ebx], 0x25
sete al
cmp eax, edx
je 0x465de1
mov ax, word [esi + 8]
mov ecx, 0x3e00
and ax, cx
mov dword [esi], edx
push 4
pop ecx
or ax, cx
mov word [esi + 8], ax
xor eax, eax
mov dword [esi + 4], eax
jmp 0x465de1
test ecx, ecx
jmp 0x466c93
cmp dword [ebp - 0x260], 0
jne 0x46a9f8
jmp case.0x465d01.95
test byte [ebx + 2], al
jne 0x466eb5
xor eax, eax
jmp 0x466ebd
mov eax, dword [ebx - 4]
push 4
pop ecx
add eax, ecx
mov esi, dword [ebx + 4]
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0x23c], esi
mov esi, dword [ebx + 8]
mov dword [ebp - 0x22c], esi
xor esi, esi
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x220], ecx
mov dword [ebp - 0x20c], edx
test ecx, ecx
jle 0x465de1
add edx, 0x14
mov dword [ebp - 0x234], edx
test eax, eax
je 0x466f03
mov ecx, dword [eax + esi*4]
jmp 0x466f05
mov ecx, esi
mov eax, dword [ebp - 0x20c]
push dword [edx]
mov eax, dword [eax + 0x10]
mov al, byte [esi + eax]
mov byte [ebp - 0x211], al
mov eax, dword [ebp - 0x22c]
add eax, ecx
imul edx, eax, 0x28
mov eax, dword [ebp - 0x23c]
add eax, ecx
imul ecx, eax, 0x28
add edx, dword [ebp - 0x208]
add ecx, dword [ebp - 0x208]
call fcn.004634bf
pop ecx
mov ecx, eax
mov dword [ebp - 0x260], ecx
test ecx, ecx
jne 0x466f72
mov edx, dword [ebp - 0x234]
inc esi
push 4
pop eax
add edx, eax
mov eax, dword [ebp - 0x224]
mov dword [ebp - 0x234], edx
cmp esi, dword [ebp - 0x220]
jl 0x466efa
jmp 0x465de1
mov esi, dword [ebp - 0x1f4]
xor eax, eax
mov edx, dword [ebp - 0x1fc]
cmp byte [ebp - 0x211], al
je 0x466008
neg ecx
mov dword [ebp - 0x260], ecx
jmp 0x466008
mov ecx, dword [ebp - 0x260]
test ecx, ecx
jns 0x466fa9
imul ebx, dword [ebx + 4], 0x14
jmp 0x466fb5
jne 0x466fb1
imul ebx, dword [ebx + 8], 0x14
jmp 0x466fb5
imul ebx, dword [ebx + 0xc], 0x14
add ebx, dword [ebp - 0x240]
add ebx, 0xffffffec
jmp case.0x465d01.95
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0x208]
test byte [ecx + 8], al
je 0x466fd7
push 6
pop esi
jmp 0x466fec
call fcn.00460126
or eax, edx
je 0x466fe5
push 3
pop esi
jmp 0x466fe9
xor eax, eax
mov esi, eax
xor eax, eax
inc eax
imul ecx, dword [ebx + 8], 0x28
add ecx, dword [ebp - 0x208]
test byte [ecx + 8], al
je 0x467007
mov eax, 0x62253e
mov ecx, 0x621796
jmp 0x467026
call fcn.00460126
or eax, edx
je 0x46701c
mov eax, 0x62253d
mov ecx, 0x621795
jmp 0x467026
mov eax, 0x62253c
mov ecx, 0x621794
cmp byte [ebx], 0x1c
jne 0x467030
lea eax, [ecx + esi]
jmp 0x467032
add eax, esi
imul esi, dword [ebx + 0xc], 0x28
mov ecx, 0x3e00
mov al, byte [eax]
mov byte [ebp - 0x211], al
add esi, dword [ebp - 0x208]
lea edx, [esi + 8]
mov ax, word [edx]
and ax, cx
mov dword [ebp - 0x20c], edx
movzx ecx, ax
mov al, byte [ebp - 0x211]
cmp al, 2
jne 0x46706a
or ecx, 1
jmp 0x46707e
movzx eax, al
cdq
push 4
mov dword [esi], eax
pop eax
mov dword [esi + 4], edx
or ecx, eax
mov edx, dword [ebp - 0x20c]
movzx eax, cx
mov word [edx], ax
jmp 0x465de1
imul esi, dword [ebx + 8], 0x28
mov ecx, 0x2460
imul eax, dword [ebx + 4], 0x28
add esi, dword [ebp - 0x208]
add eax, dword [ebp - 0x208]
mov dword [ebp - 0x20c], eax
test word [esi + 8], cx
je 0x4670c0
mov ecx, esi
call fcn.0046005b
mov eax, dword [ebp - 0x20c]
xor ecx, ecx
inc ecx
jmp 0x4670c7
xor ecx, ecx
inc ecx
mov word [esi + 8], cx
test byte [eax + 8], cl
jne 0x465de1
push 4
pop ecx
mov word [esi + 8], cx
mov ecx, eax
call fcn.00460126
or eax, edx
jne 0x4670e7
inc eax
xor ecx, ecx
jmp 0x4670fe
xorps xmm0, xmm0
movlpd qword [ebp - 0x210], xmm0
mov ecx, dword [ebp - 0x20c]
mov eax, dword [ebp - 0x210]
mov dword [esi + 4], ecx
jmp 0x465ddf
imul esi, dword [ebx + 8], 0x28
mov ecx, 0x2460
imul eax, dword [ebx + 4], 0x28
add esi, dword [ebp - 0x208]
add eax, dword [ebp - 0x208]
mov dword [ebp - 0x20c], eax
test word [esi + 8], cx
je 0x46713d
mov ecx, esi
call fcn.0046005b
mov eax, dword [ebp - 0x20c]
xor ecx, ecx
inc ecx
jmp 0x467144
xor ecx, ecx
inc ecx
mov word [esi + 8], cx
test byte [eax + 8], cl
jne 0x465de1
push 4
pop ecx
mov word [esi + 8], cx
mov ecx, eax
call fcn.00460126
not eax
not edx
jmp 0x465ddc
cmp dword [edi + 0xb8], 0
je 0x4671b6
mov eax, ebx
sub eax, dword [edi + 0x58]
cdq
push 0x14
pop ecx
idiv ecx
xor edx, edx
mov ecx, eax
inc edx
mov eax, dword [edi + 0xb8]
mov esi, ecx
shr esi, 3
and ecx, 7
shl edx, cl
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x20c], eax
movzx eax, byte [esi + eax]
test eax, edx
jne 0x46a9f8
bts eax, ecx
mov ecx, dword [ebp - 0x20c]
mov byte [esi + ecx], al
mov esi, dword [ebp - 0x1f4]
jmp 0x4671c5
mov eax, dword [edi + 0x58]
mov eax, dword [eax + 4]
cmp eax, dword [ebx + 4]
je 0x46a9f8
mov eax, dword [edi + 0x58]
mov eax, dword [eax + 4]
mov dword [ebx + 4], eax
jmp 0x465d4e
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0x208]
test byte [ecx + 8], al
je 0x4671e7
mov eax, dword [ebx + 0xc]
jmp 0x467209
call fcn.00460178
ucomisd xmm0, qword [0x626878]
lahf
test ah, 0x44
jnp 0x4671ff
xor eax, eax
inc eax
jmp 0x467201
xor eax, eax
cmp byte [ebx], 0x16
jne 0x467209
xor eax, 1
test eax, eax
jmp 0x465d81
imul eax, dword [ebx + 4], 0x28
mov ecx, dword [ebp - 0x208]
test byte [eax + ecx + 8], 1
jmp 0x465d81
imul eax, dword [ebx + 4], 0x28
mov ecx, dword [ebp - 0x208]
test byte [eax + ecx + 8], 1
je 0x46a9f8
jmp 0x465d4e
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0xdc]
mov eax, dword [edi + 0x70]
mov eax, dword [eax + ecx*4]
lea ecx, [ebp - 0xd4]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0xdc], eax
call fcn.00462d82
mov esi, eax
mov dword [ebp - 0x1f8], esi
test esi, esi
jne 0x466b77
imul ecx, dword [ebx + 0xc], 0x28
mov esi, dword [ebp - 0xd4]
add ecx, dword [ebp - 0x208]
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 0x48]
mov dword [ebp - 0x218], ecx
mov dword [ebp - 0x228], edx
cmp eax, dword [edi + 0x20]
je 0x4673c3
cmp byte [esi + 2], 0
je 0x4672e4
cmp byte [esi], 3
jne 0x4672da
imul edx, dword [esi + 0x28], 0x28
add edx, dword [ebp - 0x208]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x38], eax
mov dword [esi + 0x54], eax
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0x38]
mov dword [ecx + 0x50], eax
mov eax, dword [ebp - 0xd4]
mov ecx, dword [edx + 0x10]
mov dword [eax + 0x4c], ecx
jmp 0x467331
call fcn.00460390
jmp 0x465de1
mov esi, dword [esi + 0x28]
mov ecx, esi
call fcn.0045a1fa
mov ecx, dword [ebp - 0xd4]
lea edx, [ebp - 0x38]
mov dword [ecx + 0x50], eax
mov ecx, esi
call fcn.0045a653
mov ecx, dword [ebp - 0xd4]
mov dword [ecx + 0x4c], eax
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ebp - 0x38]
mov eax, dword [ecx + 0x50]
cmp eax, edx
ja 0x46731f
mov dword [ecx + 0x54], eax
jmp 0x467331
mov esi, dword [ebp - 0x1f4]
cmp eax, dword [esi + 0x60]
ja 0x4668d7
mov dword [ecx + 0x54], edx
mov eax, dword [ebp - 0xd4]
mov edx, 0x80
mov ecx, dword [edi + 0x20]
mov dword [eax + 0x1c], ecx
mov ecx, dword [ebp - 0xd4]
mov esi, dword [ecx + 0x4c]
mov al, byte [esi]
cmp al, dl
jae 0x46735b
movzx eax, al
mov dword [ebp - 0x34], eax
mov al, 1
jmp 0x46736b
lea edx, [ebp - 0x34]
mov ecx, esi
call fcn.0044ce26
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ebp - 0x228]
movzx eax, al
mov dword [ecx + 0x30], eax
xor ecx, ecx
mov eax, dword [ebp - 0xd4]
mov word [eax + 0x3a], cx
mov eax, dword [ebp - 0x34]
mov dword [edx], eax
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x38], eax
jae 0x467493
mov eax, dword [ebp - 0xd4]
mov dword [eax + 0x4c], ecx
mov eax, dword [ebp - 0xd4]
mov dword [eax + 0x54], ecx
mov eax, dword [ebp - 0x34]
cmp eax, 0x18003
ja 0x46aaed
mov esi, dword [ebp - 0xd4]
cmp eax, dword [esi + 0x50]
ja 0x46aaed
movzx eax, word [esi + 0x3a]
mov ecx, dword [ebp - 0xdc]
cmp eax, ecx
jg 0x467611
mov eax, dword [esi + 0x30]
cmp eax, dword [edx]
jae 0x4675e3
mov ecx, dword [esi + 0x4c]
mov dword [ebp - 0x234], ecx
test ecx, ecx
jne 0x467435
push 0xa
pop ecx
xor eax, eax
lea edi, [ebp - 0x1f0]
rep stosd dword es:[edi], eax
mov ecx, dword [esi + 0x28]
lea eax, [ebp - 0x1f0]
push eax
push dword [edx]
xor edx, edx
call fcn.00460792
mov dword [ebp - 0x1f8], eax
pop ecx
pop ecx
test eax, eax
jne 0x466b77
mov ecx, dword [ebp - 0x1e0]
mov esi, dword [ebp - 0xd4]
mov edx, dword [ebp - 0x228]
mov dword [ebp - 0x234], ecx
movzx eax, word [esi + 0x3a]
mov edi, dword [esi + 0x30]
mov dword [ebp - 0x224], eax
add edi, ecx
push 0x58
lea eax, [edx + eax*4]
mov dword [ebp - 0x220], eax
mov eax, dword [eax]
mov dword [ebp - 0x21c], eax
xor eax, eax
mov ebx, eax
mov eax, dword [edx]
add eax, ecx
mov dword [ebp - 0x254], eax
pop eax
sub eax, edx
mov dword [ebp - 0x20c], eax
movzx ecx, byte [edi]
mov eax, 0x80
mov dword [ebp - 0xd8], ecx
cmp ecx, eax
jae 0x4674a6
movzx eax, byte [ecx + 0x622880]
inc edi
cdq
add dword [ebp - 0x21c], eax
adc ebx, edx
jmp 0x4674e6
mov esi, dword [ebp - 0xd4]
test eax, eax
je 0x4673c3
mov ecx, dword [esi + 0x4c]
jmp 0x46742f
lea edx, [ebp - 0xd8]
mov ecx, edi
call fcn.0044ce26
mov ecx, dword [ebp - 0xd8]
movzx eax, al
add edi, eax
mov eax, 0x80
cmp ecx, eax
jb 0x4674ce
lea eax, [ecx - 0xc]
shr eax, 1
jmp 0x4674d5
movzx eax, byte [ecx + 0x622880]
add dword [ebp - 0x21c], eax
mov esi, dword [ebp - 0xd4]
push 0
pop eax
adc ebx, eax
mov eax, dword [ebp - 0x220]
add eax, dword [ebp - 0x20c]
push 4
pop edx
mov dword [ebp - 0x24c], ebx
mov dword [eax + esi], ecx
mov eax, dword [ebp - 0x220]
mov ecx, dword [ebp - 0x224]
add eax, edx
mov edx, dword [ebp - 0x21c]
inc ecx
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x224], ecx
mov dword [eax], edx
mov eax, dword [ebp - 0x254]
cmp ecx, dword [ebp - 0xdc]
jg 0x46753e
cmp edi, eax
jae 0x46753e
mov esi, dword [ebp - 0xd4]
jmp 0x46746e
mov ebx, dword [ebp - 0x204]
cmp edi, eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x220], edi
mov edi, dword [ebp - 0x200]
mov ecx, dword [ebp - 0x220]
jb 0x467593
cmp ecx, dword [ebp - 0x254]
ja 0x467577
cmp edx, dword [eax + 0x50]
jne 0x467577
mov esi, dword [ebp - 0x24c]
test esi, esi
je 0x467599
xor ecx, ecx
cmp dword [eax + 0x4c], ecx
jne 0x467589
lea ecx, [ebp - 0x1f0]
call fcn.004600df
mov ecx, 0x13b95
jmp 0x46aaf2
mov esi, dword [ebp - 0x24c]
test esi, esi
ja 0x467577
jb 0x4675a4
cmp edx, dword [eax + 0x50]
ja 0x467577
mov edx, dword [ebp - 0x224]
sub ecx, dword [ebp - 0x234]
mov word [eax + 0x3a], dx
mov eax, dword [ebp - 0xd4]
mov dword [eax + 0x30], ecx
xor eax, eax
mov esi, dword [ebp - 0xd4]
cmp dword [esi + 0x4c], eax
jne 0x4675db
lea ecx, [ebp - 0x1f0]
call fcn.004600df
mov esi, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xd8]
jmp 0x4675ed
xor eax, eax
mov ecx, eax
mov dword [ebp - 0xd8], ecx
movzx eax, word [esi + 0x3a]
cmp eax, dword [ebp - 0xdc]
jg 0x46761b
cmp byte [ebx + 1], 0xf9
mov ecx, dword [ebp - 0x218]
jne 0x4672da
mov edx, dword [ebx + 0x10]
jmp 0x466114
mov ecx, dword [esi + ecx*4 + 0x58]
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0x218]
mov eax, 0x2460
test word [edx + 8], ax
je 0x46763f
mov ecx, edx
call fcn.00460390
mov esi, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xdc]
mov edx, dword [ebp - 0x228]
mov eax, dword [esi + 0x54]
cmp eax, dword [edx + edi*4 + 4]
mov edi, dword [ebp - 0x200]
mov edx, dword [ebp - 0x218]
jb 0x46773a
mov edi, dword [ebp - 0x228]
mov eax, dword [ebp - 0xdc]
mov esi, dword [esi + 0x4c]
add esi, dword [edi + eax*4]
mov edi, dword [ebp - 0x200]
mov dword [ebp - 0x20c], esi
cmp ecx, 0xc
jae 0x467696
push edx
mov edx, ecx
mov ecx, esi
call fcn.00463000
jmp 0x46611f
mov esi, dword [ebp - 0x218]
lea eax, [ecx - 0xc]
mov cl, byte [ebp - 0x244]
shr eax, 1
mov dword [ebp - 0x234], eax
mov dword [esi + 0xc], eax
mov byte [esi + 0xa], cl
lea edx, [eax + 2]
cmp dword [esi + 0x18], edx
jge 0x4676f2
xor eax, eax
mov ecx, esi
inc eax
mov word [esi + 8], ax
xor eax, eax
push eax
call fcn.0045fd1e
pop ecx
test eax, eax
je 0x4676f8
mov esi, dword [ebp - 0x1f4]
mov ecx, esi
call fcn.0044a531
push 0x61dddc
push edi
call fcn.00460ce5
pop ecx
pop ecx
push 7
jmp 0x466af9
mov eax, dword [esi + 0x14]
mov dword [esi + 0x10], eax
push dword [ebp - 0x234]
push dword [ebp - 0x20c]
push dword [esi + 0x10]
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [esi + 0x10]
xor edx, edx
mov ecx, dword [ebp - 0x234]
add esp, 0xc
mov byte [ecx + eax], dl
mov eax, dword [esi + 0x10]
mov byte [eax + ecx + 1], dl
mov eax, dword [ebp - 0xd8]
and eax, 1
mov ax, word [eax*2 + 0x622384]
jmp 0x46658e
mov al, byte [ebp - 0x244]
mov byte [edx + 0xa], al
movzx ecx, word [ebx + 2]
mov eax, dword [ebp - 0xd8]
test cl, 0xc0
je 0x46775f
cmp eax, 0xc
jb 0x46775b
test al, 1
je 0x467776
test cl, cl
js 0x467776
mov ecx, eax
call fcn.00462ed7
test eax, eax
jne 0x467783
mov eax, dword [ebp - 0xd8]
mov edx, dword [ebp - 0x218]
push edx
mov edx, eax
mov ecx, 0x63ce94
jmp 0x46768c
push dword [ebp - 0x218]
mov edx, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd4]
push eax
mov eax, dword [ebp - 0x228]
mov ecx, dword [ecx + 0x28]
mov edx, dword [eax + edx*4]
call fcn.00460792
mov esi, eax
mov dword [ebp - 0x1f8], esi
pop ecx
pop ecx
test esi, esi
jne 0x466b77
mov esi, dword [ebp - 0x218]
mov edx, dword [ebp - 0xd8]
push esi
mov ecx, dword [esi + 0x10]
call fcn.00463000
pop ecx
mov ecx, 0xefff
and word [esi + 8], cx
jmp 0x465de1
mov eax, dword [ebx + 0x10]
imul esi, dword [ebx + 4], 0x28
mov dword [ebp - 0x20c], eax
mov al, byte [eax]
add esi, dword [ebp - 0x208]
test al, al
je 0x465de1
mov edi, dword [ebp - 0x20c]
push dword [ebp - 0x244]
mov dl, al
mov ecx, esi
inc edi
call fcn.00465af0
mov al, byte [edi]
add esi, 0x28
pop ecx
test al, al
jne 0x467800
jmp 0x466097
imul ecx, dword [ebx + 4], 0x28
xor eax, eax
movzx edx, byte [edi + 0x8f]
xorps xmm0, xmm0
mov esi, dword [ebx + 0x10]
mov edi, dword [ebp - 0x200]
mov dword [ebp - 0x218], eax
imul eax, dword [ebx + 8], 0x28
add ecx, dword [ebp - 0x208]
movlpd qword [ebp - 0x238], xmm0
movlpd qword [ebp - 0x258], xmm0
mov dword [ebp - 0x23c], ecx
add eax, 0xffffffd8
mov dword [ebp - 0x224], edx
add eax, ecx
mov dword [ebp - 0x22c], eax
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x208]
mov dword [ebp - 0x20c], eax
test esi, esi
je 0x4678ad
mov al, byte [esi]
mov edi, ecx
push dword [ebp - 0x244]
mov dl, al
mov ecx, edi
call fcn.00465af0
add edi, 0x28
inc esi
pop ecx
mov al, byte [esi]
test al, al
jne 0x467887
mov edi, dword [ebp - 0x200]
mov edx, dword [ebp - 0x224]
mov eax, dword [ebp - 0x234]
mov ecx, dword [ebp - 0x22c]
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x238]
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp - 0x254]
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x258]
mov dword [ebp - 0x228], ecx
mov dword [ebp - 0x254], eax
lea eax, [ebp - 0x5c]
push eax
call fcn.00462dce
mov edx, dword [ebp - 0x228]
mov esi, eax
mov eax, 0x4000
pop ecx
mov dword [edx + 0x1c], esi
test word [edx + 8], ax
je 0x467942
mov ecx, dword [ebp - 0x21c]
or ecx, dword [ebp - 0x24c]
je 0x467928
mov ecx, edx
call fcn.0045fe96
test eax, eax
jne 0x4676d1
jmp 0x46793c
mov ecx, dword [edx]
mov eax, ecx
cdq
add dword [ebp - 0x254], eax
adc dword [ebp - 0x220], edx
sub dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 0x228]
mov eax, dword [ebp - 0x21c]
add eax, dword [ebp - 0x5c]
push 0
mov dword [ebp - 0x21c], eax
pop eax
adc dword [ebp - 0x24c], eax
cmp esi, 0x7f
ja 0x467964
xor ecx, ecx
inc ecx
jmp 0x46799f
shr esi, 7
mov ecx, eax
mov eax, esi
mov dword [ebp - 0x234], 1
or eax, ecx
je 0x467999
mov edi, dword [ebp - 0x234]
shrd esi, ecx, 7
inc edi
shr ecx, 7
mov eax, esi
or eax, ecx
jne 0x46797f
mov dword [ebp - 0x234], edi
mov edi, dword [ebp - 0x200]
mov ecx, dword [ebp - 0x234]
mov eax, dword [ebp - 0x218]
add eax, ecx
mov dword [ebp - 0x218], eax
cmp edx, dword [ebp - 0x23c]
je 0x4679cb
sub edx, 0x28
mov dword [ebp - 0x228], edx
mov ecx, edx
mov edx, dword [ebp - 0x224]
jmp 0x4678e9
cmp eax, 0x7e
jle 0x4679fd
cdq
push edx
push eax
call fcn.0044ce8c
mov esi, eax
mov eax, dword [ebp - 0x218]
add eax, esi
mov dword [ebp - 0x218], eax
cdq
push edx
push eax
call fcn.0044ce8c
add esp, 0x10
cmp esi, eax
mov eax, dword [ebp - 0x218]
jge 0x467a04
inc eax
mov dword [ebp - 0x218], eax
mov esi, dword [ebp - 0x24c]
cdq
mov ecx, edx
mov dword [ebp - 0x224], eax
mov edx, dword [ebp - 0x21c]
add edx, eax
mov dword [ebp - 0x234], ecx
mov eax, dword [ebp - 0x1f4]
adc esi, ecx
mov dword [ebp - 0x21c], edx
mov ecx, edx
add ecx, dword [ebp - 0x254]
mov eax, dword [eax + 0x60]
adc esi, dword [ebp - 0x220]
cdq
cmp esi, edx
jg 0x4668d7
jl 0x467a53
cmp ecx, eax
ja 0x4668d7
mov esi, dword [ebp - 0x20c]
mov ecx, esi
mov edx, dword [ebp - 0x21c]
call fcn.0045fe05
test eax, eax
jne 0x4676d1
mov ecx, dword [ebp - 0x218]
mov edx, 0x80
mov esi, dword [esi + 0x10]
cmp ecx, edx
jae 0x467a85
mov byte [esi], cl
inc eax
jmp 0x467a9f
push dword [ebp - 0x234]
mov ecx, esi
push dword [ebp - 0x224]
call fcn.0044cc66
pop ecx
pop ecx
mov edx, 0x80
mov ebx, dword [ebp - 0x23c]
movzx edi, al
mov eax, dword [ebx + 0x1c]
lea ecx, [edi + esi]
mov dword [ebp - 0x23c], eax
cmp eax, edx
jae 0x467abf
mov byte [ecx], al
xor eax, eax
inc eax
jmp 0x467aca
xor edx, edx
push edx
push eax
call fcn.0044cc66
pop ecx
pop ecx
mov ecx, dword [ebp - 0x218]
mov edx, ebx
push dword [ebp - 0x23c]
movzx eax, al
add edi, eax
lea ecx, [ecx + esi]
call fcn.00462eed
add dword [ebp - 0x218], eax
add ebx, 0x28
mov edx, 0x80
pop ecx
cmp ebx, dword [ebp - 0x22c]
jbe 0x467aa8
mov ecx, dword [ebp - 0x20c]
mov eax, dword [ebp - 0x21c]
mov edx, dword [ebp - 0x254]
mov ebx, dword [ebp - 0x204]
mov edi, dword [ebp - 0x200]
mov dword [ecx + 0xc], eax
push 0x10
pop eax
mov word [ecx + 8], ax
mov eax, edx
or eax, dword [ebp - 0x220]
je 0x467b39
mov eax, 0x4010
mov dword [ecx], edx
mov word [ecx + 8], ax
xor eax, eax
inc eax
mov byte [ecx + 0xa], al
jmp 0x4662bf
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0x88]
mov eax, dword [edi + 0x70]
xorps xmm0, xmm0
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 0x28]
movlpd qword [ebp - 0x88], xmm0
call fcn.0045e4b4
mov esi, eax
mov dword [ebp - 0x1f8], esi
test esi, esi
jne 0x466b77
mov edx, ebx
mov ecx, edi
call fcn.00465be4
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0x84]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp 0x465de1
mov ecx, dword [ebx + 4]
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x21c], ecx
mov dword [ebp - 0x234], eax
test ecx, ecx
jne 0x467c86
cmp dword [esi + 0xa4], ecx
jg 0x46aafc
mov ecx, eax
call fcn.0044c0ba
mov ecx, dword [esi + 0x1b4]
xor edx, edx
add ecx, dword [esi + 0x1b0]
push ecx
mov ecx, esi
mov dword [ebp - 0x20c], eax
call fcn.0049020f
mov esi, eax
mov dword [ebp - 0x1f8], esi
pop ecx
test esi, esi
jne 0x466b77
mov eax, dword [ebp - 0x20c]
xor ecx, ecx
push ecx
mov ecx, dword [ebp - 0x1f4]
add eax, 0x21
push eax
call fcn.0044a313
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x465de1
mov ecx, dword [ebp - 0x20c]
lea edx, [esi + 0x20]
inc ecx
mov dword [esi], edx
push ecx
push dword [ebp - 0x234]
push edx
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [ebp - 0x1f4]
add esp, 0xc
cmp byte [edx + 0x43], 0
je 0x467c46
xor eax, eax
mov byte [edx + 0x4b], 1
mov byte [edx + 0x43], al
jmp 0x467c4c
inc dword [edx + 0x1b0]
mov eax, dword [edx + 0x1a8]
mov dword [esi + 0x18], eax
mov eax, dword [edx + 0x1b8]
mov ecx, dword [edx + 0x1bc]
mov dword [edx + 0x1a8], esi
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
mov eax, dword [edx + 0x1c0]
mov ecx, dword [edx + 0x1c4]
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], ecx
mov esi, edx
jmp 0x465d4e
mov esi, dword [esi + 0x1a8]
xor ecx, ecx
mov dword [ebp - 0x218], ecx
test esi, esi
je 0x46ab39
mov ecx, dword [esi]
mov edx, eax
call fcn.0044c28c
test eax, eax
je 0x467cba
inc dword [ebp - 0x218]
mov esi, dword [esi + 0x18]
mov eax, dword [ebp - 0x234]
jmp 0x467c94
mov ecx, dword [ebp - 0x1f4]
xor eax, eax
mov edx, dword [ebp - 0x21c]
cmp dword [ecx + 0xa4], eax
jle 0x467cdf
inc eax
cmp edx, eax
jne 0x467ce2
push str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x46ab01
xor eax, eax
inc eax
cmp dword [esi + 0x18], 0
jne 0x467dd8
cmp byte [ecx + 0x4b], 0
je 0x467dd8
mov dword [ebp - 0x220], eax
cmp edx, eax
jne 0x467dec
mov edx, eax
mov ecx, edi
call fcn.004626ec
mov dword [ebp - 0x1f8], eax
test eax, eax
jne 0x46aaa3
mov eax, dword [ebp - 0x1f4]
mov ecx, edi
mov byte [eax + 0x43], 1
call fcn.00462747
push 5
pop ecx
cmp eax, ecx
je 0x46ab10
mov eax, dword [ebp - 0x1f4]
xor ecx, ecx
mov dword [ebp - 0x220], 1
mov byte [eax + 0x4b], cl
mov eax, dword [edi + 0x28]
mov dword [ebp - 0x1f8], eax
mov eax, dword [ebp - 0x1f4]
mov ecx, dword [eax + 0x1a8]
cmp ecx, esi
je 0x467d93
mov edi, dword [ebp - 0x1f4]
mov eax, dword [ecx + 0x18]
mov edx, ecx
mov ecx, edi
mov dword [edi + 0x1a8], eax
call fcn.0044a0d4
dec dword [edi + 0x1b0]
mov ecx, dword [edi + 0x1a8]
cmp ecx, esi
jne 0x467d6b
mov edi, dword [ebp - 0x200]
mov edx, dword [ebp - 0x21c]
cmp edx, 1
jne 0x467f6f
mov ecx, dword [ebp - 0x1f4]
mov edx, esi
mov eax, dword [esi + 0x18]
mov esi, ecx
mov dword [ecx + 0x1a8], eax
call fcn.0044a0d4
cmp dword [ebp - 0x220], 0
jne 0x467fd4
dec dword [esi + 0x1b0]
mov edx, dword [ebp - 0x21c]
jmp 0x467fb3
xor eax, eax
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x218]
mov dword [ebp - 0x218], eax
mov ecx, dword [ecx + 0x1b0]
sub ecx, dword [ebp - 0x218]
push 2
dec ecx
pop eax
mov dword [ebp - 0x218], ecx
cmp edx, eax
jne 0x467f38
mov eax, dword [ebp - 0x1f4]
xor edi, edi
mov dword [ebp - 0x20c], edi
mov edi, dword [ebp - 0x1f4]
mov eax, dword [eax + 0x18]
shr eax, 1
and eax, 1
cmp dword [edi + 0x14], 0
mov edi, dword [ebp - 0x200]
mov dword [ebp - 0x23c], eax
jle 0x467ead
mov ecx, eax
xor ecx, 1
xor eax, eax
mov dword [ebp - 0x234], ecx
mov dword [ebp - 0x22c], eax
push ecx
mov ecx, dword [ebp - 0x1f4]
mov edx, 0x204
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx + eax + 4]
call fcn.00459df5
mov dword [ebp - 0x1f8], eax
pop ecx
test eax, eax
jne 0x466b77
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0x20c]
push 0x10
pop edx
add eax, edx
inc ecx
mov edx, dword [ebp - 0x1f4]
mov dword [ebp - 0x20c], ecx
mov dword [ebp - 0x22c], eax
cmp ecx, dword [edx + 0x14]
mov ecx, dword [ebp - 0x234]
jl 0x467e4b
mov edx, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x218]
xor eax, eax
mov dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x1f4]
cmp dword [eax + 0x14], 0
jle 0x467f26
xor eax, eax
mov dword [ebp - 0x22c], eax
push ecx
mov ecx, dword [ebp - 0x1f4]
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx + eax + 4]
call fcn.00459fa3
mov dword [ebp - 0x1f8], eax
pop ecx
test eax, eax
jne 0x466b77
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0x20c]
push 0x10
pop edx
add eax, edx
inc ecx
mov edx, dword [ebp - 0x1f4]
mov dword [ebp - 0x20c], ecx
mov dword [ebp - 0x22c], eax
cmp ecx, dword [edx + 0x14]
mov edx, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x218]
jl 0x467ec9
mov eax, dword [ebp - 0x1f4]
cmp dword [ebp - 0x23c], 0
je 0x467d55
mov eax, dword [eax + 4]
jmp 0x467f4f
xor eax, eax
mov dword [ebp - 0x23c], eax
jmp 0x467eaf
or dword [eax + 0x90], 1
mov eax, dword [eax + 8]
test eax, eax
jne 0x467f45
mov ecx, dword [ebp - 0x1f4]
call fcn.0047735b
mov eax, dword [ebp - 0x1f4]
push 2
pop ecx
or dword [eax + 0x18], ecx
jmp 0x467d5b
cmp dword [ebp - 0x220], 0
mov edi, dword [ebp - 0x1f4]
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [edi + 0x1b8], eax
mov eax, edi
mov dword [eax + 0x1bc], ecx
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
mov esi, edi
mov edi, dword [ebp - 0x200]
mov dword [esi + 0x1c0], eax
mov dword [esi + 0x1c4], ecx
je 0x467fb3
push 2
pop eax
cmp edx, eax
jne 0x467fd4
mov ecx, dword [ebp - 0x218]
push ecx
mov ecx, esi
call fcn.0049020f
mov edx, eax
mov dword [ebp - 0x1f8], edx
pop ecx
test edx, edx
jne 0x466b77
jmp 0x467fda
mov edx, dword [ebp - 0x1f8]
test edx, edx
jne 0x466b77
jmp 0x465d4e
mov edx, dword [ebx + 8]
test edx, edx
je 0x467ffb
test dword [esi + 0x18], 0x4000000
jne 0x46ab50
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov esi, dword [eax + ecx*8 + 4]
test esi, esi
je 0x4680e3
mov ecx, esi
call fcn.004593c9
mov dword [ebp - 0x1f8], eax
test eax, eax
jne 0x46ab57
cmp dword [ebx + 8], eax
je 0x4680ba
test byte [edi + 0x90], 0x40
je 0x4680ba
mov ecx, dword [ebp - 0x1f4]
cmp byte [ecx + 0x43], al
je 0x46804e
cmp dword [ecx + 0xa0], 1
jle 0x4680ba
mov eax, dword [edi + 0x30]
test eax, eax
jne 0x46806a
mov eax, dword [ecx + 0x1b0]
inc dword [ecx + 0x1b4]
add eax, dword [ecx + 0x1b4]
mov dword [edi + 0x30], eax
dec eax
xor edx, edx
push eax
call fcn.0049020f
mov edx, eax
mov dword [ebp - 0x1f8], edx
pop ecx
test edx, edx
jne 0x468090
mov edx, dword [edi + 0x30]
mov ecx, esi
call fcn.00459f6d
mov dword [ebp - 0x1f8], eax
mov edx, dword [ebp - 0x1f4]
mov eax, dword [edx + 0x1b8]
mov ecx, dword [edx + 0x1bc]
mov dword [edi + 0x48], eax
mov dword [edi + 0x4c], ecx
mov eax, dword [edx + 0x1c0]
mov ecx, dword [edx + 0x1c4]
mov dword [edi + 0x50], eax
mov dword [edi + 0x54], ecx
lea eax, [ebp - 0x54]
xor edx, edx
push eax
inc edx
mov ecx, esi
call fcn.0045e421
mov esi, dword [ebp - 0x1f4]
pop ecx
mov ecx, dword [ebx + 4]
add ecx, ecx
mov eax, dword [esi + 0x10]
mov eax, dword [eax + ecx*8 + 0xc]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x54]
jmp 0x4680f0
mov esi, dword [ebp - 0x1f4]
xor ecx, ecx
mov eax, ecx
mov dword [ebp - 0x54], eax
xor edx, edx
cmp word [ebx + 2], dx
je 0x46810a
cmp eax, dword [ebx + 0xc]
jne 0x46ab7e
cmp ecx, dword [ebx + 0x10]
jne 0x46ab7e
cmp dword [ebp - 0x1f8], edx
jmp 0x467fdc
mov ecx, dword [esi + 0x10]
lea eax, [ebp - 0x98]
mov edx, dword [ebx + 0xc]
push eax
mov eax, dword [ebx + 4]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0045e421
pop ecx
mov edx, ebx
mov ecx, edi
call fcn.00465be4
mov ecx, eax
mov eax, dword [ebp - 0x98]
jmp 0x465e8c
mov eax, dword [ebp - 0x1f4]
mov esi, dword [ebx + 4]
push dword [ebx + 0xc]
mov edx, dword [ebx + 8]
shl esi, 4
add esi, dword [eax + 0x10]
mov ecx, dword [esi + 4]
call fcn.0045e463
mov edx, eax
xor eax, eax
inc eax
mov dword [ebp - 0x1f8], edx
pop ecx
push 2
cmp dword [ebx + 8], eax
jne 0x46818e
mov ecx, dword [esi + 0xc]
mov eax, dword [ebx + 0xc]
mov esi, dword [ebp - 0x1f4]
mov dword [ecx], eax
pop eax
or dword [esi + 0x18], eax
xor eax, eax
inc eax
jmp 0x4681a6
pop ecx
cmp dword [ebx + 8], ecx
jne 0x4681a0
mov ecx, dword [esi + 0xc]
mov al, byte [ebx + 0xc]
mov byte [ecx + 0x4c], al
xor eax, eax
inc eax
mov esi, dword [ebp - 0x1f4]
cmp dword [ebx + 4], eax
jne 0x4681c6
mov eax, dword [esi + 4]
jmp 0x4681ba
or dword [eax + 0x90], 1
mov eax, dword [eax + 8]
test eax, eax
jne 0x4681b0
and dword [edi + 0x90], 0xfffffffe
inc eax
test edx, edx
jne 0x466b77
jmp case.0x465d01.95
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x70]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x4681ec
mov eax, dword [esi + 0x34]
cmp eax, dword [ebx + 8]
je 0x468325
mov cl, byte [ebp - 0x211]
test byte [edi + 0x90], 1
jne 0x46abc2
mov edx, dword [ebx + 8]
xor eax, eax
mov esi, dword [ebx + 0xc]
mov dword [ebp - 0x234], edx
mov edx, dword [ebp - 0x1f4]
mov dword [ebp - 0x23c], eax
mov dword [ebp - 0x224], eax
mov eax, esi
shl eax, 4
add eax, dword [edx + 0x10]
mov dword [ebp - 0x22c], esi
mov edx, dword [eax + 4]
mov dword [ebp - 0x220], edx
mov edx, dword [ebp - 0x234]
cmp cl, 0x6a
jne 0x468267
mov eax, dword [eax + 0xc]
movzx ecx, word [ebx + 2]
and ecx, 8
or ecx, 4
mov al, byte [eax + 0x4c]
mov dword [ebp - 0x20c], ecx
cmp al, byte [edi + 0x8f]
jae 0x46826f
mov byte [edi + 0x8f], al
jmp 0x46826f
xor eax, eax
mov dword [ebp - 0x20c], eax
test byte [ebx + 2], 0x10
je 0x468293
imul esi, edx, 0x28
add esi, dword [ebp - 0x208]
mov ecx, esi
call fcn.00460226
mov eax, dword [esi]
mov esi, dword [ebp - 0x22c]
mov dword [ebp - 0x234], eax
mov al, byte [ebx + 1]
cmp al, 0xfb
jne 0x4682af
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x224], eax
movzx ecx, word [eax + 8]
movzx eax, word [eax + 6]
add ecx, eax
jmp 0x4682be
cmp al, 0xf5
jne 0x4682b8
mov ecx, dword [ebx + 0x10]
jmp 0x4682be
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ebx + 4]
xor eax, eax
push eax
push esi
push ecx
mov ecx, edi
call fcn.004659af
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4676d1
mov ecx, dword [ebp - 0x220]
push 4
pop eax
push dword [esi + 0x28]
or dword [esi + 8], eax
push dword [ebp - 0x224]
mov eax, dword [ebp - 0x234]
mov edx, eax
push dword [ebp - 0x20c]
mov byte [esi + 2], 1
mov dword [esi + 0x34], eax
call fcn.0045a0d1
mov dword [ebp - 0x1f8], eax
add esp, 0xc
mov eax, dword [ebp - 0x224]
mov dword [esi + 0x2c], eax
cmp byte [ebx + 1], 0xfb
setne al
mov byte [esi + 4], al
mov cl, byte [ebx + 2]
mov eax, dword [esi + 0x28]
and cl, 3
mov byte [eax + 0x43], cl
jmp 0x466b6a
mov edx, dword [ebx + 4]
xor eax, eax
push eax
push 0xffffffffffffffff
push dword [ebx + 8]
mov ecx, edi
call fcn.004659af
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4676d1
xor eax, eax
lea ecx, [esi + 0xc]
inc eax
xor edx, edx
or dword [esi + 8], eax
mov byte [esi + 2], al
movzx eax, word [ebx + 2]
push 0x41e
or eax, 5
push eax
mov eax, dword [ebp - 0x1f4]
push ecx
push eax
mov ecx, dword [eax]
call fcn.0045876e
add esp, 0x10
mov dword [ebp - 0x1f8], eax
test eax, eax
jne 0x466b77
mov ecx, dword [esi + 0xc]
xor edx, edx
inc edx
call fcn.004593c9
mov dword [ebp - 0x1f8], eax
test eax, eax
jne 0x466b77
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x20c], eax
mov dword [esi + 0x2c], eax
test eax, eax
je 0x468408
movzx eax, word [ebx + 2]
lea edx, [ebp - 0x94]
push 2
pop ecx
or eax, ecx
mov ecx, dword [esi + 0xc]
push eax
call fcn.0045e09a
mov edx, eax
mov dword [ebp - 0x1f8], edx
pop ecx
test edx, edx
jne 0x468404
push dword [esi + 0x28]
mov edx, dword [ebp - 0x94]
push dword [ebp - 0x20c]
mov ecx, dword [esi + 0xc]
push 4
pop eax
push eax
call fcn.0045a0d1
mov edx, eax
add esp, 0xc
mov dword [ebp - 0x1f8], edx
xor eax, eax
jmp 0x46842a
push dword [esi + 0x28]
mov ecx, dword [esi + 0xc]
xor eax, eax
push eax
push 4
pop eax
xor edx, edx
push eax
inc edx
call fcn.0045a0d1
mov edx, eax
add esp, 0xc
mov dword [ebp - 0x1f8], edx
mov al, 1
mov ecx, esi
push 4
pop edi
mov byte [ecx + edi], al
mov edi, dword [ebp - 0x200]
test edx, edx
jne 0x466b77
push 8
pop eax
xor ecx, ecx
cmp word [ebx + 2], ax
push 4
pop eax
cmovne ecx, eax
mov eax, dword [esi + 8]
and eax, 0xfffffffb
or ecx, eax
mov dword [esi + 8], ecx
jmp 0x465de1
mov edx, dword [ebx + 4]
mov ecx, edi
push eax
push 0xffffffffffffffff
push dword [ebx + 8]
call fcn.004659af
add esp, 0xc
test eax, eax
je 0x4676d7
mov ecx, dword [ebx + 0x10]
mov dword [eax + 0x2c], ecx
mov ecx, esi
mov edx, dword [ebx + 0xc]
push eax
call fcn.0046c06d
mov edx, eax
pop ecx
mov dword [ebp - 0x1f8], edx
jmp 0x467fda
mov eax, dword [edi + 0x70]
mov ecx, dword [ebx + 4]
mov edx, dword [eax + ecx*4]
mov edi, dword [edx + 0x10]
mov ecx, edi
mov esi, dword [edx + 0x14]
add ecx, 1
mov eax, esi
mov dword [edx + 0x10], ecx
adc eax, 0
or edi, esi
mov dword [edx + 0x14], eax
je 0x46a9f8
jmp 0x466097
mov edx, dword [ebx + 4]
mov ecx, edi
push 3
push 0xffffffffffffffff
push dword [ebx + 0xc]
call fcn.004659af
add esp, 0xc
test eax, eax
je 0x4676d7
xor edx, edx
inc edx
mov byte [eax + 2], dl
mov ecx, dword [ebx + 8]
mov dword [eax + 0x28], ecx
mov byte [eax + 4], dl
jmp 0x465d4e
mov eax, dword [ebx + 4]
mov ecx, edi
mov edx, dword [edi + 0x70]
mov edx, dword [edx + eax*4]
call fcn.00461e90
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x70]
mov dword [eax + ecx*4], edx
jmp 0x465d4e
mov eax, dword [edi + 0x70]
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
xor eax, eax
mov dword [ebp - 0x220], ecx
mov dword [ebp - 0x218], eax
mov byte [ecx + 2], al
cmp byte [ecx + 4], al
je 0x46860c
imul esi, dword [ebx + 0xc], 0x28
push 2
pop ecx
add esi, dword [ebp - 0x208]
mov al, byte [esi + 8]
and al, 0xe
cmp al, cl
jne 0x468557
xor edx, edx
mov ecx, esi
call fcn.00465a6c
mov ecx, esi
call fcn.00460126
movzx ecx, word [esi + 8]
push 4
mov dword [ebp - 0x234], eax
pop eax
mov dword [ebp - 0x224], edx
test al, cl
jne 0x4685b7
test cl, 8
je 0x46a9f8
mov ecx, dword [ebp - 0x234]
call fcn.005b4cd0
movsd xmm1, qword [esi]
comisd xmm0, xmm1
jbe 0x4685a0
mov eax, dword [ebp - 0x228]
test al, 1
jne 0x4685b7
dec eax
jmp 0x4685b1
comisd xmm1, xmm0
jbe 0x4685b7
mov eax, dword [ebp - 0x228]
test al, 1
je 0x4685b7
inc eax
mov dword [ebp - 0x228], eax
mov esi, dword [ebp - 0x220]
lea eax, [ebp - 0x14]
push eax
xor eax, eax
add esi, 0x28
push eax
push dword [ebp - 0x224]
xor edx, edx
push dword [ebp - 0x234]
mov ecx, dword [esi]
call fcn.0045a902
mov ecx, dword [ebp - 0x234]
mov edx, eax
mov eax, dword [ebp - 0x220]
add esp, 0x10
mov dword [ebp - 0x1f8], edx
mov dword [eax + 0x40], ecx
mov ecx, dword [ebp - 0x224]
mov dword [eax + 0x44], ecx
test edx, edx
jne 0x466b77
jmp 0x4686bc
lea esi, [ecx + 0x28]
mov eax, dword [esi]
push 0
mov al, byte [eax + 0x43]
and al, 2
mov byte [ebp - 0x211], al
pop eax
setne al
mov dword [ebp - 0x218], eax
mov eax, dword [ecx + 0x2c]
mov dword [ebp - 0xf0], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0xe8], ax
lea eax, [edx - 1]
and al, 1
lea edx, [ebp - 0xf0]
neg al
sbb al, al
xor ecx, ecx
and al, 0xfe
mov byte [ebp - 0xe2], cl
inc al
mov byte [ebp - 0xe6], al
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x208]
mov dword [ebp - 0xec], eax
lea eax, [ebp - 0x14]
push eax
push ecx
push ecx
push ecx
mov ecx, dword [esi]
call fcn.0045a902
mov edx, eax
add esp, 0x10
mov dword [ebp - 0x1f8], edx
test edx, edx
jne 0x466b77
cmp byte [ebp - 0x211], al
je 0x4686b6
mov edx, dword [ebp - 0x218]
mov dword [ebp - 0x218], edx
cmp byte [ebp - 0xe2], al
je 0x46873b
mov eax, dword [ebp - 0x220]
jmp 0x4686c2
mov eax, dword [ebp - 0x220]
mov edx, dword [ebp - 0x218]
xor ecx, ecx
mov byte [eax + 3], cl
mov dword [eax + 0x1c], ecx
mov eax, dword [ebp - 0x228]
mov ecx, dword [ebp - 0x14]
cmp eax, 0x19
jl 0x4686fc
test ecx, ecx
js 0x4686ea
jne 0x4686e3
cmp eax, 0x1a
je 0x4686ea
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x468745
xor eax, eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
push dword [esi]
call fcn.0045add4
jmp 0x468725
test ecx, ecx
jg 0x468715
jne 0x468709
push 0x17
pop ecx
cmp eax, ecx
je 0x468715
mov ecx, dword [esi]
call fcn.0045ac96
mov dword [ebp - 0x14], eax
jmp 0x468735
xor eax, eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
push dword [esi]
call fcn.0045af20
mov dword [ebp - 0x1f8], eax
pop ecx
pop ecx
test eax, eax
jne 0x466b77
mov edx, dword [ebp - 0x218]
cmp dword [ebp - 0x14], 0
jne 0x46a9f8
mov esi, dword [ebp - 0x1f4]
test edx, edx
mov edx, dword [ebp - 0x1fc]
je 0x466006
push 0x14
pop eax
add ebx, eax
jmp 0x466006
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x70]
imul esi, dword [ebx + 0xc], 0x28
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x20c], eax
add esi, dword [ebp - 0x208]
mov ecx, dword [eax + 0x2c]
xor eax, eax
cmp dword [ebx + 0x10], eax
jle 0x4687b3
mov ax, word [ebx + 0x10]
mov word [ebp - 0x150], ax
xor eax, eax
mov dword [ebp - 0x158], ecx
lea ecx, [ebp - 0x158]
mov dword [ebp - 0x154], esi
mov esi, dword [ebp - 0x20c]
mov dword [ebp - 0x23c], eax
jmp 0x468803
call fcn.00463174
mov dword [ebp - 0x22c], eax
mov dword [ebp - 0x23c], eax
test eax, eax
je 0x4676d1
mov ecx, 0x4000
test word [esi + 8], cx
je 0x4687e4
mov ecx, esi
call fcn.0045fe96
mov eax, dword [ebp - 0x22c]
mov edx, dword [esi + 0xc]
push eax
push dword [esi + 0x10]
mov esi, dword [ebp - 0x20c]
mov ecx, dword [esi + 0x2c]
call fcn.004631ca
pop ecx
pop ecx
mov ecx, dword [ebp - 0x22c]
xor eax, eax
mov byte [ecx + 0xa], al
cmp byte [ebx], 0x1d
mov dword [ebp - 0x22c], eax
jne 0x468863
movzx edx, word [ecx + 8]
and dword [ebp - 0x20c], 0
cmp word [ebp - 0x20c], dx
jae 0x468863
mov dword [ebp - 0x234], edx
mov edx, dword [ecx + 4]
add edx, 8
test byte [edx], 1
jne 0x468859
inc eax
add edx, 0x28
mov dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x234]
movzx eax, ax
cmp dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x20c]
jl 0x468831
jmp 0x468863
mov dword [ebp - 0x22c], 1
lea eax, [ebp - 0x80]
mov edx, ecx
mov ecx, dword [esi + 0x28]
push eax
xor eax, eax
push eax
push eax
push eax
call fcn.0045a902
mov edx, eax
add esp, 0x10
mov eax, dword [ebp - 0x23c]
mov dword [ebp - 0x1f8], edx
test eax, eax
je 0x46889e
mov ecx, dword [ebp - 0x1f4]
mov edx, eax
call fcn.0044a0d4
mov edx, dword [ebp - 0x1f8]
test edx, edx
jne 0x466b77
mov eax, dword [ebp - 0x80]
xor ecx, ecx
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0x80]
test eax, eax
sete cl
test eax, eax
setne al
mov byte [esi + 2], al
xor eax, eax
mov byte [esi + 3], al
mov dword [esi + 0x1c], eax
cmp byte [ebx], 0x1f
je 0x466e93
cmp dword [ebp - 0x22c], eax
jne 0x46a9f8
test ecx, ecx
je 0x46a9f8
jmp 0x465de1
imul esi, dword [ebx + 0xc], 0x28
push 4
pop eax
add esi, dword [ebp - 0x208]
test byte [esi + 8], al
jne case.0x465d01.33
push dword [ebp - 0x244]
mov dl, 0x43
mov ecx, esi
call fcn.00465af0
pop ecx
push 4
pop eax
test byte [esi + 8], al
je 0x46a9f8
mov eax, dword [edi + 0x70]
xor edx, edx
mov ecx, dword [ebx + 4]
mov edi, dword [ebp - 0x208]
mov ebx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x204]
mov ecx, dword [ebx + 0x28]
imul eax, dword [eax + 0xc], 0x28
mov dword [ebp - 0x60], edx
mov esi, dword [eax + edi]
mov edi, dword [eax + edi + 4]
lea eax, [ebp - 0x60]
push eax
push edx
push edi
push esi
call fcn.0045a902
mov dword [ebp - 0x1f8], eax
add esp, 0x10
xor eax, eax
mov dword [ebx + 0x40], esi
mov dword [ebx + 0x44], edi
mov word [ebx + 2], ax
mov dword [ebx + 0x1c], eax
mov eax, dword [ebp - 0x60]
mov dword [ebx + 0x20], eax
cmp dword [ebp - 0x60], 0
je 0x4689a4
mov ebx, dword [ebp - 0x204]
xor eax, eax
cmp dword [ebx + 8], eax
jne 0x46a9f8
push 0x621174
push 0x141c0
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.0044b826
add esp, 0x14
push 0xb
jmp 0x46abbc
mov ebx, dword [ebp - 0x1f8]
test ebx, ebx
jne 0x466b7d
jmp 0x466091
mov edx, ebx
mov ecx, edi
call fcn.00465be4
mov edx, dword [ebx + 4]
mov ecx, dword [edi + 0x70]
push 0
mov ecx, dword [ecx + edx*4]
mov edx, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x14]
mov dword [eax + 4], ecx
mov dword [eax], edx
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x70]
mov eax, dword [eax + ecx*4]
pop ecx
add dword [eax + 0x10], 1
adc dword [eax + 0x14], ecx
jmp 0x465d4e
xorps xmm0, xmm0
xor eax, eax
mov edx, ebx
movlpd qword [ebp - 0x20], xmm0
mov ecx, edi
mov dword [ebp - 0x3c], eax
call fcn.00465be4
mov edx, dword [ebx + 4]
mov ecx, dword [edi + 0x70]
push 2
mov dword [ebp - 0x22c], eax
pop eax
mov esi, dword [ecx + edx*4]
mov dword [ebp - 0x220], esi
test byte [esi + 8], al
jne 0x468a7c
mov ecx, dword [esi + 0x28]
lea edx, [ebp - 0x3c]
call fcn.0045a8b1
mov dword [ebp - 0x1f8], eax
test eax, eax
jne 0x466b77
cmp dword [ebp - 0x3c], eax
je 0x468a49
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x1c], eax
jmp 0x468a7c
mov ecx, dword [esi + 0x28]
call fcn.0045a1ea
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
cmp edx, 0x7fffffff
jl 0x468a6e
jg 0x468a66
cmp eax, 0xffffffff
jb 0x468a6e
push 2
pop eax
or dword [esi + 8], eax
jmp 0x468a7c
add eax, 1
push 0
pop ecx
adc edx, ecx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x468b15
mov eax, dword [edi + 0xb8]
test eax, eax
jne 0x468af1
imul esi, ecx, 0x28
add esi, dword [ebp - 0x208]
mov ecx, esi
call fcn.00460226
mov ecx, dword [esi]
mov edx, dword [esi + 4]
cmp ecx, 0xffffffff
jne 0x468ab7
cmp edx, 0x7fffffff
je 0x468b7c
mov eax, dword [ebp - 0x220]
test byte [eax + 8], 2
jne 0x468b7c
add ecx, 1
push 0
pop eax
adc edx, eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20c], eax
cmp eax, edx
jg 0x468b01
jl 0x468ae5
mov eax, dword [ebp - 0x20]
cmp eax, ecx
jae 0x468b04
mov eax, ecx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x20], eax
jmp 0x468b0a
mov eax, ecx
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x468aef
imul esi, dword [ebx + 0xc], 0x28
add esi, dword [eax + 0x10]
jmp 0x468a9a
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x20c]
mov dword [esi], eax
mov dword [esi + 4], edx
mov esi, dword [ebp - 0x220]
push 2
pop eax
test byte [esi + 8], al
je 0x468b89
xor eax, eax
mov esi, eax
lea eax, [ebp - 0x20]
push eax
push 8
pop eax
push eax
call fcn.0044b859
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
and eax, 0x3fffffff
push 0
add ecx, 1
pop edx
adc eax, edx
mov dword [ebp - 0x20], ecx
lea edx, [ebp - 0x3c]
mov dword [ebp - 0x1c], eax
push edx
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x220]
push ecx
mov ecx, dword [eax + 0x28]
call fcn.0045a902
mov edx, eax
add esp, 0x18
mov dword [ebp - 0x1f8], edx
test edx, edx
jne 0x466b77
cmp dword [ebp - 0x3c], eax
jne 0x468b83
inc esi
cmp esi, 0x64
jl 0x468b21
push 0xd
jmp 0x46abbc
mov esi, dword [ebp - 0x220]
mov edx, dword [ebp - 0x22c]
xor eax, eax
mov byte [esi + 3], al
mov dword [esi + 0x1c], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp 0x465de1
imul esi, dword [ebx + 8], 0x28
xor eax, eax
mov ecx, dword [ebx + 4]
mov edx, dword [ebp - 0x208]
mov dword [ebp - 0x22c], eax
mov eax, dword [edi + 0x70]
add esi, edx
cmp byte [ebp - 0x211], 0x74
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x234], ecx
jne 0x468bf4
imul eax, eax, 0x28
mov ecx, dword [eax + edx]
mov edx, dword [eax + edx + 4]
mov dword [ebp - 0x20c], ecx
mov dword [ebp - 0x120], ecx
mov ecx, dword [ebp - 0x234]
jmp 0x468c01
cdq
mov dword [ebp - 0x20c], eax
mov dword [ebp - 0x120], eax
cmp byte [ebx + 1], 0xf1
mov dword [ebp - 0x11c], edx
jne 0x468c4e
mov eax, dword [ebp - 0x1f4]
cmp dword [eax + 0xdc], 0
je 0x468c4e
movsx ecx, byte [ecx + 1]
mov eax, dword [eax + 0x10]
add ecx, ecx
push 4
mov ecx, dword [eax + ecx*8]
pop eax
test byte [ebx + 2], al
push 0x12
pop eax
mov dword [ebp - 0x224], ecx
mov ecx, dword [ebx + 0x10]
push 0x17
mov dword [ebp - 0x23c], ecx
pop ecx
cmovne eax, ecx
mov dword [ebp - 0x22c], eax
jmp 0x468c5c
xor eax, eax
mov dword [ebp - 0x23c], eax
mov dword [ebp - 0x224], eax
test byte [ebx + 2], 1
je 0x468c65
inc dword [edi + 0x2c]
test byte [ebx + 2], 0x20
je 0x468c7d
mov ecx, dword [ebp - 0x1f4]
mov eax, dword [ebp - 0x20c]
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edx
test byte [esi + 8], 1
je 0x468c93
xor eax, eax
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x10c], eax
jmp 0x468ca7
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x118], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x10c], eax
xor eax, eax
movzx ecx, word [ebx + 2]
test cl, 0x10
je 0x468cbb
mov edx, dword [ebp - 0x234]
mov edx, dword [edx + 0x20]
jmp 0x468cbd
mov edx, eax
mov eax, 0x4000
test word [esi + 8], ax
push 0
pop eax
je 0x468cd7
mov eax, dword [esi]
mov dword [ebp - 0x108], eax
xor eax, eax
jmp 0x468cdd
mov dword [ebp - 0x108], eax
mov esi, dword [ebp - 0x234]
and ecx, 0xa
push edx
mov dword [ebp - 0x128], eax
lea edx, [ebp - 0x128]
push ecx
mov ecx, dword [esi + 0x28]
call fcn.0045d8c7
mov edx, eax
xor eax, eax
mov dword [ebp - 0x1f8], edx
mov byte [esi + 3], al
mov dword [esi + 0x1c], eax
pop ecx
pop ecx
test edx, edx
jne 0x466b77
mov esi, dword [ebp - 0x1f4]
mov eax, dword [esi + 0xdc]
test eax, eax
je 0x465d4e
mov ecx, dword [ebp - 0x22c]
test ecx, ecx
je 0x465d4e
push dword [ebp - 0x11c]
mov edx, dword [ebp - 0x23c]
push dword [ebp - 0x120]
push dword [edx]
push dword [ebp - 0x224]
push ecx
push dword [esi + 0xd8]
call eax
add esp, 0x18
jmp 0x465d4e
cmp byte [ebx + 1], 0xf1
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x23c], eax
mov eax, dword [edi + 0x70]
mov esi, dword [eax + ecx*4]
jne 0x468dc4
mov eax, dword [ebp - 0x1f4]
xor ecx, ecx
cmp dword [eax + 0xdc], ecx
je 0x468dc4
movsx ecx, byte [esi + 1]
mov eax, dword [eax + 0x10]
add ecx, ecx
push 2
mov eax, dword [eax + ecx*8]
mov dword [ebp - 0x22c], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x20c], eax
pop eax
test byte [ebx + 2], al
je 0x468dd2
cmp byte [esi + 4], 0
je 0x468dd2
mov ecx, dword [esi + 0x28]
call fcn.0045a1ea
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], edx
jmp 0x468dd2
xor eax, eax
mov dword [ebp - 0x22c], eax
mov dword [ebp - 0x20c], eax
mov dl, byte [ebx + 2]
mov ecx, dword [esi + 0x28]
call fcn.0045dbfb
mov edx, eax
xor eax, eax
mov dword [ebp - 0x1f8], edx
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], eax
test edx, edx
jne 0x466b77
inc eax
test byte [ebp - 0x23c], al
je 0x4662bf
mov eax, dword [ebp - 0x1f4]
inc dword [edi + 0x2c]
mov eax, dword [eax + 0xdc]
test eax, eax
je 0x465de1
mov ecx, dword [ebp - 0x20c]
test byte [ecx + 0x24], 0x20
jne 0x465de1
push dword [esi + 0x44]
push dword [esi + 0x40]
mov esi, dword [ebp - 0x1f4]
push dword [ecx]
push dword [ebp - 0x22c]
push 9
jmp 0x468d53
mov eax, dword [edi + 0x2c]
add dword [esi + 0x5c], eax
mov dword [esi + 0x58], eax
xor eax, eax
mov dword [edi + 0x2c], eax
jmp 0x465d4e
mov eax, dword [edi + 0x70]
mov ecx, dword [ebx + 4]
imul edx, dword [ebx + 0xc], 0x28
mov ecx, dword [eax + ecx*4]
xor eax, eax
mov dword [ebp - 0x7c], eax
lea eax, [ebp - 0x7c]
add edx, dword [ebp - 0x208]
push eax
push dword [ebx + 0x10]
call fcn.0046d8e6
mov edx, eax
mov dword [ebp - 0x1f8], edx
pop ecx
pop ecx
test edx, edx
jne 0x466b77
cmp dword [ebp - 0x7c], eax
jmp 0x465d81
imul edx, dword [ebx + 8], 0x28
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x70]
add edx, dword [ebp - 0x208]
mov ecx, dword [eax + ecx*4]
call fcn.0046d890
mov edx, eax
mov dword [ebp - 0x1f8], edx
test edx, edx
jne 0x466b77
mov ecx, dword [ebx + 0xc]
mov eax, dword [edi + 0x70]
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [eax + 0x1c], ecx
jmp 0x465d4e
mov edx, ebx
mov ecx, edi
call fcn.00465be4
mov edx, dword [ebx + 4]
mov esi, eax
mov ecx, dword [edi + 0x70]
mov ecx, dword [ecx + edx*4]
mov eax, dword [ecx + 0x28]
mov ecx, eax
mov dword [ebp - 0x20c], eax
call fcn.0045a1ac
mov ecx, dword [ebp - 0x20c]
mov edx, dword [ebp - 0x1f4]
mov eax, dword [ecx + 0x1c]
cmp eax, dword [edx + 0x60]
ja 0x4668d7
push esi
push eax
xor edx, edx
call fcn.00460792
mov dword [ebp - 0x1f8], eax
pop ecx
pop ecx
test eax, eax
jne 0x466b77
cmp dword [ebx + 0xc], eax
jne 0x465de1
mov eax, 0x1000
test word [esi + 8], ax
je 0x465de1
mov ecx, esi
call fcn.0045fe21
mov esi, dword [ebp - 0x1f4]
test eax, eax
jne 0x4676d7
jmp 0x465d4e
mov edx, ebx
mov ecx, edi
call fcn.00465be4
mov edx, dword [ebx + 4]
mov ecx, dword [edi + 0x70]
mov dword [ebp - 0x20c], eax
mov esi, dword [ecx + edx*4]
cmp byte [esi + 2], 0
jne 0x466729
cmp byte [esi + 3], 0
je 0x468f87
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 0x44]
jmp 0x468ff7
push 2
pop eax
cmp byte [esi], al
jne 0x468fc3
mov ecx, dword [esi + 0x28]
lea edx, [ebp - 0x68]
push edx
push ecx
mov esi, dword [ecx]
mov eax, dword [esi]
call dword [eax + 0x30]
pop ecx
pop ecx
mov edx, esi
mov dword [ebp - 0x1f8], eax
mov ecx, edi
call fcn.004640ad
cmp dword [ebp - 0x1f8], 0
jne 0x466b77
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x68]
jmp 0x468ffd
mov ecx, esi
call fcn.00462d6d
mov ecx, eax
mov dword [ebp - 0x1f8], ecx
test ecx, ecx
jne 0x466b77
cmp byte [esi + 2], al
je 0x468fef
mov ecx, dword [ebp - 0x20c]
inc eax
mov word [ecx + 8], ax
jmp 0x4662bf
mov ecx, dword [esi + 0x28]
call fcn.0045a1ea
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp - 0x20c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x465de1
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x70]
mov esi, dword [eax + ecx*4]
xor eax, eax
xor ecx, ecx
inc eax
mov byte [esi + 2], al
mov dword [esi + 0x1c], ecx
cmp byte [esi], cl
jne 0x4662bf
mov esi, dword [esi + 0x28]
push dword [esi + 0x30]
call fcn.0044a066
xor eax, eax
pop ecx
mov dword [esi + 0x30], eax
mov byte [esi + 0x42], al
jmp 0x465de1
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x70]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebx + 0xc]
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0x50], edx
mov dword [esi + 0x20], eax
cmp dword [ebx + 0xc], edx
je 0x46906a
xor eax, eax
inc eax
cmp byte [ecx + 0x42], al
je 0x4662bf
lea edx, [ebp - 0x50]
call fcn.0045a8b1
mov dword [ebp - 0x1f8], eax
mov al, byte [ebp - 0x50]
mov byte [esi + 2], al
xor eax, eax
mov byte [esi + 3], al
mov dword [esi + 0x1c], eax
cmp dword [ebp - 0x1f8], eax
jne 0x466b77
cmp dword [ebx + 8], eax
jle 0x465de1
cmp dword [ebp - 0x50], eax
jmp 0x466c93
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0x58]
mov eax, dword [edi + 0x70]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + 0x28]
mov ecx, esi
call fcn.0045a886
mov ecx, eax
mov dword [ebp - 0x1f8], ecx
test ecx, ecx
jne 0x466b77
cmp dword [ebp - 0x58], eax
jne 0x46a9f8
mov ecx, esi
call fcn.0045aca0
xor ecx, ecx
cmp edx, ecx
jl 0x4690fc
jg 0x4690e5
cmp eax, ecx
jb 0x4690fc
push edx
push eax
call fcn.0044d204
cwde
pop ecx
pop ecx
cmp eax, dword [ebx + 0xc]
jge 0x4690fc
xor eax, eax
inc eax
mov dword [ebp - 0x58], eax
jmp 0x4690ff
mov eax, dword [ebp - 0x58]
test eax, eax
jmp 0x466c93
inc dword [edi + 0xa4]
mov eax, dword [edi + 0x70]
lea edx, [ebp - 0x40]
mov ecx, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
xor eax, eax
inc eax
mov dword [ebp - 0x40], eax
cmp byte [esi], al
jne 0x46912d
mov ecx, esi
call fcn.0046d788
mov edx, eax
jmp 0x46913f
mov ecx, dword [esi + 0x28]
call fcn.0045a886
mov edx, eax
xor eax, eax
mov byte [esi + 3], al
mov dword [esi + 0x1c], eax
mov dword [ebp - 0x1f8], edx
test edx, edx
jne 0x466b77
mov al, byte [ebp - 0x40]
mov byte [esi + 2], al
cmp dword [ebp - 0x40], edx
jmp 0x466c93
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x70]
mov esi, dword [eax + ecx*4]
xor eax, eax
mov ecx, dword [ebp - 0x1f4]
mov edx, esi
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x44]
push eax
call fcn.0046d7d8
jmp 0x4691a7
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x70]
cmp dword [eax + ecx*4], edx
je 0x465d4e
mov eax, dword [edi + 0x70]
mov ecx, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x44]
push eax
push dword [esi + 0x28]
call dword [ebx + 0x10]
pop ecx
mov dword [ebp - 0x1f8], eax
pop ecx
xor edx, edx
mov dword [esi + 0x1c], edx
test eax, eax
jne 0x466b77
cmp dword [ebp - 0x44], edx
jne 0x4691d3
mov byte [esi + 2], dl
movzx eax, word [ebx + 2]
inc dword [edi + eax*4 + 0x9c]
jmp 0x46a6f3
xor eax, eax
inc eax
mov byte [esi + 2], al
jmp 0x4698e1
imul esi, dword [ebx + 8], 0x28
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x70]
add esi, dword [ebp - 0x208]
test byte [ebx + 2], 1
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x20c], ecx
je 0x469200
inc dword [edi + 0x2c]
mov eax, 0x4000
test word [esi + 8], ax
je 0x469226
mov ecx, esi
call fcn.0045fe96
mov dword [ebp - 0x1f8], eax
test eax, eax
jne 0x466b77
mov ecx, dword [ebp - 0x20c]
cmp byte [ebx], 0x7d
jne 0x469236
mov edx, esi
call fcn.0046cc1b
mov edx, eax
jmp 0x46929b
mov eax, dword [esi + 0xc]
cdq
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 0x1bc], edx
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x1c8], eax
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x208]
mov dword [ebp - 0x1b4], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x1b0], ax
movzx eax, word [ebx + 2]
test al, 0x10
je 0x469277
mov edx, dword [ecx + 0x20]
jmp 0x469279
xor edx, edx
mov ecx, dword [ecx + 0x28]
and eax, 0xa
push edx
push eax
lea edx, [ebp - 0x1c8]
call fcn.0045d8c7
pop ecx
mov edx, eax
mov eax, dword [ebp - 0x20c]
pop ecx
xor ecx, ecx
mov dword [eax + 0x1c], ecx
mov dword [ebp - 0x1f8], edx
test edx, edx
jmp 0x466b71
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x70]
mov esi, dword [eax + ecx*4]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0x138], eax
mov ax, word [ebx + 0xc]
mov word [ebp - 0x130], ax
imul eax, dword [ebx + 8], 0x28
mov byte [ebp - 0x12e], dl
mov dword [ebp - 0x20c], ecx
add eax, dword [ebp - 0x208]
mov dword [ebp - 0x134], eax
lea eax, [ebp - 0x90]
push eax
push edx
push edx
push edx
lea edx, [ebp - 0x138]
call fcn.0045a902
add esp, 0x10
mov dword [ebp - 0x1f8], eax
test eax, eax
jne 0x466b77
cmp dword [ebp - 0x90], eax
jne 0x469332
mov ecx, dword [ebp - 0x20c]
push 4
pop eax
mov dl, al
call fcn.0045dbfb
mov dword [ebp - 0x1f8], eax
test eax, eax
jne 0x466b77
xor eax, eax
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], eax
jmp 0x465de1
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x70]
mov esi, dword [eax + ecx*4]
xor ecx, ecx
inc ecx
mov dword [ebp - 0x20c], esi
mov eax, dword [esi + 0x28]
cmp byte [eax + 0x42], cl
je 0x469373
mov ecx, esi
call fcn.00462d30
mov dword [ebp - 0x1f8], eax
test eax, eax
jne 0x466b77
xor ecx, ecx
inc ecx
jmp 0x46937b
xor eax, eax
mov dword [ebp - 0x1f8], eax
cmp byte [esi + 2], 0
jne 0x4693fb
mov ecx, dword [ebp - 0x1f4]
lea eax, [ebp - 0x78]
xorps xmm0, xmm0
movlpd qword [ebp - 0x78], xmm0
mov edx, dword [esi + 0x28]
push eax
call fcn.00463ebb
mov esi, eax
mov dword [ebp - 0x1f8], esi
pop ecx
test esi, esi
jne 0x466b77
mov eax, 0x80
cmp byte [ebx], al
jne 0x4693e7
mov ecx, dword [ebx + 0xc]
mov eax, dword [edi + 0x70]
mov edx, dword [eax + ecx*4]
xor eax, eax
mov byte [edx + 2], al
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x74]
mov dword [edx + 0x40], eax
mov dword [edx + 0x44], ecx
mov byte [edx + 3], 1
mov eax, dword [ebx + 0x10]
mov dword [edx + 0x18], eax
mov eax, dword [ebp - 0x20c]
mov dword [edx + 0x24], eax
jmp 0x465de1
mov edx, ebx
mov ecx, edi
call fcn.00465be4
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
jmp 0x467b8b
imul eax, dword [ebx + 8], 0x28
mov edx, 0x2460
add eax, dword [ebp - 0x208]
test word [eax + 8], dx
je 0x46672c
jmp 0x466722
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x70]
cmp byte [ebp - 0x211], 0x3d
mov edx, dword [eax + ecx*4]
mov ecx, esi
mov eax, dword [edx + 0x2c]
mov dword [ebp - 0x148], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x140], ax
sbb al, al
mov byte [ebp - 0x13e], al
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x208]
mov dword [ebp - 0x144], eax
xor eax, eax
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x148]
push eax
call fcn.00463fca
test byte [ebx], 1
mov edx, eax
mov eax, dword [ebp - 0x48]
pop ecx
pop ecx
mov dword [ebp - 0x1f8], edx
je 0x469482
neg eax
jmp 0x469483
inc eax
mov dword [ebp - 0x48], eax
test edx, edx
jne 0x466b77
test eax, eax
jg 0x46a9f8
jmp 0x465d4e
mov edx, ebx
mov ecx, edi
call fcn.00465be4
xor ecx, ecx
mov dword [ebp - 0x22c], eax
inc ecx
mov word [eax + 8], cx
mov ecx, dword [esi + 0xac]
inc ecx
cmp dword [esi + 0xa0], ecx
jg 0x46abcc
mov eax, dword [ebx + 0xc]
xor ecx, ecx
mov esi, dword [ebx + 4]
mov dword [ebp - 0x4c], ecx
mov ecx, eax
mov dword [ebp - 0x20c], eax
add ecx, ecx
mov eax, dword [ebp - 0x1f4]
mov eax, dword [eax + 0x10]
mov edi, dword [eax + ecx*8 + 4]
mov ecx, edi
call fcn.0045712c
lea eax, [ebp - 0x4c]
mov edx, esi
push eax
mov ecx, edi
call fcn.0045e28a
pop ecx
mov ecx, edi
mov dword [ebp - 0x1f8], eax
call fcn.004571a5
cmp dword [ebp - 0x1f8], 0
mov ecx, dword [ebp - 0x22c]
push 4
pop eax
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x4c]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jne 0x466b77
cmp dword [ebp - 0x4c], 0
mov esi, dword [ebp - 0x1f4]
je 0x46955a
push dword [ebx + 4]
mov edx, dword [ebp - 0x20c]
mov ecx, esi
push dword [ebp - 0x4c]
call fcn.00478ef6
mov al, byte [ebp - 0x20c]
pop ecx
inc al
pop ecx
mov byte [ebp - 0x245], al
mov edi, dword [ebp - 0x200]
jmp 0x465d4e
xor edx, edx
lea eax, [ebp - 0x6c]
xor ecx, ecx
mov dword [ebp - 0x6c], edx
cmp dword [ebx + 0xc], edx
mov edx, dword [ebx + 4]
cmove eax, ecx
mov ecx, dword [esi + 0x10]
push eax
mov eax, dword [ebx + 8]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0045e234
mov edx, eax
xor eax, eax
pop ecx
mov dword [ebp - 0x1f8], edx
cmp dword [ebx + 0xc], eax
je 0x467fda
mov eax, dword [ebp - 0x6c]
add dword [edi + 0x2c], eax
mov ecx, dword [ebx + 0xc]
test ecx, ecx
jle 0x467fda
mov esi, dword [ebp - 0x208]
imul ecx, ecx, 0x28
cdq
add dword [ecx + esi], eax
mov eax, esi
mov esi, dword [ebp - 0x1f4]
adc dword [ecx + eax + 4], edx
jmp 0x467fd4
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x70]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx], 1
jne 0x4695ea
mov edx, dword [ecx + 0x28]
mov ecx, esi
call fcn.0046c3eb
jmp 0x465d4e
mov ecx, dword [ecx + 0x28]
xor eax, eax
push eax
mov edx, dword [ecx + 0x34]
mov ecx, dword [ecx]
call fcn.0045e234
pop ecx
mov dword [ebp - 0x1f8], eax
test eax, eax
jmp 0x467fdc
mov edx, ebx
mov ecx, edi
call fcn.00465be4
mov edi, dword [ebp - 0x204]
mov ecx, dword [esi + 0x10]
mov bl, byte [ebx]
mov dword [ebp - 0x20c], eax
xor eax, eax
mov edx, dword [edi + 4]
add edx, edx
mov dword [ebp - 0x24], eax
mov esi, dword [ecx + edx*8 + 4]
mov ecx, esi
call fcn.0045712c
xor ecx, ecx
lea edx, [ebp - 0x24]
cmp bl, 0x87
setne cl
inc ecx
push ecx
mov ecx, esi
call fcn.0045de8f
pop ecx
mov ecx, esi
mov dword [ebp - 0x1f8], eax
call fcn.004571a5
mov ebx, dword [ebp - 0x1f8]
test ebx, ebx
jne 0x466b83
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20c]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x466091
inc byte [esi + 0x4e]
xor eax, eax
push eax
push eax
push eax
push dword [ebx + 0x10]
push esi
call fcn.00482503
add esp, 0x14
dec byte [esi + 0x4e]
jmp 0x4695fb
mov ecx, dword [ebx + 4]
lea eax, [edi + 0x6c]
push dword [ebx + 0x10]
mov dword [ebp - 0xf8], ecx
add ecx, ecx
mov dword [ebp - 0xfc], eax
mov eax, dword [esi + 0x10]
push str.sqlite_master
mov dword [ebp - 0x100], esi
push dword [eax + ecx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push esi
call fcn.0044b685
mov esi, eax
add esp, 0x14
test esi, esi
je 0x46abdd
mov eax, dword [ebp - 0x1f4]
xor ecx, ecx
push ecx
mov dword [ebp - 0xf4], ecx
lea ecx, [ebp - 0x100]
push ecx
push fcn.004859b5
push esi
push eax
mov byte [eax + 0x99], 1
call fcn.00482503
add esp, 0x14
mov edx, esi
mov esi, dword [ebp - 0x1f4]
test eax, eax
mov ecx, esi
cmove eax, dword [ebp - 0xf4]
mov dword [ebp - 0x1f8], eax
call fcn.0044a0d4
xor eax, eax
mov byte [esi + 0x99], al
cmp dword [ebp - 0x1f8], eax
jne 0x46abed
jmp 0x465d4e
mov edx, dword [ebx + 4]
mov ecx, esi
call fcn.00475f3d
jmp 0x4695fb
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, esi
call fcn.0047750c
jmp 0x46621b
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, esi
call fcn.00477211
jmp 0x46621b
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, esi
call fcn.0048d65b
jmp 0x46621b
imul eax, dword [ebx + 0xc], 0x28
lea ecx, [ebp - 0x8c]
imul esi, dword [ebx + 4], 0x28
mov edx, dword [ebx + 0x10]
push ecx
mov ecx, dword [ebp - 0x1f4]
add eax, dword [ebp - 0x208]
add esi, dword [ebp - 0x208]
mov dword [ebp - 0x22c], eax
mov ecx, dword [ecx + 0x10]
mov eax, dword [eax]
inc eax
push eax
movzx eax, word [ebx + 2]
push dword [ebx + 8]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0045edd5
mov ecx, eax
add esp, 0xc
mov eax, 0x2460
mov dword [ebp - 0x20c], ecx
test word [esi + 8], ax
je 0x4697e7
mov ecx, esi
call fcn.0046005b
mov ecx, dword [ebp - 0x20c]
jmp 0x4697ee
xor eax, eax
inc eax
mov word [esi + 8], ax
mov eax, dword [ebp - 0x8c]
test eax, eax
je 0x469826
test ecx, ecx
je 0x4676d1
mov ecx, dword [ebp - 0x22c]
dec eax
cdq
push fcn.0044a066
push 1
sub dword [ecx], eax
push 0xffffffffffffffff
sbb dword [ecx + 4], edx
mov ecx, esi
mov edx, dword [ebp - 0x20c]
call fcn.004605c6
add esp, 0xc
push 2
pop eax
test byte [esi + 8], al
je 0x465de1
mov cl, byte [ebp - 0x244]
cmp byte [esi + 0xa], cl
je 0x465de1
mov dl, cl
mov ecx, esi
call fcn.0044badd
jmp 0x465de1
imul esi, dword [ebx + 4], 0x28
imul eax, dword [ebx + 8], 0x28
add esi, dword [ebp - 0x208]
add eax, dword [ebp - 0x208]
mov dword [ebp - 0x20c], eax
test byte [esi + 8], 0x20
jne 0x469886
mov ecx, esi
call fcn.0046042f
test byte [esi + 8], 0x20
je 0x4676d1
mov eax, dword [ebp - 0x20c]
push dword [eax + 4]
mov ecx, dword [esi]
push dword [eax]
call fcn.00450f41
pop ecx
jmp 0x46611f
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0x208]
test byte [esi + 8], 0x20
je 0x469957
mov ecx, dword [esi]
lea edx, [ebp - 0xa8]
call fcn.0045119c
test eax, eax
je 0x469957
imul ecx, dword [ebx + 0xc], 0x28
push dword [ebp - 0xa4]
push dword [ebp - 0xa8]
add ecx, dword [ebp - 0x208]
call fcn.004603fc
pop ecx
pop ecx
xor eax, eax
inc eax
mov esi, dword [ebp - 0x1f4]
xor ecx, ecx
cmp dword [esi + 0xf8], ecx
jne 0x46ae84
mov ecx, dword [esi + 0x130]
mov edx, dword [ebp - 0x1fc]
test ecx, ecx
je 0x465d57
cmp edx, dword [ebp - 0x25c]
jb 0x465d57
mov eax, dword [esi + 0x138]
mov dword [ebp - 0x25c], eax
mov eax, edx
xor edx, edx
div dword [ebp - 0x25c]
mov eax, dword [ebp - 0x25c]
push dword [esi + 0x134]
sub eax, edx
add eax, dword [ebp - 0x1fc]
mov dword [ebp - 0x25c], eax
call ecx
pop ecx
test eax, eax
je 0x465d4e
push 9
jmp 0x46abbc
mov eax, 0x2460
test word [esi + 8], ax
je 0x46996e
mov ecx, esi
call fcn.0046005b
jmp 0x46a6f3
xor eax, eax
inc eax
mov word [esi + 8], ax
jmp 0x46a6f3
imul esi, dword [ebx + 4], 0x28
imul eax, dword [ebx + 0xc], 0x28
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x20c], ecx
add esi, dword [ebp - 0x208]
add eax, dword [ebp - 0x208]
mov dword [ebp - 0x22c], eax
test byte [esi + 8], 0x20
jne 0x4699c0
mov ecx, esi
call fcn.0046042f
test byte [esi + 8], 0x20
je 0x4676d1
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0x20c]
test ecx, ecx
je 0x4699e8
push dword [eax + 4]
mov edx, ecx
mov ecx, dword [esi]
push dword [eax]
call fcn.004511ea
pop ecx
pop ecx
test eax, eax
jne 0x46a9f8
cmp dword [ebp - 0x20c], eax
jl 0x465de1
mov eax, dword [ebp - 0x22c]
jmp 0x469886
imul ecx, dword [ebx + 0xc], 0x28
xor eax, eax
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0x21c], edx
add ecx, dword [ebp - 0x208]
mov dword [ebp - 0x20c], ecx
cmp word [ebx + 2], ax
je 0x469a35
mov edx, dword [edx + 0x14]
mov eax, dword [edi + 0xb8]
test eax, eax
je 0x469a2f
cmp dword [eax + 0x1c], edx
je 0x465d4e
mov eax, dword [eax + 4]
jmp 0x469a1d
mov edx, dword [ebp - 0x21c]
mov eax, dword [edi + 0xc0]
cmp eax, dword [esi + 0x88]
jge 0x46ac08
test byte [ecx + 8], 0x40
jne 0x469b49
mov esi, dword [ebp - 0x21c]
mov edx, dword [edx + 0xc]
mov eax, dword [esi + 8]
add eax, edx
test edx, edx
lea ecx, [eax + 1]
cmovne ecx, eax
mov dword [ebp - 0x22c], ecx
lea eax, [ecx + 2]
imul ecx, eax, 0xa
mov eax, dword [esi + 4]
add eax, 7
add ecx, edx
mov eax, eax
test eax, eax
jns 0x469a84
add eax, 7
sar eax, 3
lea eax, [eax + ecx*4]
mov ecx, dword [ebp - 0x1f4]
cdq
push edx
push eax
call fcn.0044a2ba
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x4676d1
mov ecx, dword [ebp - 0x20c]
call fcn.004600df
mov eax, dword [ebp - 0x20c]
sub ebx, dword [ebp - 0x240]
push 0x40
pop ecx
mov word [eax + 8], cx
mov ecx, dword [ebp - 0x22c]
mov dword [eax], esi
mov eax, dword [ebp - 0x21c]
mov dword [esi + 0x3c], ecx
mov dword [esi], edi
push 0x14
mov eax, dword [eax + 0xc]
mov dword [esi + 0x40], eax
mov eax, ebx
cdq
pop ebx
idiv ebx
mov edx, dword [ebp - 0x21c]
mov dword [esi + 0x30], eax
mov eax, dword [edi + 0x5c]
mov dword [esi + 0x10], eax
mov eax, dword [edi + 0x18]
mov dword [esi + 0x38], eax
mov eax, dword [edi + 0x70]
mov dword [esi + 0x14], eax
mov eax, dword [edi + 0x1c]
mov dword [esi + 0x2c], eax
mov eax, dword [edi + 0x58]
mov dword [esi + 8], eax
mov eax, dword [edi + 0x88]
mov dword [esi + 0x34], eax
mov eax, dword [edx + 0x14]
mov dword [esi + 0x1c], eax
lea eax, [ecx + 2]
imul ecx, eax, 0x28
lea eax, [esi + 0x50]
add ecx, esi
cmp eax, ecx
je 0x469b4b
mov ebx, dword [ebp - 0x1f4]
mov edx, 0x80
mov word [eax + 8], dx
mov dword [eax + 0x20], ebx
add eax, 0x28
cmp eax, ecx
jne 0x469b33
mov edx, dword [ebp - 0x21c]
jmp 0x469b4b
mov esi, dword [ecx]
inc dword [edi + 0xc0]
lea ebx, [esi + 0x50]
mov eax, dword [edi + 0xb8]
mov ecx, dword [ebp - 0x1f4]
mov dword [esi + 4], eax
push 7
mov dword [ebp - 0x208], ebx
mov eax, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ecx
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x44], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x58]
mov dword [esi + 0x48], eax
mov eax, dword [edi + 0xcc]
mov dword [esi + 0x28], eax
xor eax, eax
mov dword [edi + 0xcc], eax
mov dword [edi + 0x2c], eax
mov dword [edi + 0x5c], ebx
mov dword [edi + 0xb8], esi
mov ecx, dword [esi + 0x3c]
mov dword [edi + 0x18], ecx
movzx eax, word [esi + 0x40]
imul ecx, ecx, 0x28
mov dword [edi + 0x1c], eax
add ecx, ebx
mov dword [edi + 0x70], ecx
mov eax, dword [edx + 0xc]
pop ebx
lea ecx, [ecx + eax*4]
mov dword [esi + 0x18], ecx
mov eax, dword [edx + 4]
add eax, ebx
cdq
and edx, ebx
add eax, edx
sar eax, 3
push eax
xor eax, eax
push eax
push ecx
call sub.VCRUNTIME140.dll_memset
mov eax, dword [ebp - 0x21c]
add esp, 0xc
mov edx, dword [eax]
mov dword [edi + 0x58], edx
mov eax, dword [eax + 4]
mov dword [ebp - 0x240], edx
mov dword [edi + 0x88], eax
lea ebx, [edx - 0x14]
jmp 0x465de1
mov edx, ebx
mov ecx, edi
call fcn.00465be4
mov esi, dword [edi + 0xb8]
mov ecx, 0x1000
push ecx
imul edx, dword [esi + 0x30], 0x14
mov ecx, dword [esi + 8]
mov ecx, dword [edx + ecx + 4]
add ecx, dword [ebx + 4]
imul edx, ecx, 0x28
mov ecx, eax
add edx, dword [esi + 0x10]
jmp 0x46611a
test dword [esi + 0x18], 0x2000000
je 0x469c4b
mov eax, dword [ebx + 8]
cdq
add dword [esi + 0x1c0], eax
adc dword [esi + 0x1c4], edx
jmp 0x465d4e
xor eax, eax
cmp dword [ebx + 4], eax
mov eax, dword [ebx + 8]
cdq
je 0x469c67
add dword [esi + 0x1b8], eax
adc dword [esi + 0x1bc], edx
jmp 0x465d4e
add dword [edi + 0x40], eax
adc dword [edi + 0x44], edx
jmp 0x465d4e
xor eax, eax
cmp dword [ebx + 4], eax
je 0x469c9c
mov eax, dword [esi + 0x1b8]
or eax, dword [esi + 0x1bc]
jne 0x465d4e
mov eax, dword [esi + 0x1c0]
or eax, dword [esi + 0x1c4]
jmp 0x467233
mov eax, dword [edi + 0x40]
or eax, dword [edi + 0x44]
jmp 0x469c85
mov ecx, dword [edi + 0xb8]
test ecx, ecx
jne 0x469cff
imul eax, dword [ebx + 4], 0x28
add eax, dword [ebp - 0x208]
mov ecx, eax
mov dword [ebp - 0x20c], eax
call fcn.00460226
imul esi, dword [ebx + 8], 0x28
add esi, dword [ebp - 0x208]
mov ecx, esi
call fcn.00460226
mov eax, dword [ebp - 0x20c]
mov edx, dword [esi + 4]
mov ecx, dword [esi]
cmp dword [eax + 4], edx
jg 0x465de1
jl 0x467b8b
cmp dword [eax], ecx
jae 0x465de1
jmp 0x467b8b
mov ecx, eax
mov eax, dword [ecx + 4]
test eax, eax
jne 0x469cfd
imul eax, dword [ebx + 4], 0x28
add eax, dword [ecx + 0x10]
jmp 0x469cb8
imul ecx, dword [ebx + 4], 0x28
xor edx, edx
add ecx, dword [ebp - 0x208]
mov esi, dword [ecx]
cmp dword [ecx + 4], edx
jl 0x465de1
jg 0x469d30
cmp esi, edx
jbe 0x465de1
mov eax, dword [ebx + 0xc]
cdq
sub esi, eax
mov eax, dword [ecx + 4]
mov dword [ecx], esi
sbb eax, edx
mov dword [ecx + 4], eax
jmp 0x46a9f8
imul eax, dword [ebx + 0xc], 0x28
mov edx, ebx
imul esi, dword [ebx + 4], 0x28
mov ecx, edi
add eax, dword [ebp - 0x208]
add esi, dword [ebp - 0x208]
mov dword [ebp - 0x20c], eax
call fcn.00465be4
mov ecx, dword [esi]
xor edx, edx
mov esi, dword [esi + 4]
mov dword [ebp - 0x224], eax
cmp esi, edx
jl 0x469df3
jg 0x469d7f
cmp ecx, edx
jbe 0x469df3
mov eax, dword [ebp - 0x20c]
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x234], eax
test eax, eax
jl 0x469d9c
jg 0x469db9
xor eax, eax
cmp edx, eax
ja 0x469db9
xorps xmm0, xmm0
movlpd qword [ebp - 0x210], xmm0
mov eax, dword [ebp - 0x20c]
mov edx, dword [ebp - 0x210]
mov dword [ebp - 0x234], eax
or eax, 0xffffffff
sub eax, ecx
mov dword [ebp - 0x20c], eax
mov eax, SysReAllocString
sbb eax, esi
cmp eax, dword [ebp - 0x234]
jl 0x469ded
jg 0x469ddd
cmp dword [ebp - 0x20c], edx
jb 0x469ded
mov eax, dword [ebp - 0x224]
add ecx, edx
adc esi, dword [ebp - 0x234]
jmp 0x469df8
mov eax, dword [ebp - 0x224]
or ecx, 0xffffffff
or esi, ecx
mov dword [eax], ecx
mov dword [eax + 4], esi
jmp 0x465de1
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0x208]
mov edx, dword [ecx]
mov eax, edx
mov esi, dword [ecx + 4]
or eax, esi
je 0x465de1
xor eax, eax
cmp esi, eax
jl 0x46a9f8
jg 0x469e2f
cmp edx, eax
jbe 0x46a9f8
sub edx, 1
mov dword [ecx], edx
sbb esi, eax
mov dword [ecx + 4], esi
jmp 0x46a9f8
imul edx, dword [ebx + 4], 0x28
add edx, dword [ebp - 0x208]
mov ecx, dword [edx + 4]
mov eax, dword [edx]
cmp ecx, 0x80000000
jl 0x469e66
jg 0x469e5b
test eax, eax
je 0x469e66
sub eax, 1
mov dword [edx], eax
sbb ecx, 0
mov dword [edx + 4], ecx
or eax, ecx
jmp 0x467233
movzx eax, word [ebx + 2]
xor ecx, ecx
mov dword [ebp - 0x20c], eax
push ecx
mov ecx, esi
lea eax, [eax*4 + 0x1c]
push eax
call fcn.0044a313
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x4676d1
xor eax, eax
mov dword [esi + 8], eax
mov eax, ebx
mov ecx, dword [ebx + 0x10]
sub eax, dword [ebp - 0x240]
mov dword [esi + 4], ecx
push 0x14
cdq
pop ecx
idiv ecx
mov dword [esi + 0xc], edi
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x20c]
mov byte [esi + 0x1a], al
mov word [ebx], 0xf095
mov dword [ebx + 0x10], esi
imul edx, dword [ebx + 0xc], 0x28
mov esi, dword [ebx + 0x10]
add edx, dword [ebp - 0x208]
mov dword [ebp - 0x20c], edx
cmp dword [esi + 8], edx
je 0x469f15
movzx ecx, byte [esi + 0x1a]
sub ecx, 1
mov dword [esi + 8], edx
js 0x469f15
lea edi, [ecx + 7]
push 4
lea edi, [esi + edi*4]
pop edx
mov eax, dword [ebx + 8]
add eax, ecx
imul eax, eax, 0x28
add eax, dword [ebp - 0x208]
mov dword [edi], eax
sub edi, edx
sub ecx, 1
jns 0x469ef2
mov edi, dword [ebp - 0x200]
mov edx, dword [ebp - 0x20c]
inc dword [edx + 0xc]
xor eax, eax
inc eax
xor ecx, ecx
mov word [ebp - 0xc8], ax
mov eax, dword [ebp - 0x1f4]
mov dword [ebp - 0xb0], eax
lea eax, [ebp - 0xd0]
mov dword [ebp - 0xb8], ecx
mov dword [esi], eax
lea eax, [esi + 0x1c]
push eax
movzx eax, byte [esi + 0x1a]
mov word [esi + 0x18], cx
mov ecx, dword [esi + 4]
push eax
push esi
call dword [ecx + 0xc]
add esp, 0xc
cmp byte [esi + 0x19], 0
je 0x469fb5
xor eax, eax
cmp dword [esi + 0x14], eax
je 0x469f87
mov dl, 1
lea ecx, [ebp - 0xd0]
call fcn.00460867
push eax
push 0x61d348
push edi
call fcn.00460ce5
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0x1f8], eax
mov eax, 0x2460
test dword [ebp - 0xc8], eax
jne 0x469f9d
cmp dword [ebp - 0xb8], 0
je 0x469fa8
lea ecx, [ebp - 0xd0]
call fcn.004600b1
cmp dword [ebp - 0x1f8], 0
jne 0x466b77
cmp byte [esi + 0x18], 0
je 0x465de1
mov eax, dword [ebx - 0x10]
test eax, eax
je 0x465de1
imul eax, eax, 0x28
mov ecx, 0x2460
add eax, dword [ebp - 0x208]
test word [eax + 8], cx
je 0x469fef
xor ecx, ecx
push ecx
push 1
mov ecx, eax
call fcn.004603da
jmp 0x469892
xor ecx, ecx
mov dword [eax], 1
push 4
mov dword [eax + 4], ecx
pop ecx
jmp 0x46672c
imul esi, dword [ebx + 4], 0x28
mov edx, dword [ebx + 0x10]
add esi, dword [ebp - 0x208]
mov ecx, esi
call fcn.0045ffcf
mov dword [ebp - 0x1f8], eax
test eax, eax
jne 0x46ac24
push 2
pop eax
test byte [esi + 8], al
jmp 0x4668b2
mov edx, dword [ebx + 4]
xor eax, eax
or dword [ebp - 8], 0xffffffff
mov ecx, esi
or dword [ebp - 0xc], 0xffffffff
mov dword [ebp - 0x10], eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
push eax
push dword [ebx + 8]
call fcn.0049d508
add esp, 0xc
mov dword [ebp - 0x1f8], eax
test eax, eax
je 0x46a07a
push 5
pop ecx
cmp eax, ecx
jne 0x466b77
xor eax, eax
mov dword [ebp - 0x10], 1
mov dword [ebp - 0x1f8], eax
jmp 0x46a07c
xor eax, eax
imul esi, dword [ebx + 0xc], 0x28
mov edi, eax
push 4
pop ebx
mov ecx, 0x2460
add esi, dword [ebp - 0x208]
mov eax, dword [ebp + edi*4 - 0x10]
cdq
test word [esi + 8], cx
je 0x46a0ad
push edx
push eax
mov ecx, esi
call fcn.004603da
pop ecx
pop ecx
mov ecx, 0x2460
jmp 0x46a0b6
mov dword [esi], eax
mov dword [esi + 4], edx
mov word [esi + 8], bx
inc edi
add esi, 0x28
cmp edi, 3
jl 0x46a090
jmp 0x466091
mov edx, ebx
mov ecx, edi
call fcn.00465be4
mov ecx, dword [esi + 0x10]
mov edx, dword [ebx + 4]
add edx, edx
mov dword [ebp - 0x22c], eax
cmp dword [ebx + 0xc], 0xffffffff
mov eax, dword [ecx + edx*8 + 4]
mov dword [ebp - 0x20c], eax
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
mov dword [ebp - 0x21c], eax
movzx edx, byte [eax + 5]
mov esi, edx
mov dword [ebp - 0x220], edx
cmovne esi, dword [ebx + 0xc]
cmp byte [eax + 0x11], 3
jae 0x46a125
mov eax, dword [eax + 0x44]
xor ecx, ecx
cmp dword [eax], ecx
mov eax, dword [ebp - 0x21c]
je 0x46a127
cmp dword [eax + 0x54], ecx
jg 0x46a125
jl 0x46a127
cmp dword [eax + 0x50], ecx
jbe 0x46a127
mov esi, edx
cmp byte [eax + 0x10], 0
mov ecx, 0x61c71c
jne 0x46a138
mov ecx, dword [eax + 0xb0]
cmp esi, 5
jne 0x46a174
test ecx, ecx
je 0x46a1cd
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x46a148
sub ecx, edx
test ecx, 0x3fffffff
je 0x46a1c7
mov ecx, dword [ebp - 0x21c]
call fcn.00454e87
mov edx, dword [ebp - 0x220]
test eax, eax
je 0x46a1cd
mov eax, dword [ebp - 0x21c]
cmp esi, edx
je 0x46a1cf
push 5
pop ecx
cmp edx, ecx
je 0x46a183
cmp esi, ecx
jne 0x46a1cf
mov ecx, dword [ebp - 0x1f4]
cmp byte [ecx + 0x43], 0
je 0x46ac41
cmp dword [ecx + 0xa0], 1
jg 0x46ac41
cmp edx, 5
jne 0x46a206
mov edx, ecx
mov ecx, eax
call fcn.00454f60
mov dword [ebp - 0x1f8], eax
test eax, eax
jne 0x46a1d9
mov ecx, dword [ebp - 0x21c]
mov edx, esi
call fcn.00454dbe
jmp 0x46a222
mov edx, dword [ebp - 0x220]
mov esi, edx
mov eax, dword [ebp - 0x1f8]
test eax, eax
je 0x46a1df
mov esi, dword [ebp - 0x220]
mov ecx, dword [ebp - 0x21c]
mov edx, esi
call fcn.00454dbe
mov esi, dword [ebp - 0x22c]
mov ecx, 0xa02
mov word [esi + 8], cx
cmp eax, 6
jne 0x46a240
xor eax, eax
mov ecx, eax
jmp 0x46a249
push 4
pop ecx
cmp edx, ecx
jne 0x46a219
push 2
pop ecx
mov edx, ecx
mov ecx, eax
call fcn.00454dbe
cmp dword [ebp - 0x1f8], 0
jne 0x46a1d9
mov ecx, dword [ebp - 0x20c]
xor edx, edx
push 5
pop eax
cmp esi, eax
sete dl
inc edx
call fcn.0045f201
mov dword [ebp - 0x1f8], eax
jmp 0x46a1d5
mov ecx, dword [eax*4 + 0x622128]
xor eax, eax
mov dword [esi + 0x10], ecx
test ecx, ecx
jne 0x46a254
mov ecx, eax
jmp 0x46a266
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x46a257
sub ecx, edx
and ecx, 0x3fffffff
xor eax, eax
mov dword [esi + 0xc], ecx
mov cl, byte [ebp - 0x244]
inc eax
mov byte [esi + 0xa], al
cmp cl, al
je 0x46a285
mov dl, cl
mov ecx, esi
call fcn.0044badd
xor eax, eax
inc eax
cmp dword [ebp - 0x1f8], 0
jne 0x466b77
jmp 0x4662bf
push dword [ebx + 4]
lea ecx, [edi + 0x6c]
mov edx, esi
call fcn.0048f19f
jmp 0x4695fa
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
call fcn.00459a9a
mov edx, eax
mov dword [ebp - 0x1f8], edx
test edx, edx
je 0x465d4e
cmp edx, 0x65
jne 0x466b77
xor eax, eax
mov dword [ebp - 0x1f8], eax
jmp 0x46a9f8
xor ecx, ecx
cmp dword [ebx + 4], ecx
jne 0x46a2ff
mov eax, dword [esi + 4]
jmp 0x46a2f6
or dword [eax + 0x90], 1
mov eax, dword [eax + 8]
test eax, eax
jne 0x46a2ec
jmp 0x465d4e
or dword [edi + 0x90], eax
jmp case.0x465d01.95
mov al, byte [ebx + 0xc]
mov byte [ebp - 0x268], al
test al, al
jne 0x46a325
mov eax, 0x4000
test dword [esi + 0x18], eax
jne 0x465d4e
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x10]
add eax, eax
push dword [ebp - 0x268]
mov edx, dword [ebx + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0045f114
mov edx, eax
mov dword [ebp - 0x1f8], edx
pop ecx
test edx, edx
je 0x465d4e
cmp dl, 6
jne 0x466b77
push dword [ebx + 0x10]
push str.database_table_is_locked:__s
jmp 0x46ac33
mov esi, dword [ebx + 0x10]
mov edx, esi
mov ecx, dword [ebp - 0x1f4]
call fcn.0049013f
mov edx, eax
mov dword [ebp - 0x1f8], edx
test esi, esi
je 0x4692a1
mov edx, dword [esi + 8]
mov ecx, edi
call fcn.004640ad
mov edx, dword [ebp - 0x1f8]
jmp 0x4692a1
imul edx, dword [ebx + 8], 0x28
lea edi, [ebp - 0x180]
push 0xa
pop ecx
xor eax, eax
rep stosd dword es:[edi], eax
add edx, dword [ebp - 0x208]
lea ecx, [ebp - 0x180]
mov dword [ebp - 0x160], esi
call fcn.00460533
mov dl, 1
mov dword [ebp - 0x1f8], eax
lea ecx, [ebp - 0x180]
call fcn.00460867
mov esi, dword [ebp - 0x200]
test eax, eax
je 0x46a3fb
mov edx, dword [ebx + 4]
lea ecx, [esi + 0x6c]
push ecx
mov ecx, dword [ebp - 0x1f4]
push eax
call fcn.0048fdb0
pop ecx
pop ecx
mov dword [ebp - 0x1f8], eax
mov eax, 0x2460
test dword [ebp - 0x178], eax
jne 0x46a411
cmp dword [ebp - 0x168], 0
je 0x46a41c
lea ecx, [ebp - 0x180]
call fcn.004600b1
cmp dword [ebp - 0x1f8], 0
je 0x466097
mov edi, dword [ebp - 0x204]
mov ebx, dword [ebp - 0x1f8]
jmp 0x466b89
inc dword [esi + 0xac]
mov ecx, esi
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
call fcn.0049005e
dec dword [esi + 0xac]
jmp 0x4695fa
xor eax, eax
mov dword [ebp - 0xe0], eax
mov eax, dword [ebx + 0x10]
mov esi, dword [eax + 8]
test esi, esi
je 0x46ac78
mov eax, dword [esi]
mov dword [ebp - 0x20c], eax
test eax, eax
je 0x46ac78
lea ecx, [ebp - 0xe0]
push ecx
push esi
call dword [eax + 0x18]
pop ecx
pop ecx
mov edx, esi
mov dword [ebp - 0x1f8], eax
mov ecx, edi
call fcn.004640ad
cmp dword [ebp - 0x1f8], 0
jne 0x466b77
mov eax, dword [ebp - 0xe0]
mov ecx, edi
push 2
mov dword [eax], esi
mov edx, dword [ebx + 4]
pop eax
push eax
xor eax, eax
push 0xffffffffffffffff
push eax
call fcn.004659af
add esp, 0xc
test eax, eax
je 0x46ac63
mov ecx, dword [ebp - 0xe0]
mov dword [eax + 0x28], ecx
inc dword [esi + 4]
jmp 0x465de1
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x70]
imul edx, dword [ebx + 0xc], 0x28
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x224], eax
add edx, dword [ebp - 0x208]
mov esi, dword [eax + 0x28]
mov ecx, dword [edx + 0x28]
mov eax, dword [esi]
mov dword [ebp - 0x234], eax
mov eax, dword [eax]
mov dword [ebp - 0x22c], eax
mov eax, dword [edx]
mov dword [ebp - 0x23c], eax
mov eax, dword [edi + 0x60]
mov dword [ebp - 0x20c], eax
xor eax, eax
test ecx, ecx
jle 0x46a53e
mov edi, dword [ebp - 0x20c]
add edx, 0x50
mov dword [edi + eax*4], edx
inc eax
add edx, 0x28
cmp eax, ecx
jl 0x46a52d
mov edi, dword [ebp - 0x200]
push dword [ebp - 0x20c]
mov eax, dword [ebp - 0x22c]
push ecx
push dword [ebx + 0x10]
push dword [ebp - 0x23c]
push esi
call dword [eax + 0x20]
mov edx, dword [ebp - 0x234]
add esp, 0x14
mov ecx, edi
mov dword [ebp - 0x1f8], eax
call fcn.004640ad
cmp dword [ebp - 0x1f8], 0
jne 0x466b77
mov eax, dword [ebp - 0x22c]
push esi
call dword [eax + 0x28]
pop ecx
mov ecx, dword [ebp - 0x224]
xor edx, edx
mov byte [ecx + 2], dl
jmp 0x4690ff
mov eax, dword [edi + 0x70]
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
imul eax, dword [ebx + 0xc], 0x28
mov dword [ebp - 0x22c], ecx
add eax, dword [ebp - 0x208]
cmp byte [ecx + 2], 0
mov dword [ebp - 0x20c], eax
je 0x46a5da
mov ecx, 0x2460
test word [eax + 8], cx
je 0x46a5d2
mov ecx, eax
call fcn.0046005b
jmp 0x465d4e
xor ecx, ecx
inc ecx
jmp 0x465d4a
mov eax, dword [ecx + 0x28]
lea edi, [ebp - 0x1a0]
push 8
mov esi, dword [eax]
pop eax
mov ecx, eax
xor eax, eax
mov edx, dword [esi]
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x20c]
mov edi, 0x3e00
mov dword [ebp - 0x1a0], ecx
mov ax, word [ecx + 8]
and ax, di
or ax, word [ebp - 0x264]
mov word [ecx + 8], ax
lea eax, [ebp - 0x1a0]
push dword [ebx + 8]
push eax
mov eax, dword [ebp - 0x22c]
push dword [eax + 0x28]
call dword [edx + 0x2c]
mov edi, dword [ebp - 0x200]
add esp, 0xc
mov edx, esi
mov dword [ebp - 0x1f8], eax
mov ecx, edi
call fcn.004640ad
cmp dword [ebp - 0x18c], 0
mov eax, dword [ebp - 0x1f8]
cmovne eax, dword [ebp - 0x18c]
mov esi, dword [ebp - 0x20c]
push 2
mov dword [ebp - 0x1f8], eax
pop eax
test byte [esi + 8], al
je 0x46a67d
mov al, byte [ebp - 0x244]
cmp byte [esi + 0xa], al
je 0x46a67d
mov dl, al
mov ecx, esi
call fcn.0044badd
mov ecx, esi
call fcn.0046049e
test eax, eax
jne 0x4668d7
jmp 0x466b6a
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x70]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x20c], eax
cmp byte [eax + 2], 0
jne 0x465d4e
mov eax, dword [eax + 0x28]
push eax
mov esi, dword [eax]
mov ecx, dword [esi]
mov dword [ebp - 0x22c], ecx
call dword [ecx + 0x24]
pop ecx
mov edx, esi
mov dword [ebp - 0x1f8], eax
mov ecx, edi
call fcn.004640ad
cmp dword [ebp - 0x1f8], 0
jne 0x466b77
mov eax, dword [ebp - 0x20c]
push dword [eax + 0x28]
mov eax, dword [ebp - 0x22c]
call dword [eax + 0x28]
pop ecx
test eax, eax
jne 0x4698de
mov esi, dword [ebp - 0x1f4]
imul eax, dword [ebx + 8], 0x14
mov ebx, dword [ebp - 0x240]
add ebx, 0xffffffec
add ebx, eax
xor eax, eax
mov dword [ebp - 0x204], ebx
inc eax
jmp 0x4698e7
imul esi, dword [ebx + 4], 0x28
mov eax, dword [ebx + 0x10]
push 2
add esi, dword [ebp - 0x208]
mov ecx, dword [eax + 8]
pop eax
mov dword [ebp - 0x20c], ecx
test byte [esi + 8], al
je 0x46a759
xor eax, eax
inc eax
cmp byte [esi + 0xa], al
je 0x46a759
mov dl, al
mov ecx, esi
call fcn.0044badd
mov dword [ebp - 0x1f8], eax
test eax, eax
jne 0x466b77
mov ecx, dword [ebp - 0x20c]
push dword [esi + 0x10]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x4c]
mov edx, dword [ebp - 0x20c]
pop ecx
pop ecx
mov ecx, edi
mov dword [ebp - 0x1f8], eax
call fcn.004640ad
and dword [edi + 0x90], 0xfffffffe
jmp 0x466b6a
mov eax, dword [ebx + 0x10]
mov esi, dword [eax + 8]
test esi, esi
je 0x46ac78
mov eax, dword [esi]
mov dword [ebp - 0x22c], eax
test eax, eax
je 0x46ac78
mov edx, dword [ebx + 8]
xor ecx, ecx
cmp dword [eax + 0x34], ecx
je 0x465de1
mov eax, dword [ebp - 0x1f4]
mov al, byte [eax + 0x4a]
mov byte [ebp - 0x211], al
mov eax, dword [edi + 0x60]
mov dword [ebp - 0x20c], eax
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x208]
test edx, edx
jle 0x46a7ec
mov edi, dword [ebp - 0x20c]
mov dword [edi + ecx*4], eax
add eax, 0x28
inc ecx
cmp ecx, edx
jl 0x46a7db
mov edi, dword [ebp - 0x200]
mov ecx, dword [ebp - 0x1f4]
mov al, byte [ebx + 2]
mov byte [ecx + 0x4a], al
lea eax, [ebp - 0xa0]
push eax
push dword [ebp - 0x20c]
mov eax, dword [ebp - 0x22c]
push edx
push esi
call dword [eax + 0x34]
mov ecx, dword [ebp - 0x1f4]
add esp, 0x10
mov dword [ebp - 0x1f8], eax
mov edx, esi
mov al, byte [ebp - 0x211]
mov byte [ecx + 0x4a], al
mov ecx, edi
call fcn.004640ad
mov edx, dword [ebp - 0x1f8]
test edx, edx
jne 0x46a85c
mov esi, dword [ebp - 0x1f4]
xor eax, eax
cmp dword [ebx + 4], eax
je 0x46a88d
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x9c]
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ecx
jmp 0x46a88d
cmp dl, 0x13
jne 0x46a887
mov eax, dword [ebx + 0x10]
cmp byte [eax + 0x10], 0
je 0x46a887
movzx ecx, word [ebx + 2]
push 4
pop eax
cmp cx, ax
jne 0x46ac7f
xor eax, eax
mov dword [ebp - 0x1f8], eax
jmp 0x465de1
mov esi, dword [ebp - 0x1f4]
inc dword [edi + 0x2c]
jmp 0x467fda
mov edx, ebx
mov ecx, edi
call fcn.00465be4
mov edx, dword [ebx + 4]
mov ecx, dword [esi + 0x10]
add edx, edx
mov ecx, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx + 0x2c]
mov dword [eax], ecx
xor ecx, ecx
jmp 0x465eaa
mov edx, ebx
mov ecx, edi
call fcn.00465be4
mov edx, dword [ebx + 4]
mov ecx, dword [esi + 0x10]
add edx, edx
mov dword [ebp - 0x20c], eax
xor eax, eax
mov esi, dword [ecx + edx*8 + 4]
mov edx, eax
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x46a8ea
mov eax, dword [esi + 4]
mov edx, dword [eax + 0x2c]
cmp edx, ecx
cmovb edx, ecx
mov ecx, esi
call fcn.00458ffd
cdq
jmp 0x468ffd
mov cl, byte [esi + 0x4c]
test cl, 0x81
je 0x46a9b5
push 2
pop eax
test byte [edi + 0x90], al
jne 0x46a9b5
mov eax, dword [ebx + 0x10]
test eax, eax
jne 0x46a927
mov eax, dword [edi + 0xb0]
test eax, eax
je 0x46a9b5
test cl, cl
jns 0x46a960
mov ecx, dword [ebp - 0x200]
mov edx, eax
mov edi, dword [esi + 0xb8]
call fcn.004656c7
mov esi, eax
mov eax, dword [ebp - 0x1f4]
push esi
push dword [eax + 0xbc]
call edi
push esi
call fcn.0044a066
mov edi, dword [ebp - 0x200]
add esp, 0xc
jmp 0x46a9b5
xor ecx, ecx
inc ecx
push eax
cmp dword [esi + 0xa8], ecx
jle 0x46a9a4
push str.____s
push esi
call fcn.0044b685
add esp, 0xc
mov esi, eax
mov eax, dword [ebp - 0x1f4]
push esi
push edi
push dword [eax + 0xbc]
push 1
call dword [eax + 0xb8]
mov ecx, dword [ebp - 0x1f4]
add esp, 0x10
mov edx, esi
call fcn.0044a0d4
jmp 0x46a9b5
push edi
push dword [esi + 0xbc]
push ecx
call dword [esi + 0xb8]
add esp, 0x10
mov eax, dword [ebx + 4]
cmp eax, dword [0x635348]
jl 0x46a9f4
xor eax, eax
inc eax
mov ecx, eax
cmp dword [edi + 0x88], eax
jle 0x46a9f2
push 0x14
pop esi
mov eax, esi
xor ebx, ebx
mov edx, dword [edi + 0x58]
cmp byte [eax + edx], 0x14
jne 0x46a9e1
mov dword [eax + edx + 4], ebx
inc ecx
add eax, esi
cmp ecx, dword [edi + 0x88]
jl 0x46a9d4
mov ebx, dword [ebp - 0x204]
xor eax, eax
inc eax
mov dword [ebx + 4], eax
imul eax, dword [ebx + 8], 0x14
mov ebx, dword [ebp - 0x240]
add ebx, 0xffffffec
add ebx, eax
jmp 0x466097
mov dword [edi + 0x28], ecx
mov al, byte [ebx + 8]
mov byte [edi + 0x8e], al
mov dword [edi + 0x24], esi
test ecx, ecx
je 0x46aa8c
movzx eax, word [ebx + 2]
test ax, ax
je 0x46aa61
push dword [eax*4 + 0x624cb4]
push str._s_constraint_failed
push edi
call fcn.00460ce5
add esp, 0xc
cmp dword [ebx + 0x10], 0
je 0x46aa72
push dword [ebx + 0x10]
push dword [edi + 0x6c]
push str._z:__s
push dword [ebp - 0x1f4]
call fcn.0044b685
add esp, 0x10
mov dword [edi + 0x6c], eax
jmp 0x46aa72
push dword [ebx + 0x10]
push 0x61d348
push edi
call fcn.00460ce5
add esp, 0xc
push dword [edi + 0x6c]
push dword [edi + 0xb0]
push esi
push str.abort_at__d_in___s_:__s
push dword [ebx + 4]
call fcn.0044b826
add esp, 0x14
mov ecx, edi
call fcn.00462747
push 5
pop ecx
mov dword [ebp - 0x1f8], eax
cmp eax, ecx
jne 0x46aad7
mov dword [edi + 0x28], ecx
mov ebx, dword [ebp - 0x1f8]
mov eax, dword [ebp - 0x1fc]
add dword [edi + 0xac], eax
xor eax, eax
cmp dword [edi + 0x98], eax
je 0x46aac6
mov ecx, edi
call fcn.00461871
mov ecx, dword [ebp - 4]
mov eax, ebx
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004c233c
leave
ret
push 0x65
pop eax
xor ecx, ecx
cmp dword [edi + 0x28], ecx
push 1
pop ecx
cmovne eax, ecx
mov dword [ebp - 0x1f8], eax
jmp 0x46aaa3
mov ecx, 0x13b5a
call fcn.0049e41a
jmp 0x466afa
push str.cannot_open_savepoint___SQL_statements_in_progress
push edi
call fcn.00460ce5
pop ecx
pop ecx
push 5
jmp 0x466af9
sub ebx, dword [ebp - 0x240]
push 0x14
mov eax, ebx
pop ecx
cdq
idiv ecx
xor ecx, ecx
mov dword [edi + 0x24], eax
mov eax, dword [ebp - 0x1f4]
push 5
mov byte [eax + 0x43], cl
pop eax
mov ebx, eax
mov dword [edi + 0x28], eax
jmp 0x46aaa9
push eax
push str.no_such_savepoint:__s
push edi
call fcn.00460ce5
add esp, 0xc
xor ebx, ebx
inc ebx
jmp 0x466b7d
push 8
jmp 0x466af9
cmp al, 5
jne 0x466b77
sub ebx, dword [ebp - 0x240]
mov eax, ebx
mov ebx, dword [ebp - 0x1f8]
push 0x14
cdq
pop ecx
idiv ecx
mov dword [edi + 0x28], ebx
mov dword [edi + 0x24], eax
jmp 0x46aaa9
mov edx, dword [edi + 0x6c]
mov ecx, esi
call fcn.0044a0d4
mov edx, str.database_schema_has_changed
mov ecx, esi
call fcn.0044a476
mov dword [edi + 0x6c], eax
mov edx, dword [ebx + 4]
mov ecx, edx
mov eax, dword [esi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x54]
je 0x46abb3
mov ecx, esi
call fcn.0047732e
or dword [edi + 0x90], 1
push 0x11
pop ebx
jmp 0x466b7d
mov ebx, 0x204
jmp 0x466b7d
push 6
pop ebx
push 2
pop eax
mov byte [edi + 0x8e], al
jmp 0x466b7d
mov esi, dword [ebp - 0x1f4]
mov dword [ebp - 0x1f8], 7
mov ecx, esi
call fcn.0047735b
mov ebx, dword [ebp - 0x1f8]
cmp ebx, 7
je 0x4676d7
jmp 0x466b7d
push str.too_many_levels_of_trigger_recursion
push edi
mov dword [ebp - 0x1f8], 1
call fcn.00460ce5
pop ecx
pop ecx
jmp 0x466b77
mov dl, 1
mov ecx, esi
call fcn.00460867
push eax
push 0x61d348
push edi
call fcn.00460ce5
add esp, 0xc
jmp 0x466b77
cmp esi, 5
mov dword [ebp - 0x1f8], 1
mov eax, str.into
mov ecx, str.out_of
cmovne eax, ecx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
jmp 0x46ac33
mov eax, dword [ebp - 0x20c]
push dword [ebp - 0xe0]
call dword [eax + 0x1c]
pop ecx
jmp 0x4676d1
push 6
jmp 0x46abbc
push 5
pop edx
movzx eax, cl
cmp cx, dx
push 2
pop ecx
cmove eax, ecx
mov byte [edi + 0x8e], al
jmp 0x466b77
mov eax, dword [esi + 0x130]
test eax, eax
je 0x46acc2
mov edx, dword [ebp - 0x1fc]
cmp edx, dword [ebp - 0x25c]
jb 0x46acc2
push dword [esi + 0x134]
call eax
pop ecx
test eax, eax
jne 0x469950
xor edx, edx
mov ecx, edi
call fcn.004626ec
mov dword [ebp - 0x1f8], eax
test eax, eax
jne 0x466b77
mov eax, dword [edi]
xor edx, edx
cmp dword [eax + 0x1b4], edx
je 0x46acf4
cmp dword [edi + 0x30], edx
je 0x46acf4
inc edx
mov ecx, edi
call fcn.0046260c
xor edx, edx
mov eax, dword [edi + 0x20]
push 2
pop ecx
add eax, ecx
mov dword [ebp - 0x24], edx
or eax, 1
mov dword [edi + 0x20], eax
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0x208]
mov dword [edi + 0x68], esi
cmp dword [ebx + 8], edx
jle 0x46ad5d
mov eax, 0x1000
test word [esi + 8], ax
je 0x46ad31
mov ecx, esi
call fcn.0045fe21
test eax, eax
jne 0x4676d1
mov ax, word [esi + 8]
mov ecx, 0x202
and ax, cx
push 2
pop ecx
cmp ax, cx
jne 0x46ad4c
mov ecx, esi
call fcn.0045fedb
mov eax, dword [ebp - 0x24]
add esi, 0x28
inc eax
mov dword [ebp - 0x24], eax
cmp eax, dword [ebx + 8]
jl 0x46ad17
xor edx, edx
mov esi, dword [ebp - 0x1f4]
cmp byte [esi + 0x45], 0
jne 0x4676d7
push 4
pop eax
test byte [esi + 0x4c], al
je 0x46ad87
push edx
push edi
push dword [esi + 0xbc]
push eax
call dword [esi + 0xb8]
add esp, 0x10
sub ebx, dword [ebp - 0x240]
push 0x14
mov eax, ebx
pop ecx
cdq
idiv ecx
push 0x64
inc eax
mov dword [edi + 0x24], eax
pop ebx
jmp 0x46aaa9
mov edx, dword [ebx + 4]
movzx eax, byte [esi + 0x43]
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x264], ecx
cmp edx, eax
je 0x46ae58
test ecx, ecx
je 0x46add4
mov ecx, dword [ebp - 0x1f4]
mov edx, 0x204
call fcn.0049cbe5
mov al, 1
jmp 0x46ae0d
test edx, edx
je 0x46adf2
mov eax, dword [ebp - 0x1f4]
xor ecx, ecx
cmp dword [eax + 0xa4], ecx
jle 0x46adf2
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x46ab01
xor edx, edx
mov ecx, edi
inc edx
call fcn.004626ec
mov dword [ebp - 0x1f8], eax
test eax, eax
jne 0x46aaa3
mov al, byte [ebp - 0x24]
mov ecx, edi
mov byte [esi + 0x43], al
call fcn.00462747
push 5
pop esi
cmp eax, esi
jne 0x46ae48
sub ebx, dword [ebp - 0x240]
mov eax, ebx
mov ebx, esi
push 0x14
cdq
pop ecx
idiv ecx
xor ecx, ecx
mov dword [edi + 0x24], eax
inc ecx
mov eax, dword [ebp - 0x1f4]
sub cl, byte [ebp - 0x24]
mov byte [eax + 0x43], cl
mov dword [edi + 0x28], esi
jmp 0x46aaa9
mov ecx, dword [ebp - 0x1f4]
call fcn.0049c7a5
jmp 0x46aad7
cmp dword [ebp - 0x264], 0
mov eax, str.cannot_commit___no_transaction_is_active
mov ecx, str.cannot_rollback___no_transaction_is_active
cmove ecx, eax
test edx, edx
mov eax, str.cannot_start_a_transaction_within_a_transaction
cmovne eax, ecx
push eax
push edi
call fcn.00460ce5
pop ecx
pop ecx
jmp 0x46ab48
push 7
pop ecx
cmp byte [esi + 0x45], 0
push 9
pop eax
cmovne eax, ecx
mov ecx, eax
mov dword [ebp - 0x1f8], eax
mov dword [edi + 0x28], eax
call fcn.0049ccee
jmp 0x46ac2d
mov ebx, dword [ebp - 0x1f4]
push dword [esi + 0x6c]
sub edi, dword [ebp - 0x240]
push dword [esi + 0xb0]
mov eax, edi
push 0x14
pop ecx
cdq
idiv ecx
push eax
push str.statement_aborts_at__d:___s___s
push dword [ebp - 0x1f8]
call fcn.0044b826
mov edi, dword [ebp - 0x200]
add esp, 0x14
mov ecx, edi
call fcn.00462747
cmp dword [ebp - 0x1f8], 0xc0a
jne 0x46aef7
mov ecx, ebx
call fcn.0044a531
mov al, byte [ebp - 0x245]
xor ebx, ebx
inc ebx
test al, al
je 0x46aaa9
mov ecx, dword [ebp - 0x1f4]
movzx edx, al
dec edx
call fcn.0047732e
jmp 0x46aaa9