Function at 0x428470
Capabilities:
Encrypt data using speck
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1f4
mov eax, dword [0x540024]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
mov byte [ebp - 0x75], cl
mov dword [ebp - 0x84], ecx
mov eax, dword [edi + 0x68]
mov ebx, eax
mov esi, dword [edi + 0x58]
mov dword [ebp - 0x60], eax
mov eax, dword [edi]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x9c], ecx
mov ecx, edi
mov dword [ebp - 0x44], edi
mov al, byte [eax + 0x4e]
mov byte [ebp - 0x6c], al
mov dword [ebp - 0x18], esi
call fcn.00423f35
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp dword [eax + 0x148], edx
je 0x4284e3
mov ecx, dword [eax + 0x150]
mov eax, dword [edi + 0xb4]
div ecx
mov eax, dword [ebp - 0x14]
sub ecx, edx
xor edx, edx
jmp 0x4284e6
or ecx, 0xffffffff
push 7
mov dword [ebp - 0x80], ecx
pop ecx
cmp dword [edi + 0x28], ecx
je 0x42cf80
mov dword [edi + 0x38], edx
mov dword [edi + 0x3c], edx
mov dword [edi + 0x78], edx
mov dword [eax + 0x19c], edx
cmp dword [eax + 0x110], edx
jne 0x42c026
imul ebx, dword [edi + 0x24], 0x14
xorps xmm0, xmm0
mov dword [ebp - 0x120], 0x3e40
movsd qword [ebp - 0x168], xmm0
add ebx, dword [ebp - 0x60]
mov cl, byte [ebx]
inc dword [ebp - 0x9c]
movzx edx, cl
mov dword [ebp - 0x2c], ebx
mov byte [ebp - 0x31], cl
mov dword [ebp - 0x28], edx
cmp edx, 0xa8
ja case.0x42854c.86
jmp dword [edx*4 + 0x42d21c]
imul ecx, dword [ebx + 4], 0x28
push 4
pop eax
push 0x14
add ecx, esi
pop esi
mov word [ecx + 8], ax
mov eax, ebx
sub eax, dword [ebp - 0x60]
cdq
idiv esi
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x42cdfa
imul eax, dword [ebx + 4], 0x28
mov ecx, 0x80
imul ebx, dword [eax + esi], 0x14
mov word [eax + esi + 8], cx
add ebx, dword [ebp - 0x60]
jmp 0x4285fd
imul ecx, dword [ebx + 4], 0x28
mov eax, dword [ebx + 0xc]
dec eax
cdq
push 4
mov dword [ecx + esi], eax
pop eax
mov word [ecx + esi + 8], ax
xor eax, eax
mov dword [ecx + esi + 4], edx
cmp dword [ebx + 8], eax
jne 0x42cdfa
jmp 0x4285fd
imul ecx, dword [ebx + 4], 0x28
mov edx, dword [ebp - 0x60]
lea ebx, [edx - 0x14]
imul eax, dword [ecx + esi], 0x14
imul eax, dword [eax + edx + 8], 0x14
add ebx, eax
mov eax, 0x80
mov word [ecx + esi + 8], ax
jmp 0x4285fd
imul esi, dword [ebx + 4], 0x28
sub ebx, dword [ebp - 0x60]
push 4
pop eax
push 0x14
add esi, dword [ebp - 0x18]
mov word [esi + 8], ax
mov eax, ebx
cdq
pop ebx
idiv ebx
mov ecx, dword [esi]
imul ebx, ecx, 0x14
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
add ebx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
push 0x14
pop ecx
add ebx, ecx
jmp 0x42852c
imul eax, dword [ebx + 0xc], 0x28
xor ecx, ecx
inc ecx
test byte [eax + esi + 8], cl
je 0x4285fd
mov eax, ebx
sub eax, dword [ebp - 0x60]
push 0x14
pop ecx
cdq
idiv ecx
mov ecx, dword [ebx + 4]
mov esi, eax
test ecx, ecx
jne 0x42ce09
mov edx, dword [edi + 0xc8]
test edx, edx
je 0x42ce09
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x14]
dec dword [edi + 0xd0]
mov dword [edi + 0xc8], eax
mov eax, dword [edi + 0x2c]
add dword [ecx + 0x68], eax
mov dword [ecx + 0x64], eax
mov ecx, edx
call fcn.0042475a
mov edx, dword [edi + 0x68]
push 4
pop ecx
mov dword [ebp - 0x60], edx
cmp dword [ebx + 8], ecx
jne 0x428675
imul eax, eax, 0x14
mov eax, dword [eax + edx + 8]
dec eax
mov esi, dword [edi + 0x58]
imul ebx, eax, 0x14
mov dword [ebp - 0x18], esi
add ebx, edx
jmp 0x4285fd
mov edx, ebx
mov ecx, edi
call fcn.0042844b
mov ecx, eax
mov eax, dword [ebx + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x4285fd
mov edx, ebx
mov ecx, edi
call fcn.0042844b
mov ecx, dword [ebx + 0x10]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [eax], edx
mov dword [eax + 4], ecx
jmp 0x4285fd
mov edx, ebx
mov ecx, edi
call fcn.0042844b
push 8
pop ecx
mov word [eax + 8], cx
mov ecx, dword [ebx + 0x10]
movsd xmm0, qword [ecx]
movsd qword [eax], xmm0
jmp 0x4285fd
mov edx, ebx
mov ecx, edi
call fcn.0042844b
mov edx, dword [ebx + 0x10]
mov esi, eax
test edx, edx
jne 0x4286f1
xor eax, eax
mov ecx, eax
jmp 0x42870b
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x24], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4286f9
sub ecx, dword [ebp - 0x24]
and ecx, 0x3fffffff
xor eax, eax
cmp byte [ebp - 0x6c], 1
mov dword [ebx + 4], ecx
je 0x428784
push eax
xor eax, eax
mov ecx, esi
inc eax
push eax
push 0xffffffffffffffff
call fcn.00422c5f
add esp, 0xc
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x42c420
push 2
pop eax
test byte [esi + 8], al
je 0x428751
mov al, byte [ebp - 0x6c]
cmp byte [esi + 0xa], al
je 0x428751
mov dl, al
mov ecx, esi
call fcn.0040dc69
test eax, eax
jne 0x42cf80
xor eax, eax
mov dword [esi + 0x18], eax
mov eax, 0x800
or word [esi + 8], ax
cmp byte [ebx + 1], 0xf9
jne 0x428774
mov edx, dword [ebx + 0x10]
test edx, edx
je 0x428774
mov ecx, dword [ebp - 0x14]
call fcn.0040bb95
mov byte [ebx + 1], 0xf9
mov eax, dword [esi + 0x10]
mov dword [ebx + 0x10], eax
mov ecx, dword [esi + 0xc]
mov dword [ebx + 4], ecx
mov eax, dword [ebp - 0x14]
cmp ecx, dword [eax + 0x6c]
jg 0x42c420
mov byte [ebx], 0x48
mov edx, ebx
mov ecx, edi
call fcn.0042844b
mov esi, eax
mov eax, 0xa02
mov word [esi + 8], ax
mov ecx, dword [ebx + 0x10]
mov al, byte [ebp - 0x6c]
mov dword [esi + 0x10], ecx
mov ecx, dword [ebx + 4]
mov dword [esi + 0xc], ecx
mov byte [esi + 0xa], al
mov eax, dword [ebx + 0xc]
test eax, eax
jle 0x4285fa
mov edi, dword [ebp - 0x18]
imul ecx, eax, 0x28
movzx eax, word [ebx + 2]
cdq
cmp dword [ecx + edi], eax
mov edi, dword [ebp - 0x44]
jne 0x4285fa
mov eax, dword [ebp - 0x18]
cmp dword [ecx + eax + 4], edx
jne 0x4285fa
mov eax, 0xa10
mov word [esi + 8], ax
jmp 0x4285fa
mov edx, ebx
mov ecx, edi
call fcn.0042844b
mov ecx, dword [ebx + 0xc]
mov esi, 0x101
mov edx, dword [ebx + 8]
mov dword [ebp - 0x28], 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 - 0x28]
sub eax, edx
mov dword [ebp - 0x24], ecx
mov word [esi], cx
mov dword [ebp - 0x28], eax
test eax, eax
jle 0x4285fa
xor edx, edx
mov ebx, 0x2400
lea esi, [esi + 0x28]
test word [esi], bx
je 0x428856
lea ecx, [esi - 8]
call fcn.004225d8
mov eax, dword [ebp - 0x28]
xor edx, edx
mov ecx, dword [ebp - 0x24]
dec eax
mov word [esi], cx
mov dword [esi + 4], edx
mov dword [ebp - 0x28], eax
test eax, eax
jg 0x42883e
mov ebx, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x44]
jmp 0x4285fa
imul ecx, dword [ebx + 4], 0x28
mov edx, 0xff41
mov ax, word [ecx + esi + 8]
and ax, dx
xor edx, edx
inc edx
or ax, dx
jmp 0x4285cc
mov edx, ebx
mov ecx, edi
call fcn.0042844b
mov edx, dword [ebx + 0x10]
mov esi, eax
xor eax, eax
mov ecx, esi
push eax
push eax
push dword [ebx + 4]
call fcn.00422c5f
add esp, 0xc
mov al, byte [ebp - 0x6c]
mov byte [esi + 0xa], al
jmp 0x4285fa
imul ecx, dword [ebx + 4], 0x28
mov esi, dword [edi + 0x64]
add ecx, 0xffffffd8
add esi, ecx
mov ecx, esi
call fcn.00422b37
test eax, eax
jne 0x42c420
imul edx, dword [ebx + 8], 0x28
mov eax, 0x2400
add edx, dword [ebp - 0x18]
mov dword [ebp - 0x24], edx
test word [edx + 8], ax
je 0x4288ef
mov ecx, edx
call fcn.004225d8
mov edx, dword [ebp - 0x24]
push 5
pop eax
mov ecx, eax
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov ax, word [edx + 8]
mov ecx, 0xebff
and ax, cx
mov ecx, 0x840
or ax, cx
mov word [edx + 8], ax
jmp 0x428867
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x64], eax
imul eax, dword [ebx + 4], 0x28
add eax, esi
imul esi, dword [ebx + 8], 0x28
mov dword [ebp - 0x20], eax
add esi, dword [ebp - 0x18]
mov edx, eax
mov ecx, esi
call fcn.00422c3d
mov eax, 0x1000
test word [esi + 8], ax
je 0x42894e
mov ecx, esi
call fcn.0042240c
test eax, eax
jne 0x42cf80
mov eax, dword [ebp - 0x20]
add esi, 0x28
add eax, 0x28
sub dword [ebp - 0x64], 1
mov dword [ebp - 0x20], eax
jne 0x42892b
jmp 0x4285fa
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x20], eax
imul eax, dword [ebx + 4], 0x28
add eax, esi
imul esi, dword [ebx + 8], 0x28
add esi, dword [ebp - 0x18]
push 0x1000
mov edx, eax
mov dword [ebp - 0x64], eax
mov ecx, esi
call fcn.00422b7b
mov eax, 0x1000
pop ecx
test word [esi + 8], ax
je 0x4289a4
mov ecx, esi
call fcn.0042240c
test eax, eax
jne 0x42cf80
mov ecx, dword [ebp - 0x20]
mov eax, ecx
dec ecx
mov dword [ebp - 0x20], ecx
test eax, eax
je 0x4285fa
mov eax, dword [ebp - 0x64]
add esi, 0x28
add eax, 0x28
jmp 0x428978
imul edx, dword [ebx + 4], 0x28
mov eax, 0x1000
imul ecx, dword [ebx + 8], 0x28
push eax
add edx, esi
add ecx, esi
call fcn.00422b7b
pop ecx
jmp 0x4285fd
imul ecx, dword [ebx + 8], 0x28
mov edi, 0x2400
imul eax, dword [ebx + 4], 0x28
add ecx, esi
mov edx, dword [eax + esi]
test word [ecx + 8], di
mov eax, dword [eax + esi + 4]
mov edi, dword [ebp - 0x44]
je 0x428a06
push eax
push edx
call fcn.00422a3d
pop ecx
jmp 0x4289d7
mov dword [ecx], edx
mov dword [ecx + 4], eax
push 4
pop eax
mov word [ecx + 8], ax
jmp 0x4285fd
imul edx, dword [ebx + 4], 0x28
imul ecx, dword [ebx + 8], 0x28
add edx, esi
add ecx, esi
mov dword [ebp - 0x28], edx
imul esi, dword [ebx + 0xc], 0x28
mov dword [ebp - 0x2c], ecx
movzx eax, word [edx + 8]
mov dword [ebp - 0x30], eax
mov al, byte [ecx + 8]
or al, byte [ebp - 0x30]
add esi, dword [ebp - 0x18]
test al, 1
je 0x428a60
mov eax, 0x2400
test word [esi + 8], ax
je 0x428a58
mov ecx, esi
call fcn.004225d8
jmp 0x4285fa
xor eax, eax
inc eax
jmp 0x4287ed
mov eax, dword [ebp - 0x30]
test al, 0x12
jne 0x428a95
mov dl, byte [ebp - 0x6c]
xor eax, eax
mov ecx, dword [ebp - 0x28]
push eax
call fcn.004224bb
pop ecx
test eax, eax
jne 0x42cf80
mov eax, dword [ebp - 0x28]
mov ecx, 0xfffd
mov ax, word [eax + 8]
and ax, cx
movzx edx, ax
mov dword [ebp - 0x30], edx
jmp 0x428ac0
test eax, 0x4000
je 0x428ac3
mov ecx, edx
call fcn.00422452
test eax, eax
jne 0x42cf80
mov eax, dword [ebp - 0x28]
mov ecx, 0xfffd
mov ax, word [eax + 8]
and ax, cx
movzx eax, ax
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x2c]
movzx eax, word [ecx + 8]
mov dword [ebp - 0x20], eax
test al, 0x12
jne 0x428af9
mov dl, byte [ebp - 0x6c]
xor eax, eax
push eax
call fcn.004224bb
pop ecx
test eax, eax
jne 0x42cf80
mov edx, dword [ebp - 0x2c]
mov ecx, 0xfffd
mov ax, word [edx + 8]
and ax, cx
movzx eax, ax
mov dword [ebp - 0x20], eax
jmp 0x428b09
bt eax, 0xe
jae 0x428b06
call fcn.00422452
jmp 0x428ada
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x14]
add ecx, dword [edx + 0xc]
mov dword [ebp - 0x24], ecx
cmp ecx, dword [eax + 0x6c]
jg 0x42c420
xor eax, eax
cmp esi, edx
lea edx, [ecx + 3]
mov ecx, esi
sete al
push eax
call fcn.004222bc
pop ecx
test eax, eax
jne 0x42cf80
mov ax, word [esi + 8]
mov ecx, 0x3e40
and ax, cx
push 2
pop ecx
or ax, cx
mov word [esi + 8], ax
mov eax, dword [ebp - 0x2c]
cmp esi, eax
je 0x428b74
push dword [eax + 0xc]
push dword [eax + 0x10]
push dword [esi + 0x10]
call fcn.004693a0
mov eax, dword [ebp - 0x2c]
add esp, 0xc
mov ecx, dword [ebp - 0x20]
mov word [eax + 8], cx
mov ecx, dword [ebp - 0x28]
mov eax, dword [eax + 0xc]
add eax, dword [esi + 0x10]
push dword [ecx + 0xc]
push dword [ecx + 0x10]
push eax
call fcn.004693a0
mov eax, dword [ebp - 0x28]
xor edx, edx
mov ecx, dword [ebp - 0x30]
add esp, 0xc
mov word [eax + 8], cx
mov eax, dword [esi + 0x10]
mov ecx, dword [ebp - 0x24]
mov byte [ecx + eax], dl
mov eax, dword [esi + 0x10]
mov byte [ecx + eax + 1], dl
mov eax, dword [esi + 0x10]
mov byte [ecx + eax + 2], dl
mov eax, 0x200
or word [esi + 8], ax
mov dword [esi + 0xc], ecx
jmp 0x4288aa
imul eax, dword [ebx + 4], 0x28
add eax, esi
mov ecx, eax
mov dword [ebp - 0x30], eax
call fcn.0042841c
mov esi, dword [ebp - 0x2c]
movzx ebx, ax
imul eax, dword [esi + 8], 0x28
add eax, dword [ebp - 0x18]
mov ecx, eax
mov dword [ebp - 0x38], eax
call fcn.0042841c
movzx ecx, ax
imul eax, dword [esi + 0xc], 0x28
and cl, bl
mov esi, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x2c]
push 4
pop edx
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x38]
mov ax, word [eax + 8]
or ax, word [esi + 8]
movzx eax, ax
test dl, cl
je 0x428e11
mov eax, esi
mov edx, dword [eax]
mov esi, dword [eax + 4]
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x94], eax
movzx eax, byte [ebx]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x98], ecx
sub eax, 0x67
je 0x428d67
sub eax, 1
je 0x428cbd
sub eax, 1
je 0x428cae
sub eax, 1
mov eax, edx
je 0x428c81
or eax, esi
je 0x428e90
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x428c6b
xor eax, eax
mov esi, eax
lea edx, [eax + 1]
push esi
push edx
push dword [ebp - 0x28]
push ecx
call fcn.0047b380
mov dword [ebp - 0x98], eax
jmp 0x428df3
or eax, esi
je 0x428e90
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x428ca1
xor eax, eax
cmp ecx, eax
jne 0x428ca1
cmp dword [ebp - 0x28], 0x80000000
je 0x428cd4
push esi
push edx
push dword [ebp - 0x28]
push ecx
call fcn.0047b2d0
jmp 0x428c76
push esi
push edx
lea ecx, [ebp - 0x98]
call fcn.0040f2e1
jmp 0x428cca
push esi
push edx
lea ecx, [ebp - 0x98]
call fcn.0040f293
pop ecx
pop ecx
test eax, eax
je 0x428df9
mov esi, dword [ebp - 0x30]
mov ecx, esi
call fcn.0042270c
mov ecx, dword [ebp - 0x38]
movsd qword [ebp - 0x40], xmm0
call fcn.0042270c
movzx eax, byte [ebx]
sub eax, 0x67
je 0x428e44
sub eax, 1
je 0x428e3d
sub eax, 1
je 0x428e36
sub eax, 1
je 0x428e1d
mov ecx, esi
call fcn.004226ac
mov ecx, dword [ebp - 0x38]
mov esi, eax
mov dword [ebp - 0x24], edx
call fcn.004226ac
mov dword [ebp - 0x98], eax
mov ecx, esi
mov eax, dword [ebp - 0x24]
or ecx, eax
mov dword [ebp - 0x94], edx
je 0x428e90
mov ecx, esi
and ecx, eax
cmp ecx, 0xffffffff
jne 0x428d4d
xor eax, eax
lea esi, [eax + 1]
push eax
push esi
push edx
push dword [ebp - 0x98]
call fcn.0047b380
mov ecx, eax
call fcn.0047c840
jmp 0x428e49
xor eax, eax
cmp esi, eax
jl 0x428da2
jg 0x428d73
cmp edx, eax
jb 0x428da2
cmp dword [ebp - 0x28], eax
jl 0x428de6
jg 0x428d7e
cmp ecx, eax
jbe 0x428de6
or eax, 0xffffffff
sub eax, ecx
mov dword [ebp - 0x24], eax
mov eax, 0x7fffffff
sbb eax, dword [ebp - 0x28]
cmp eax, esi
jg 0x428de6
jl 0x428cd4
cmp dword [ebp - 0x24], edx
jae 0x428de6
jmp 0x428cd4
cmp dword [ebp - 0x28], eax
jg 0x428de6
jl 0x428dad
cmp ecx, eax
jae 0x428de6
xor ecx, ecx
mov eax, edx
inc ecx
add eax, ecx
mov ecx, esi
mov dword [ebp - 0x54], eax
push 0
pop eax
adc ecx, eax
inc eax
sub eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
mov eax, 0x80000000
sbb eax, dword [ebp - 0x28]
cmp eax, ecx
jg 0x428cd4
jl 0x428de3
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x54]
ja 0x428cd4
mov ecx, dword [ebp - 0x20]
add ecx, edx
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x98], ecx
adc edx, esi
mov dword [ebp - 0x94], edx
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x94]
push 4
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp 0x428e74
xor edx, edx
inc edx
test dl, al
jne 0x428e93
jmp 0x428cd7
movsd xmm1, qword [ebp - 0x40]
ucomisd xmm1, qword [ebp - 0x168]
lahf
test ah, 0x44
jnp 0x428e90
divsd xmm0, xmm1
jmp 0x428e49
mulsd xmm0, qword [ebp - 0x40]
jmp 0x428e49
subsd xmm0, qword [ebp - 0x40]
jmp 0x428e49
addsd xmm0, qword [ebp - 0x40]
movsd qword [ebp - 0x40], xmm0
mov esi, 0x7ff00000
mov ecx, dword [ebp - 0x3c]
mov eax, ecx
and eax, esi
cmp eax, esi
jne 0x428e6b
mov eax, dword [ebp - 0x40]
and ecx, 0xfffff
or eax, ecx
jne 0x428e90
mov edx, dword [ebp - 0x64]
push 8
movsd qword [edx], xmm0
mov ax, word [edx + 8]
mov ecx, 0x3e40
and ax, cx
pop ecx
or ax, cx
movzx eax, ax
mov word [edx + 8], ax
jmp 0x4285fa
xor edx, edx
inc edx
mov eax, dword [ebp - 0x64]
mov ecx, 0x2400
test word [eax + 8], cx
je 0x428ea8
mov ecx, eax
jmp 0x428a4e
mov word [eax + 8], dx
jmp 0x4285fa
mov eax, dword [ebx + 4]
test eax, eax
je 0x4285fd
imul eax, eax, 0x28
mov ecx, 0x2400
add eax, esi
test word [eax + 8], cx
je 0x428ed7
xor ecx, ecx
push ecx
push ecx
mov ecx, eax
jmp 0x4289fe
xor ecx, ecx
push 4
mov dword [eax], ecx
mov dword [eax + 4], ecx
pop ecx
mov word [eax + 8], cx
jmp 0x4285fd
imul ecx, dword [ebx + 8], 0x28
imul esi, dword [ebx + 4], 0x28
mov eax, dword [ebp - 0x18]
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 - 0x20], edx
test al, 1
je 0x428f22
mov eax, 0x2400
test word [edx + 8], ax
je 0x42b527
mov ecx, edx
jmp 0x428a4e
call fcn.004226ac
mov ecx, esi
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x2c], edx
call fcn.004226ac
mov cl, byte [ebx]
mov esi, eax
cmp cl, 0x63
jne 0x428f4c
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
and ecx, esi
and eax, edx
jmp 0x42901e
cmp cl, 0x64
jne 0x428f60
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
or ecx, esi
or eax, edx
jmp 0x42901e
mov eax, esi
or eax, edx
je 0x429018
xor eax, eax
cmp edx, eax
jg 0x428fb6
jl 0x428f76
cmp esi, eax
jae 0x428f91
mov al, 0xcb
sub al, cl
mov cl, al
cmp edx, 0xffffffff
jl 0x428fb4
jg 0x428f88
cmp esi, 0xffffffc0
jbe 0x428fb4
neg esi
push 0
pop eax
adc edx, eax
neg edx
cmp edx, eax
jl 0x428f9c
jg 0x428fb6
cmp esi, 0x40
jae 0x428fb6
mov eax, dword [ebp - 0x28]
cmp cl, 0x65
mov edx, dword [ebp - 0x2c]
mov ecx, esi
jne 0x428fde
call fcn.0047b480
mov ecx, eax
mov eax, edx
jmp 0x42901e
xor eax, eax
cmp dword [ebp - 0x2c], eax
jg 0x428fce
jl 0x428fc2
cmp dword [ebp - 0x28], eax
jae 0x428fce
cmp cl, 0x65
je 0x428fce
or ecx, 0xffffffff
or eax, ecx
jmp 0x42901e
xorps xmm0, xmm0
movlpd qword [ebp - 0x40], xmm0
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x40]
jmp 0x42901e
call fcn.0047b4a0
mov ecx, eax
mov eax, edx
xor edx, edx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x2c], edx
jg 0x42901e
jl 0x428ffb
cmp dword [ebp - 0x28], edx
jae 0x42901e
push 0x40
pop ecx
sub ecx, esi
or eax, 0xffffffff
or edx, 0xffffffff
call fcn.0047b480
mov ecx, dword [ebp - 0x24]
or ecx, eax
mov eax, dword [ebp - 0x54]
jmp 0x428f59
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x20]
push 4
mov dword [edx + 4], eax
mov ax, word [edx + 8]
mov dword [edx], ecx
mov ecx, 0x3e40
and ax, cx
pop ecx
or ax, cx
jmp 0x428e87
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0x18]
mov ecx, esi
call fcn.004227c3
mov eax, dword [ebx + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
jmp 0x4285fa
imul esi, dword [ebx + 4], 0x28
push 4
pop edx
add esi, dword [ebp - 0x18]
movzx eax, word [esi + 8]
mov ecx, eax
test dl, al
jne 0x42909c
push dword [ebp - 0x6c]
mov dl, 0x43
mov ecx, esi
call fcn.0042830a
movzx eax, word [esi + 8]
pop ecx
push 4
pop edx
mov ecx, eax
test dl, al
jne 0x42909c
xor eax, eax
cmp dword [ebx + 8], eax
jne 0x42cdfa
mov ecx, dword [ebp - 0x14]
push 0x14
pop esi
mov eax, esi
jmp 0x42910a
mov eax, 0x3e40
and ecx, eax
push 4
pop eax
or ecx, eax
mov word [esi + 8], cx
jmp 0x4285fa
imul ecx, dword [ebx + 4], 0x28
add ecx, esi
test byte [ecx + 8], 0x24
je case.0x42854c.86
call fcn.004227e8
jmp 0x4285fd
imul esi, dword [ebx + 4], 0x28
mov eax, 0x4000
add esi, dword [ebp - 0x18]
test word [esi + 8], ax
je 0x4290e6
mov ecx, esi
call fcn.00422452
jmp 0x4290e8
xor eax, eax
push dword [ebp - 0x6c]
mov dl, byte [ebx + 8]
mov ecx, esi
mov dword [ebp - 0x1c], eax
call fcn.00422928
pop ecx
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4285fa
mov ecx, dword [ebp - 0x14]
push 0x14
pop esi
cmp byte [ecx + 0x51], 0
push 7
pop ecx
cmovne eax, ecx
xor ecx, ecx
mov dword [ebp - 0x1c], eax
cmp dword [edi + 0x7c], ecx
jne 0x42913e
cmp eax, 0xc0a
je 0x42913e
mov ecx, eax
call fcn.00464c1b
push eax
push 0x535b9c
push edi
call fcn.0042339b
mov eax, dword [ebp - 0x1c]
add esp, 0xc
mov ecx, dword [ebp - 0x14]
mov edx, eax
mov dword [edi + 0x28], eax
call fcn.0040e2b7
mov eax, ebx
sub eax, dword [ebp - 0x60]
cdq
idiv esi
push dword [edi + 0x7c]
push dword [edi + 0xc0]
push eax
push str.statement_aborts_at__d:___s___s
push dword [ebp - 0x1c]
call fcn.0040d9a1
add esp, 0x14
mov ecx, edi
call fcn.00424f66
cmp dword [ebp - 0x1c], 0xc0a
jne 0x429185
mov ecx, dword [ebp - 0x14]
call fcn.0040c045
xor eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov al, byte [ebp - 0x75]
test al, al
je 0x42919e
mov ecx, dword [ebp - 0x14]
movzx edx, al
dec edx
call fcn.0043ae19
mov edx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x80]
cmp esi, ecx
jb 0x42d1fb
mov eax, dword [edx + 0x148]
test eax, eax
je 0x42d1fb
add ecx, dword [edx + 0x150]
push dword [edx + 0x14c]
mov dword [ebp - 0x80], ecx
call eax
mov edx, dword [ebp - 0x14]
pop ecx
test eax, eax
je 0x4291a7
or ecx, 0xffffffff
push 9
mov dword [ebp - 0x80], ecx
mov ecx, edx
pop eax
jmp 0x429107
imul edx, dword [ebx + 0xc], 0x28
imul ecx, dword [ebx + 4], 0x28
add edx, esi
add ecx, esi
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], ecx
movzx esi, word [edx + 8]
movzx eax, word [ecx + 8]
mov ecx, esi
mov edx, ecx
mov dword [ebp - 0x38], eax
or edx, eax
mov dword [ebp - 0x28], ecx
xor eax, eax
inc eax
test al, dl
je 0x42928a
movzx eax, word [ebx + 2]
mov edx, 0x80
test dl, al
je 0x429255
mov al, byte [ebp - 0x28]
xor edx, edx
and al, byte [ebp - 0x38]
inc edx
test dl, al
je 0x429242
test ecx, 0x100
jne 0x429242
mov esi, dword [ebp - 0x2c]
xor eax, eax
jmp 0x4293a4
mov esi, dword [ebp - 0x2c]
not ecx
and ecx, edx
lea ecx, [ecx*2 - 1]
jmp 0x4293a6
test al, 0x20
je 0x42927a
imul ecx, dword [ebx + 8], 0x28
xor edx, edx
mov esi, dword [ebp - 0x18]
inc edx
mov dword [ebp - 0x84], edx
mov ax, word [ecx + esi + 8]
and ax, word [ebp - 0x120]
jmp 0x428883
push 0x10
pop ecx
test cl, al
jne 0x42cdfa
jmp 0x4285fa
mov al, byte [ebx + 2]
and al, 0x47
cmp al, 0x43
jb 0x429329
push 2
pop eax
mov ecx, esi
mov esi, dword [ebp - 0x2c]
test al, dl
je 0x4292e5
mov al, byte [ebp - 0x38]
push 2
and al, 0x2e
pop ecx
cmp al, cl
jne 0x4292c2
xor edx, edx
mov ecx, esi
call fcn.00428256
mov ecx, dword [ebp - 0x30]
movzx eax, word [ecx + 8]
mov dword [ebp - 0x28], eax
mov al, byte [ebp - 0x28]
movzx ecx, word [ebp - 0x28]
and al, 0x2e
push 2
pop edx
cmp al, dl
jne 0x4292e5
mov ecx, dword [ebp - 0x30]
xor edx, edx
call fcn.00428256
mov edx, dword [ebp - 0x30]
movzx ecx, word [edx + 8]
jmp 0x4292e8
mov edx, dword [ebp - 0x30]
mov al, byte [esi + 8]
and al, cl
push 4
pop ecx
test cl, al
je 0x429396
mov eax, dword [edx + 4]
mov ecx, dword [edx]
cmp eax, dword [esi + 4]
jl 0x42931d
jg 0x429308
cmp ecx, dword [esi]
jbe 0x429312
xor eax, eax
lea ecx, [eax + 1]
jmp 0x4293a6
cmp eax, dword [esi + 4]
jg 0x429325
jl 0x42931d
cmp ecx, dword [esi]
jae 0x429325
or ecx, 0xffffffff
jmp 0x4293a6
xor eax, eax
jmp 0x4293a4
mov esi, dword [ebp - 0x2c]
cmp al, 0x42
jne 0x429396
mov al, byte [ebp - 0x38]
push 2
pop ecx
test cl, al
jne 0x429364
test al, 0x2c
je 0x429364
mov dl, byte [ebp - 0x6c]
xor eax, eax
inc eax
mov ecx, esi
push eax
call fcn.004224bb
mov ax, word [esi + 8]
xor ax, word [ebp - 0x38]
pop ecx
mov ecx, 0x3e40
and ax, cx
xor word [ebp - 0x38], ax
push 2
pop ecx
mov al, byte [ebp - 0x28]
test cl, al
jne 0x429396
test al, 0x2c
je 0x429396
mov dl, byte [ebp - 0x6c]
xor eax, eax
mov ecx, dword [ebp - 0x30]
inc eax
push eax
call fcn.004224bb
mov eax, dword [ebp - 0x30]
pop ecx
mov ecx, 0x3e40
mov ax, word [eax + 8]
xor ax, word [ebp - 0x28]
and ax, cx
xor word [ebp - 0x28], ax
push dword [ebx + 0x10]
mov ecx, dword [ebp - 0x30]
mov edx, esi
call fcn.00425b58
pop ecx
mov ecx, eax
movzx eax, byte [ebx]
test ecx, ecx
jns 0x4293b5
mov al, byte [eax + str.SQLite_format_3]
jmp 0x4293c5
jne 0x4293bf
mov al, byte [eax + 0x52fed4]
jmp 0x4293c5
mov al, byte [eax + 0x52f18c]
movzx edx, al
mov ax, word [ebp - 0x38]
mov word [esi + 8], ax
mov esi, dword [ebp - 0x30]
mov ax, word [ebp - 0x28]
mov word [esi + 8], ax
movzx eax, word [ebx + 2]
test al, 0x20
je 0x42942a
imul esi, dword [ebx + 8], 0x28
mov edi, dword [ebp - 0x44]
mov dword [ebp - 0x84], ecx
add esi, dword [ebp - 0x18]
test al, 8
je 0x429407
xor eax, eax
cmp byte [ebx], 0x35
sete al
cmp eax, edx
je 0x4285fa
mov cx, word [esi + 8]
mov eax, 0x3e40
and cx, ax
push 4
pop eax
or cx, ax
mov eax, edx
mov word [esi + 8], cx
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x4285fa
test edx, edx
jmp 0x42927f
cmp dword [ebp - 0x84], 0
jne 0x42cdfa
jmp case.0x42854c.86
xor eax, eax
inc eax
test byte [ebx + 2], al
jne 0x42944f
xor eax, eax
jmp 0x429457
mov eax, dword [ebx - 4]
push 4
pop ecx
add eax, ecx
mov esi, dword [ebx + 4]
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x2c], esi
mov esi, dword [ebx + 8]
mov dword [ebp - 0x28], esi
xor esi, esi
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x4c], ecx
test edx, edx
jle 0x4285fa
lea edx, [ecx + 0x14]
mov dword [ebp - 0x20], edx
test eax, eax
je 0x42948e
mov ecx, dword [eax + esi*4]
mov dword [ebp - 0x70], ecx
jmp 0x429493
mov ecx, esi
mov dword [ebp - 0x70], esi
mov eax, dword [ebp - 0x4c]
push dword [edx]
mov eax, dword [eax + 0x10]
movzx eax, byte [eax + esi]
and eax, 1
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x28]
add eax, ecx
imul edx, eax, 0x28
mov eax, dword [ebp - 0x2c]
add eax, ecx
imul ecx, eax, 0x28
add edx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x18]
call fcn.00425b58
mov edx, eax
mov dword [ebp - 0x84], edx
pop ecx
test edx, edx
jne 0x4294e6
mov edx, dword [ebp - 0x20]
inc esi
push 4
pop eax
add edx, eax
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x20], edx
cmp esi, dword [ebp - 0x24]
jl 0x429482
jmp 0x4285fa
mov eax, dword [ebp - 0x4c]
push 2
pop ecx
mov eax, dword [eax + 0x10]
test byte [esi + eax], cl
mov esi, dword [ebp - 0x18]
je 0x429522
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x70]
add eax, ecx
imul eax, eax, 0x28
test byte [eax + esi + 8], 1
jne 0x42951a
mov eax, dword [ebp - 0x28]
add eax, ecx
xor ecx, ecx
imul eax, eax, 0x28
inc ecx
test byte [eax + esi + 8], cl
je 0x429522
neg edx
mov dword [ebp - 0x84], edx
cmp dword [ebp - 0x54], 0
mov eax, dword [ebp - 0x14]
je case.0x42854c.86
neg edx
mov dword [ebp - 0x84], edx
jmp case.0x42854c.86
mov edx, dword [ebp - 0x84]
test edx, edx
jns 0x42954c
imul ebx, dword [ebx + 4], 0x14
jmp 0x429558
jne 0x429554
imul ebx, dword [ebx + 8], 0x14
jmp 0x429558
imul ebx, dword [ebx + 0xc], 0x14
add ebx, dword [ebp - 0x60]
add ebx, 0xffffffec
jmp case.0x42854c.86
imul ecx, dword [ebx + 4], 0x28
push 2
pop eax
mov edx, eax
add ecx, esi
call fcn.00422733
imul ecx, dword [ebx + 8], 0x28
mov esi, eax
push 2
pop eax
mov edx, eax
add ecx, dword [ebp - 0x18]
call fcn.00422733
imul ecx, esi, 3
cmp byte [ebx], 0x2c
jne 0x429597
mov dl, byte [ecx + eax + 0x52f248]
jmp 0x42959e
mov dl, byte [ecx + eax + 0x52f1e0]
imul esi, dword [ebx + 0xc], 0x28
mov ecx, 0x3e40
push 2
add esi, dword [ebp - 0x18]
mov ax, word [esi + 8]
and ax, cx
movzx ecx, ax
pop eax
cmp dl, al
jne 0x4295c0
xor eax, eax
inc eax
jmp 0x4295cc
movzx eax, dl
cdq
push 4
mov dword [esi], eax
mov dword [esi + 4], edx
pop eax
or ecx, eax
movzx eax, cx
jmp 0x4287ed
imul ecx, dword [ebx + 4], 0x28
mov edx, dword [ebx + 0xc]
add ecx, esi
call fcn.00422733
imul ecx, dword [ebx + 8], 0x28
mov edi, 0x2400
xor eax, dword [ebx + 0x10]
cdq
add ecx, esi
test word [ecx + 8], di
mov edi, dword [ebp - 0x44]
je 0x429603
push edx
push eax
jmp 0x4289fe
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x428a0b
imul ecx, dword [ebx + 4], 0x28
xor edx, edx
inc edx
add ecx, esi
imul esi, dword [ebx + 8], 0x28
add esi, dword [ebp - 0x18]
test byte [ecx + 8], dl
jne 0x42965a
xor edx, edx
call fcn.00422733
neg eax
mov ecx, 0x2400
sbb eax, eax
inc eax
test word [esi + 8], cx
je 0x42964b
xor ecx, ecx
push ecx
push eax
mov ecx, esi
call fcn.00422a3d
pop ecx
pop ecx
jmp 0x4285fa
mov dword [esi], eax
xor eax, eax
push 4
mov dword [esi + 4], eax
pop eax
jmp 0x4287ed
mov ecx, 0x2400
test word [esi + 8], cx
jne 0x428a4c
mov word [esi + 8], dx
mov esi, dword [ebp - 0x18]
jmp case.0x42854c.86
imul eax, dword [ebx + 4], 0x28
mov ecx, 0x2400
add eax, esi
imul esi, dword [ebx + 8], 0x28
mov dword [ebp - 0x24], eax
add esi, dword [ebp - 0x18]
test word [esi + 8], cx
je 0x42969f
mov ecx, esi
call fcn.004225d8
mov eax, dword [ebp - 0x24]
xor edx, edx
inc edx
jmp 0x4296a6
xor edx, edx
inc edx
mov word [esi + 8], dx
test byte [eax + 8], dl
jne 0x4285fa
push 4
pop ecx
mov word [esi + 8], cx
mov ecx, eax
call fcn.004226ac
not eax
not edx
jmp 0x429420
cmp dword [edi + 0xc8], 0
je 0x429712
mov eax, ebx
sub eax, dword [edi + 0x68]
cdq
push 0x14
pop ecx
idiv ecx
xor edx, edx
mov ecx, eax
inc edx
mov eax, dword [edi + 0xc8]
mov esi, ecx
shr esi, 3
and ecx, 7
shl edx, cl
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x24], eax
movzx eax, byte [esi + eax]
test eax, edx
jne 0x42cdfa
bts eax, ecx
mov ecx, dword [ebp - 0x24]
mov byte [esi + ecx], al
mov ecx, dword [edi + 0x68]
mov esi, dword [ebp - 0x18]
jmp 0x429721
mov ecx, dword [edi + 0x68]
mov eax, dword [ecx + 4]
cmp eax, dword [ebx + 4]
je 0x42cdfa
mov eax, dword [ecx + 4]
mov dword [ebx + 4], eax
jmp 0x4285fd
imul ecx, dword [ebx + 4], 0x28
mov edx, dword [ebx + 0xc]
add ecx, esi
call fcn.00422733
test eax, eax
jmp 0x4285aa
xor edx, edx
xor eax, eax
cmp dword [ebx + 0xc], eax
sete dl
imul ecx, dword [ebx + 4], 0x28
add ecx, esi
call fcn.00422733
test eax, eax
je 0x42cdfa
jmp 0x4285fd
imul eax, dword [ebx + 4], 0x28
xor ecx, ecx
inc ecx
test byte [eax + esi + 8], cl
jmp 0x4285aa
imul eax, dword [ebx + 4], 0x28
xor ecx, ecx
inc ecx
test byte [eax + esi + 8], cl
jmp 0x429758
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
cmp byte [eax + 2], 0
je 0x4285fd
imul eax, dword [ebx + 0xc], 0x28
mov ecx, 0x2400
add eax, esi
test word [eax + 8], cx
je 0x4297b0
mov ecx, eax
call fcn.004225d8
jmp 0x42cdfa
xor ecx, ecx
inc ecx
mov word [eax + 8], cx
jmp 0x42cdfa
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0x88]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x88], eax
call fcn.00425552
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x429104
imul ecx, dword [ebx + 0xc], 0x28
add ecx, esi
mov esi, dword [ebp - 0x5c]
mov dword [ebp - 0x30], ecx
mov eax, dword [esi + 0x48]
mov dword [ebp - 0x28], eax
mov eax, dword [esi + 0x1c]
cmp eax, dword [edi + 0x20]
je 0x429902
cmp byte [esi + 2], 0
je 0x429852
cmp byte [esi], 3
jne 0x429837
imul edx, dword [esi + 0x20], 0x28
add edx, dword [ebp - 0x18]
mov eax, dword [edx + 0xc]
mov dword [esi + 0x54], eax
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ecx + 0x54]
mov dword [ecx + 0x50], eax
mov eax, dword [ebp - 0x5c]
mov ecx, dword [edx + 0x10]
mov dword [eax + 0x4c], ecx
mov ecx, dword [ebp - 0x5c]
jmp 0x42988a
mov eax, 0x2400
test word [ecx + 8], ax
jne 0x428a4e
xor eax, eax
inc eax
mov word [ecx + 8], ax
jmp 0x4285fa
mov esi, dword [esi + 0x28]
mov ecx, esi
call fcn.0041c234
mov eax, dword [ebp - 0x5c]
mov ecx, dword [esi + 0x2c]
mov dword [eax + 0x50], ecx
mov ecx, esi
mov edx, dword [ebp - 0x5c]
lea edx, [edx + 0x54]
call fcn.0041c675
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x14]
mov dword [ecx + 0x4c], eax
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ecx + 0x50]
cmp eax, dword [edx + 0x6c]
ja 0x42c420
mov eax, dword [edi + 0x20]
mov edx, 0x80
mov dword [ecx + 0x1c], eax
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax + 0x4c]
mov al, byte [ecx]
cmp al, dl
jae 0x4298ae
mov ecx, dword [ebp - 0x28]
movzx eax, al
mov dword [ecx], eax
xor eax, eax
inc eax
jmp 0x4298b6
mov edx, dword [ebp - 0x28]
call fcn.0040f077
movzx ecx, al
mov eax, dword [ebp - 0x5c]
mov dword [eax + 0x30], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x5c]
mov word [eax + 0x3a], cx
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x5c]
mov eax, dword [ecx]
cmp dword [esi + 0x54], eax
jae 0x4298fa
xor edx, edx
mov dword [esi + 0x4c], edx
mov eax, dword [ebp - 0x5c]
mov dword [eax + 0x54], edx
mov eax, dword [ecx]
cmp eax, 0x18003
ja 0x429aa1
mov esi, dword [ebp - 0x5c]
cmp eax, dword [esi + 0x50]
jbe 0x429905
jmp 0x429aa1
mov edx, dword [esi + 0x4c]
mov dword [ebp - 0x4c], edx
jmp 0x429972
mov ecx, dword [ebp - 0x28]
movzx eax, word [esi + 0x3a]
mov edx, dword [ebp - 0x88]
cmp eax, edx
jg 0x429b36
mov eax, dword [ecx]
cmp dword [esi + 0x30], eax
jae 0x429aff
mov ecx, dword [esi + 0x4c]
mov dword [ebp - 0x4c], ecx
test ecx, ecx
jne 0x42996f
push 0xa
xor eax, eax
lea edi, [ebp - 0x1a0]
pop ecx
rep stosd dword es:[edi], eax
mov ecx, dword [esi + 0x28]
lea eax, [ebp - 0x1a0]
push eax
mov eax, dword [ebp - 0x28]
xor edx, edx
push dword [eax]
call fcn.00422e67
mov dword [ebp - 0x1c], eax
pop ecx
pop ecx
test eax, eax
jne 0x42d1eb
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x190]
mov esi, dword [ebp - 0x5c]
mov dword [ebp - 0x4c], eax
mov eax, dword [ecx]
jmp 0x429972
mov ecx, dword [ebp - 0x28]
movzx edx, word [esi + 0x3a]
mov edi, dword [esi + 0x30]
add edi, dword [ebp - 0x4c]
mov dword [ebp - 0x70], edx
mov ecx, dword [ecx + edx*4]
mov dword [ebp - 0x38], ecx
xor ecx, ecx
add eax, dword [ebp - 0x4c]
mov ebx, ecx
lea ecx, [edx*4 + 0x58]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x20], ecx
movzx eax, byte [edi]
mov edx, 0x80
mov dword [ebp - 0x74], eax
mov dword [esi + ecx], eax
mov eax, dword [ebp - 0x74]
cmp eax, edx
jae 0x4299c4
movzx eax, al
inc edi
movzx eax, byte [eax + 0x530748]
cdq
add dword [ebp - 0x38], eax
adc ebx, edx
mov edx, dword [ebp - 0x38]
jmp 0x429a09
lea edx, [ebp - 0x74]
mov ecx, edi
call fcn.0040f077
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x74]
movzx eax, al
add edi, eax
mov eax, dword [ebp - 0x5c]
mov dword [eax + edx], ecx
mov ecx, 0x80
mov eax, dword [ebp - 0x74]
cmp eax, ecx
jb 0x4299f2
add eax, 0xfffffff4
shr eax, 1
jmp 0x4299f9
movzx eax, byte [eax + 0x530748]
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x20]
add edx, eax
push 0
pop eax
mov dword [ebp - 0x38], edx
adc ebx, eax
mov eax, dword [ebp - 0x70]
push 4
pop esi
add ecx, esi
inc eax
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x20], ecx
mov dword [esi + ecx - 0x58], edx
mov esi, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x88]
jg 0x429a36
cmp edi, esi
jae 0x429a36
mov esi, dword [ebp - 0x5c]
jmp 0x429999
mov eax, dword [ebp - 0x5c]
cmp edi, esi
mov dword [ebp - 0x20], edi
mov edi, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x64], ebx
mov ebx, dword [ebp - 0x2c]
jb 0x429a5e
cmp ecx, esi
ja 0x429a6f
cmp edx, dword [eax + 0x50]
jne 0x429a6f
mov esi, dword [ebp - 0x64]
test esi, esi
jne 0x429a6c
jmp 0x429a61
mov esi, dword [ebp - 0x64]
test esi, esi
jb 0x429abc
ja 0x429a6c
cmp edx, dword [eax + 0x50]
jbe 0x429abc
mov esi, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x28]
xor edx, edx
cmp dword [ecx], edx
jne 0x429a7c
mov ecx, esi
jmp 0x429abf
cmp dword [eax + 0x4c], edx
jne 0x429aa1
mov eax, 0x2400
test dword [ebp - 0x198], eax
jne 0x429a96
cmp dword [ebp - 0x188], edx
je 0x429aa1
lea ecx, [ebp - 0x1a0]
call fcn.0042260d
mov edx, dword [ebp - 0x60]
mov eax, dword [edx + 0xc]
test eax, eax
jle 0x42ceb0
imul eax, eax, 0x14
lea ebx, [edx - 0x14]
add ebx, eax
jmp 0x4285fa
mov edx, dword [ebp - 0x70]
sub ecx, dword [ebp - 0x4c]
mov word [eax + 0x3a], dx
mov eax, dword [ebp - 0x5c]
mov dword [eax + 0x30], ecx
xor eax, eax
mov esi, dword [ebp - 0x5c]
cmp dword [esi + 0x4c], eax
jne 0x429afa
mov eax, 0x2400
test dword [ebp - 0x198], eax
jne 0x429aec
cmp dword [ebp - 0x188], 0
je 0x429afa
lea ecx, [ebp - 0x1a0]
call fcn.0042260d
mov esi, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x74]
jmp 0x429b06
xor eax, eax
mov edx, eax
mov dword [ebp - 0x74], edx
movzx eax, word [esi + 0x3a]
cmp eax, dword [ebp - 0x88]
jg 0x429b3d
cmp byte [ebx + 1], 0xf5
jne 0x429b2e
mov edx, dword [ebx + 0x10]
mov eax, 0x800
mov ecx, dword [ebp - 0x30]
push eax
call fcn.00422b7b
jmp 0x429645
mov esi, dword [ebp - 0x30]
jmp 0x428a41
mov edx, dword [esi + edx*4 + 0x58]
mov dword [ebp - 0x74], edx
mov ecx, dword [ebp - 0x30]
mov eax, 0x2400
test word [ecx + 8], ax
je 0x429b56
call fcn.004225d8
mov esi, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x74]
mov edi, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x28]
mov eax, dword [esi + 0x54]
cmp eax, dword [ecx + edi*4 + 4]
mov edi, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x30]
jb 0x429c12
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x88]
mov esi, dword [esi + 0x4c]
add esi, dword [edi + eax*4]
mov edi, dword [ebp - 0x44]
mov dword [ebp - 0x24], esi
cmp edx, 0xc
jae 0x429b99
push ecx
mov ecx, esi
call fcn.004256c9
jmp 0x429645
lea eax, [edx - 0xc]
mov dl, byte [ebp - 0x6c]
shr eax, 1
mov byte [ecx + 0xa], dl
mov dword [ebp - 0x20], eax
mov dword [ecx + 0xc], eax
lea edx, [eax + 2]
cmp dword [ecx + 0x18], edx
jge 0x429bd5
xor eax, eax
inc eax
mov word [ecx + 8], ax
xor eax, eax
push eax
call fcn.004222bc
pop ecx
test eax, eax
jne 0x42cf80
mov esi, dword [ebp - 0x30]
mov eax, dword [ebp - 0x20]
mov edx, dword [esi + 0x10]
jmp 0x429bde
mov edx, dword [ecx + 0x14]
mov esi, dword [ebp - 0x30]
mov dword [ecx + 0x10], edx
push eax
push dword [ebp - 0x24]
push edx
call fcn.004693a0
mov eax, dword [esi + 0x10]
xor edx, edx
mov ecx, dword [ebp - 0x20]
add esp, 0xc
mov byte [ecx + eax], dl
mov eax, dword [esi + 0x10]
mov byte [ecx + eax + 1], dl
xor ecx, ecx
mov eax, dword [ebp - 0x74]
inc ecx
and eax, ecx
mov ax, word [eax*2 + 0x52f5c8]
jmp 0x4287ed
mov al, byte [ebp - 0x6c]
mov byte [ecx + 0xa], al
movzx eax, word [ebx + 2]
mov edx, dword [ebp - 0x74]
test al, 0xc0
je 0x429c31
cmp edx, 0xc
jb 0x429c2d
test dl, 1
je 0x429c4c
test al, al
js 0x429c4c
mov eax, 0x80
cmp edx, eax
jb 0x429c41
lea eax, [edx - 0xc]
shr eax, 1
jmp 0x429c48
movzx eax, byte [edx + 0x530748]
test eax, eax
jne 0x429c57
push ecx
mov ecx, 0x543de4
jmp 0x429b8f
mov edx, dword [ebp - 0x88]
push ecx
mov ecx, dword [ebp - 0x5c]
push eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [ecx + 0x28]
mov edx, dword [eax + edx*4]
call fcn.00422e67
mov dword [ebp - 0x1c], eax
pop ecx
pop ecx
test eax, eax
jne 0x429104
mov esi, dword [ebp - 0x30]
mov edx, dword [ebp - 0x74]
push esi
mov ecx, dword [esi + 0x10]
call fcn.004256c9
mov eax, 0xefff
and word [esi + 8], ax
pop ecx
jmp 0x4285fa
mov eax, dword [ebx + 0x10]
imul esi, dword [ebx + 4], 0x28
mov dword [ebp - 0x20], eax
mov al, byte [eax]
add esi, dword [ebp - 0x18]
push dword [ebp - 0x6c]
mov dl, al
mov ecx, esi
call fcn.0042830a
mov edx, dword [ebp - 0x20]
pop ecx
cmp byte [edx], 0x45
jne 0x429d1d
movzx ecx, word [esi + 8]
push 4
pop eax
mov dword [ebp - 0x54], ecx
test al, cl
je 0x429d1d
mov eax, dword [esi]
add eax, 0
mov dword [ebp - 0x24], eax
mov eax, dword [esi + 4]
adc eax, 0x8000
cmp eax, 0xffff
ja 0x429cfb
jb 0x429cec
cmp dword [ebp - 0x24], 0xffffffff
ja 0x429cfb
and ecx, 0xfffb
or ecx, 0x20
mov word [esi + 8], cx
jmp 0x429d1d
mov edx, dword [esi + 4]
mov ecx, dword [esi]
call fcn.0047c840
mov eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0x20]
and eax, 0xfffb
push 8
pop ecx
or eax, ecx
movsd qword [esi], xmm0
mov word [esi + 8], ax
inc edx
mov dword [ebp - 0x20], edx
mov al, byte [edx]
test al, al
je 0x4285fa
add esi, 0x28
jmp 0x429caa
imul edx, dword [ebx + 4], 0x28
xor eax, eax
mov ecx, dword [ebx + 0x10]
xorps xmm0, xmm0
mov dword [ebp - 0x28], eax
imul eax, dword [ebx + 8], 0x28
movlpd qword [ebp - 0x40], xmm0
add edx, esi
movlpd qword [ebp - 0x68], xmm0
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x54], edx
add eax, 0xffffffd8
add eax, edx
mov dword [ebp - 0x24], eax
mov al, byte [edi + 0x93]
mov byte [ebp - 0x31], al
imul eax, dword [ebx + 0xc], 0x28
add eax, esi
mov dword [ebp - 0x70], eax
test ecx, ecx
je 0x429db6
mov ebx, dword [ebp - 0x6c]
lea esi, [edx + 8]
mov edi, ecx
mov al, byte [edi]
push ebx
lea ecx, [esi - 8]
mov dl, al
call fcn.0042830a
cmp byte [edi], 0x45
pop ecx
jne 0x429da6
movzx eax, word [esi]
push 4
pop ecx
test cl, al
je 0x429da6
and eax, 0xfffb
or eax, 0x20
mov word [esi], ax
inc edi
add esi, 0x28
mov al, byte [edi]
test al, al
jne 0x429d80
mov ebx, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x44]
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x3c]
add eax, 0x1c
mov esi, dword [ebp - 0x40]
mov dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x68]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x64], edx
movzx edx, word [eax - 0x14]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x4c], edx
test dl, 1
je 0x429e02
mov esi, dword [ebp - 0x30]
mov eax, 0x4000
and edx, eax
movzx eax, dx
mov edx, dword [ebp - 0x28]
neg eax
sbb eax, eax
and eax, 0xa
inc edx
mov dword [esi], eax
jmp 0x429ff3
test dl, 0x24
je 0x429f42
mov esi, dword [eax - 0x1c]
xor ecx, ecx
mov eax, dword [eax - 0x18]
cmp eax, ecx
jg 0x429e25
jl 0x429e1d
cmp esi, ecx
jae 0x429e25
mov ecx, esi
not eax
not ecx
jmp 0x429e27
mov ecx, esi
inc dword [ebp - 0x28]
test eax, eax
ja 0x429eca
jb 0x429e39
cmp ecx, 0x7f
ja 0x429e71
xor edx, edx
mov eax, esi
inc edx
and eax, edx
cmp eax, esi
jne 0x429e5b
mov eax, dword [ebp - 0x30]
xor edx, edx
cmp edx, dword [eax - 0x18]
jne 0x429e5b
push 4
pop eax
cmp byte [ebp - 0x31], al
jb 0x429e5b
lea eax, [ecx + 8]
jmp 0x429e69
xor ecx, ecx
inc ecx
add dword [ebp - 0x48], ecx
push 0
pop eax
adc dword [ebp - 0x38], eax
mov eax, ecx
mov ecx, dword [ebp - 0x38]
jmp 0x429f35
test eax, eax
ja 0x429eca
jb 0x429e7f
cmp ecx, 0x7fff
ja 0x429e97
push 2
mov ecx, dword [ebp - 0x38]
pop edx
add dword [ebp - 0x48], edx
push 0
pop eax
adc ecx, eax
mov eax, edx
mov dword [ebp - 0x38], ecx
jmp 0x429f35
test eax, eax
ja 0x429eca
jb 0x429ea5
cmp ecx, 0x7fffff
ja 0x429eb8
add dword [ebp - 0x48], 3
mov ecx, dword [ebp - 0x38]
push 0
pop eax
adc ecx, eax
mov dword [ebp - 0x38], ecx
push 3
jmp 0x429f34
test eax, eax
ja 0x429eca
jb 0x429ec6
cmp ecx, 0x7fffffff
ja 0x429eca
push 4
jmp 0x429e81
cmp eax, 0x7fff
ja 0x429eeb
jb 0x429ed8
cmp ecx, 0xffffffff
ja 0x429eeb
add dword [ebp - 0x48], 6
mov ecx, dword [ebp - 0x38]
push 0
pop eax
adc ecx, eax
mov dword [ebp - 0x38], ecx
push 5
jmp 0x429f34
push 8
pop ecx
add dword [ebp - 0x48], ecx
mov ecx, dword [ebp - 0x38]
push 0
pop eax
adc ecx, eax
mov dword [ebp - 0x38], ecx
test dl, 0x20
je 0x429f32
mov eax, dword [ebp - 0x30]
mov ecx, esi
mov edx, dword [eax - 0x18]
call fcn.0047c840
mov eax, dword [ebp - 0x30]
mov esi, dword [ebp - 0x30]
push 8
pop ecx
movsd qword [eax - 0x1c], xmm0
mov eax, dword [ebp - 0x4c]
and eax, 0xffdf
or eax, ecx
mov ecx, dword [ebp - 0x38]
push 7
mov word [esi - 0x14], ax
pop eax
jmp 0x429f38
push 6
pop eax
mov esi, dword [ebp - 0x30]
mov edx, dword [ebp - 0x28]
mov dword [esi], eax
jmp 0x429ff6
test dl, 8
je 0x429f65
mov edx, dword [ebp - 0x28]
inc edx
mov dword [eax], 7
add esi, 8
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x48], esi
adc ecx, 0
mov dword [ebp - 0x38], ecx
jmp 0x429ffc
mov ecx, dword [eax - 0x10]
mov eax, edx
shr eax, 1
and eax, 1
mov dword [ebp - 0x3c], ecx
lea eax, [eax + ecx*2]
add eax, 0xc
mov dword [ebp - 0x4c], eax
test edx, 0x4000
je 0x429fbe
mov esi, dword [ebp - 0x30]
mov edx, dword [esi - 0x1c]
lea eax, [eax + edx*2]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x48]
or eax, dword [ebp - 0x38]
je 0x429faf
lea ecx, [esi - 0x1c]
call fcn.00422452
test eax, eax
jne 0x42cf80
mov ecx, dword [ebp - 0x3c]
add ecx, dword [esi - 0x1c]
jmp 0x429fb8
mov eax, edx
cdq
add dword [ebp - 0x64], eax
adc dword [ebp - 0x20], edx
mov esi, dword [ebp - 0x48]
mov eax, dword [ebp - 0x4c]
add esi, ecx
push 0
pop edx
adc dword [ebp - 0x38], edx
xor ecx, ecx
mov dword [ebp - 0x48], esi
lea esi, [ecx + 1]
mov ecx, eax
shr ecx, 7
jmp 0x429fdd
shrd ecx, edx, 7
inc esi
shr edx, 7
mov eax, ecx
or eax, edx
jne 0x429fd5
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x4c]
add edx, esi
mov dword [ecx], eax
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x30]
mov esi, dword [ebp - 0x48]
add eax, 0xffffffe4
cmp eax, dword [ebp - 0x54]
je 0x42a00f
mov eax, dword [ebp - 0x30]
sub eax, 0x28
jmp 0x429dd4
cmp edx, 0x7e
jle 0x42a084
xor eax, eax
inc eax
mov dword [ebp - 0x4c], eax
mov eax, edx
cdq
mov esi, eax
shrd esi, edx, 7
shr edx, 7
mov ecx, esi
or ecx, edx
je 0x42a043
mov edi, dword [ebp - 0x4c]
shrd esi, edx, 7
inc edi
shr edx, 7
mov eax, esi
or eax, edx
jne 0x42a02f
mov dword [ebp - 0x4c], edi
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x28]
xor ecx, ecx
add eax, dword [ebp - 0x4c]
inc ecx
mov dword [ebp - 0x28], eax
cdq
mov esi, eax
mov dword [ebp - 0x30], ecx
shrd esi, edx, 7
shr edx, 7
mov ecx, esi
or ecx, edx
je 0x42a079
mov edi, dword [ebp - 0x30]
shrd esi, edx, 7
inc edi
shr edx, 7
mov eax, esi
or eax, edx
jne 0x42a065
mov dword [ebp - 0x30], edi
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x30]
jge 0x42a088
inc edx
mov dword [ebp - 0x28], edx
mov esi, dword [ebp - 0x38]
mov eax, edx
cdq
mov ecx, edx
mov dword [ebp - 0x4c], eax
mov edx, dword [ebp - 0x48]
add edx, eax
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x70]
adc esi, ecx
mov dword [ebp - 0x48], edx
mov ecx, edx
add ecx, dword [ebp - 0x64]
mov eax, dword [eax + 0x18]
adc esi, dword [ebp - 0x20]
cdq
cmp esi, edx
jg 0x42a0c4
jl 0x42a0b9
cmp ecx, eax
ja 0x42a0c4
mov ecx, dword [ebp - 0x70]
mov eax, dword [ecx + 0x14]
mov dword [ecx + 0x10], eax
jmp 0x42a0f8
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x6c]
cdq
cmp esi, edx
jg 0x42c420
jl 0x42a0dd
cmp ecx, eax
ja 0x42c420
mov eax, dword [ebp - 0x48]
mov edx, eax
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x48], eax
call fcn.004223aa
test eax, eax
jne 0x42cf80
mov ecx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x64]
mov dword [ecx + 0xc], eax
push 0x10
pop eax
mov word [ecx + 8], ax
mov eax, edx
or eax, dword [ebp - 0x20]
je 0x42a11a
mov eax, 0x4010
mov dword [ecx], edx
mov word [ecx + 8], ax
mov esi, dword [ecx + 0x10]
mov edx, 0x80
mov ecx, dword [ebp - 0x28]
lea eax, [esi + ecx]
mov dword [ebp - 0x20], eax
cmp ecx, edx
jae 0x42a138
mov byte [esi], cl
xor ecx, ecx
inc ecx
mov eax, ecx
jmp 0x42a14d
push dword [ebp - 0x3c]
mov ecx, esi
push dword [ebp - 0x4c]
call fcn.0040eeb2
pop ecx
pop ecx
xor ecx, ecx
inc ecx
lea edx, [ecx + 0x7f]
mov edi, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x24]
movzx eax, al
add esi, eax
mov eax, dword [edi + 0x1c]
mov dword [ebp - 0x3c], eax
cmp eax, edx
jae 0x42a168
mov byte [esi], al
mov eax, ecx
jmp 0x42a175
xor ecx, ecx
push ecx
push eax
mov ecx, esi
call fcn.0040eeb2
pop ecx
pop ecx
push dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x20]
mov edx, edi
movzx eax, al
add esi, eax
call fcn.004255ac
add dword [ebp - 0x20], eax
add edi, 0x28
pop ecx
push 1
pop ecx
lea edx, [ecx + 0x7f]
cmp edi, ebx
jbe 0x42a158
jmp 0x428864
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0x118]
mov eax, dword [edi + 0x60]
xorps xmm0, xmm0
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 0x28]
movlpd qword [ebp - 0x118], xmm0
call fcn.00420a09
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x429104
mov edx, ebx
mov ecx, edi
call fcn.0042844b
mov ecx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x114]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp 0x4285fd
mov ecx, dword [ebx + 4]
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x20], eax
test ecx, ecx
jne 0x42a2d5
mov ecx, dword [ebp - 0x14]
xor edx, edx
cmp dword [ecx + 0xb8], edx
jg 0x42ced6
test eax, eax
jne 0x42a216
mov esi, edx
jmp 0x42a22d
mov esi, eax
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x42a21b
sub esi, ecx
mov ecx, dword [ebp - 0x14]
and esi, 0x3fffffff
mov eax, dword [ecx + 0x1d0]
xor edx, edx
add eax, dword [ecx + 0x1cc]
push eax
call fcn.00454c2e
mov dword [ebp - 0x1c], eax
pop ecx
test eax, eax
jne 0x429104
xor ecx, ecx
lea eax, [esi + 0x21]
push ecx
mov ecx, dword [ebp - 0x14]
push eax
call fcn.0040bddd
mov dword [ebp - 0x3c], eax
pop ecx
pop ecx
test eax, eax
je 0x4285fa
lea ecx, [esi + 1]
push ecx
push dword [ebp - 0x20]
lea edx, [eax + 0x20]
push edx
mov dword [eax], edx
call fcn.004693a0
mov esi, dword [ebp - 0x14]
add esp, 0xc
cmp byte [esi + 0x4f], 0
je 0x42a292
xor eax, eax
mov byte [esi + 0x4f], al
inc eax
mov byte [esi + 0x57], al
jmp 0x42a298
inc dword [esi + 0x1cc]
mov edx, dword [ebp - 0x3c]
mov eax, dword [esi + 0x1c4]
mov dword [edx + 0x18], eax
mov eax, dword [esi + 0x1d8]
mov ecx, dword [esi + 0x1dc]
mov dword [esi + 0x1c4], edx
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov eax, dword [esi + 0x1e0]
mov ecx, dword [esi + 0x1e4]
mov dword [edx + 0x10], eax
mov eax, esi
mov dword [edx + 0x14], ecx
jmp 0x42966d
xor ecx, ecx
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x14]
mov esi, dword [ecx + 0x1c4]
test esi, esi
je 0x42cf0f
mov ecx, dword [esi]
mov edx, eax
call fcn.0040e43b
test eax, eax
je 0x42a303
inc dword [ebp - 0x28]
mov esi, dword [esi + 0x18]
mov eax, dword [ebp - 0x20]
jmp 0x42a2e3
mov ecx, dword [ebp - 0x14]
xor eax, eax
mov edx, dword [ebp - 0x2c]
cmp dword [ecx + 0xb8], eax
jle 0x42a31c
inc eax
cmp edx, eax
je 0x42cee7
lea eax, [esi + 0x18]
cmp dword [eax], 0
mov dword [ebp - 0x70], eax
jne 0x42a3f6
cmp byte [ecx + 0x57], 0
je 0x42a3f6
xor eax, eax
inc eax
mov dword [ebp - 0x4c], eax
cmp edx, eax
jne 0x42a3fb
mov edx, eax
mov ecx, edi
call fcn.00424f0b
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x42919e
mov eax, dword [ebp - 0x14]
xor ecx, ecx
inc ecx
mov byte [eax + 0x4f], cl
mov ecx, edi
call fcn.00424f66
push 5
pop ecx
cmp eax, ecx
je 0x42ceee
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov byte [eax + 0x57], cl
mov eax, dword [edi + 0x28]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x1c4]
cmp ecx, esi
je 0x42a3b5
mov edi, dword [ebp - 0x14]
mov eax, dword [ecx + 0x18]
mov edx, ecx
mov ecx, edi
mov dword [edi + 0x1c4], eax
call fcn.0040bb95
mov ecx, dword [edi + 0x1c4]
dec dword [edi + 0x1cc]
cmp ecx, esi
jne 0x42a390
mov edi, dword [ebp - 0x44]
mov edx, dword [ebp - 0x2c]
xor eax, eax
inc eax
cmp edx, eax
jne 0x42a504
mov eax, dword [ebp - 0x70]
mov edx, esi
mov ecx, dword [ebp - 0x14]
mov eax, dword [eax]
mov dword [ecx + 0x1c4], eax
call fcn.0040bb95
cmp dword [ebp - 0x4c], 0
jne 0x4290f9
mov edx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x14]
dec dword [edx + 0x1cc]
mov edx, dword [ebp - 0x2c]
jmp 0x42a543
xor eax, eax
mov dword [ebp - 0x4c], eax
mov eax, dword [ecx + 0x1cc]
sub eax, dword [ebp - 0x28]
dec eax
mov dword [ebp - 0x28], eax
mov eax, dword [ecx + 0x14]
cmp edx, 2
jne 0x42a476
mov ecx, dword [ecx + 0x18]
and dword [ebp - 0x24], 0
and ecx, 1
mov dword [ebp - 0x64], ecx
test eax, eax
jle 0x42a47b
xor eax, eax
inc eax
xor ecx, eax
xor eax, eax
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x20], eax
jmp 0x42a433
mov eax, dword [ebp - 0x20]
push ecx
mov ecx, dword [ebp - 0x14]
mov edx, 0x204
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx + eax + 4]
call fcn.0041bedc
mov dword [ebp - 0x1c], eax
pop ecx
test eax, eax
jne 0x429104
mov ecx, dword [ebp - 0x24]
push 0x10
pop eax
add dword [ebp - 0x20], eax
inc ecx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x24], ecx
mov eax, dword [eax + 0x14]
cmp ecx, eax
mov ecx, dword [ebp - 0x3c]
jl 0x42a430
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x2c]
jmp 0x42a47b
xor ecx, ecx
mov dword [ebp - 0x64], ecx
and dword [ebp - 0x24], 0
test eax, eax
jle 0x42a4c6
xor eax, eax
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x14]
push dword [ebp - 0x28]
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx + eax + 4]
call fcn.0041c04a
mov dword [ebp - 0x1c], eax
pop ecx
test eax, eax
jne 0x429104
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x24]
push 0x10
pop edx
add eax, edx
inc ecx
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x54], eax
cmp ecx, dword [edx + 0x14]
mov edx, dword [ebp - 0x2c]
jl 0x42a488
mov ecx, dword [ebp - 0x64]
test ecx, ecx
je 0x42a380
mov edx, dword [ebp - 0x14]
mov ecx, dword [edx + 4]
jmp 0x42a4eb
mov eax, dword [ecx + 0x98]
and eax, 0xfffffffd
or eax, 1
mov dword [ecx + 0x98], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x42a4d6
mov ecx, edx
call fcn.0043ae6f
mov eax, dword [ebp - 0x14]
xor ecx, ecx
inc ecx
or dword [eax + 0x18], ecx
jmp 0x42a383
cmp dword [ebp - 0x4c], 0
mov edi, dword [ebp - 0x14]
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [edi + 0x1d8], eax
mov eax, edi
mov dword [eax + 0x1dc], ecx
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
mov esi, edi
mov edi, dword [ebp - 0x44]
mov dword [esi + 0x1e0], eax
mov dword [esi + 0x1e4], ecx
je 0x42a543
push 2
pop eax
cmp edx, eax
jne 0x4290f9
push dword [ebp - 0x28]
mov ecx, esi
call fcn.00454c2e
mov dword [ebp - 0x1c], eax
pop ecx
test eax, eax
jne 0x429104
jmp 0x4290fc
mov edx, dword [ebx + 8]
xor ecx, ecx
mov dword [ebp - 0x20], ecx
test edx, edx
je 0x42a57d
mov eax, dword [eax + 0x20]
and eax, 0x100000
or eax, ecx
jne 0x42cf26
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov esi, dword [eax + ecx*8 + 4]
test esi, esi
je 0x42a63b
lea eax, [ebp - 0x20]
mov ecx, esi
push eax
call fcn.0041b432
mov dword [ebp - 0x1c], eax
pop ecx
test eax, eax
jne 0x42cf2a
xor ecx, ecx
cmp dword [ebx + 8], ecx
je 0x42a645
mov edx, 0x80
test byte [edi + 0x98], dl
mov edx, dword [ebp - 0x14]
je 0x42a648
cmp byte [edx + 0x4f], cl
je 0x42a5d5
cmp dword [edx + 0xb4], 1
jle 0x42a648
mov eax, dword [edi + 0x30]
test eax, eax
jne 0x42a5f1
mov eax, dword [edx + 0x1cc]
inc dword [edx + 0x1d0]
add eax, dword [edx + 0x1d0]
mov dword [edi + 0x30], eax
mov ecx, dword [ebp - 0x14]
dec eax
push eax
xor edx, edx
call fcn.00454c2e
mov dword [ebp - 0x1c], eax
pop ecx
test eax, eax
jne 0x42a612
mov edx, dword [edi + 0x30]
mov ecx, esi
call fcn.0041c014
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x1d8]
mov ecx, dword [edx + 0x1dc]
mov dword [edi + 0x48], eax
mov dword [edi + 0x4c], ecx
mov eax, dword [edx + 0x1e0]
mov ecx, dword [edx + 0x1e4]
mov dword [edi + 0x50], eax
mov dword [edi + 0x54], ecx
jmp 0x42a63e
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
jmp 0x42a648
mov edx, dword [ebp - 0x14]
cmp word [ebx + 2], cx
je 0x4290fc
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebx + 0xc]
jne 0x42a672
mov ecx, dword [ebx + 4]
mov eax, dword [edx + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax + 4]
cmp eax, dword [ebx + 0x10]
je 0x4290f9
mov edx, dword [edi + 0x7c]
test edx, edx
je 0x42a681
mov ecx, dword [ebp - 0x14]
call fcn.0040bb95
mov ecx, dword [ebp - 0x14]
mov edx, str.database_schema_has_changed
call fcn.0040bf45
mov dword [edi + 0x7c], eax
mov eax, dword [ebp - 0x14]
mov edx, dword [ebx + 4]
mov ecx, edx
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x20]
je 0x42a6b1
mov ecx, dword [ebp - 0x14]
call fcn.0043ae19
mov eax, dword [edi + 0x98]
xor ecx, ecx
and eax, 0xfffffffd
inc ecx
or eax, ecx
mov dword [edi + 0x98], eax
push 0x11
jmp 0x42ced0
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x104]
mov edx, dword [ebx + 0xc]
push eax
mov eax, dword [ebx + 4]
mov ecx, dword [ecx + 0x10]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00420976
pop ecx
mov edx, ebx
mov ecx, edi
call fcn.0042844b
mov ecx, eax
mov eax, dword [ebp - 0x104]
jmp 0x428693
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.004209b8
xor edx, edx
mov dword [ebp - 0x1c], eax
inc edx
pop ecx
cmp dword [ebx + 8], edx
jne 0x42a734
mov ecx, dword [esi + 0xc]
mov eax, dword [ebx + 0xc]
mov dword [ecx], eax
mov eax, dword [ebp - 0x14]
or dword [eax + 0x18], edx
jmp 0x42a748
push 2
pop eax
cmp dword [ebx + 8], eax
jne 0x42a745
mov ecx, dword [esi + 0xc]
mov al, byte [ebx + 0xc]
mov byte [ecx + 0x4c], al
mov eax, dword [ebp - 0x14]
cmp dword [ebx + 4], edx
jne 0x4290f9
mov ecx, dword [eax + 4]
jmp 0x42a76a
mov eax, dword [ecx + 0x98]
and eax, 0xfffffffd
or eax, edx
mov dword [ecx + 0x98], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x42a756
and dword [edi + 0x98], 0xfffffffc
jmp 0x4290f9
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x42a793
mov eax, dword [esi + 0x34]
cmp eax, dword [ebx + 8]
je 0x42a891
mov cl, byte [ebp - 0x31]
mov eax, dword [edi + 0x98]
xor edx, edx
and al, 3
inc edx
cmp al, dl
je 0x42cf4b
mov edx, dword [ebx + 8]
xor eax, eax
mov esi, dword [ebx + 0xc]
mov dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x64], eax
mov eax, esi
shl eax, 4
add eax, dword [edx + 0x10]
mov dword [ebp - 0x3c], esi
mov edx, dword [eax + 4]
mov dword [ebp - 0x4c], edx
mov edx, dword [ebp - 0x20]
cmp cl, 0x62
jne 0x42a7f9
mov eax, dword [eax + 0xc]
movzx ecx, word [ebx + 2]
and ecx, 8
or ecx, 4
mov al, byte [eax + 0x4c]
mov dword [ebp - 0x24], ecx
cmp al, byte [edi + 0x93]
jae 0x42a7fe
mov byte [edi + 0x93], al
jmp 0x42a7fe
xor eax, eax
mov dword [ebp - 0x24], eax
push 0x10
pop eax
test byte [ebx + 2], al
je 0x42a81b
imul esi, edx, 0x28
add esi, dword [ebp - 0x18]
mov ecx, esi
call fcn.004227c3
mov eax, dword [esi]
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0x20], eax
mov al, byte [ebx + 1]
cmp al, 0xf7
jne 0x42a82e
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x64], eax
movzx eax, word [eax + 8]
jmp 0x42a83a
cmp al, 0xfd
jne 0x42a837
mov eax, dword [ebx + 0x10]
jmp 0x42a83a
mov eax, dword [ebp - 0x54]
mov edx, dword [ebx + 4]
xor ecx, ecx
push ecx
push esi
push eax
mov ecx, edi
call fcn.00428187
mov esi, eax
add esp, 0xc
test esi, esi
je 0x42cf80
mov ecx, dword [ebp - 0x4c]
xor eax, eax
inc eax
push 4
mov byte [esi + 2], al
pop eax
push dword [esi + 0x28]
or dword [esi + 8], eax
push dword [ebp - 0x64]
mov eax, dword [ebp - 0x20]
mov edx, eax
push dword [ebp - 0x24]
mov dword [esi + 0x34], eax
call fcn.0041c183
mov dword [ebp - 0x1c], eax
add esp, 0xc
mov eax, dword [ebp - 0x64]
mov dword [esi + 0x2c], eax
cmp byte [ebx + 1], 0xf7
setne al
mov byte [esi + 4], al
mov cl, byte [ebx + 2]
mov eax, dword [esi + 0x28]
and cl, 3
mov byte [eax + 3], cl
jmp 0x4290f9
mov ecx, dword [ebx + 8]
mov eax, dword [edi + 0x60]
mov edx, dword [ebx + 4]
mov eax, dword [eax + ecx*4]
xor ecx, ecx
push ecx
mov dword [ebp - 0x20], eax
mov ecx, edi
push 0xffffffffffffffff
movsx eax, word [eax + 0x38]
push eax
call fcn.00428187
mov esi, eax
add esp, 0xc
test esi, esi
je 0x42cf80
mov edx, dword [ebp - 0x20]
xor eax, eax
push dword [esi + 0x28]
inc eax
or dword [esi + 8], eax
mov byte [esi + 2], al
mov ecx, dword [edx + 0x2c]
mov dword [esi + 0x2c], ecx
mov al, byte [edx + 4]
mov byte [esi + 4], al
mov eax, dword [ebp - 0x20]
mov edx, dword [edx + 0x34]
mov dword [esi + 0x34], edx
push ecx
mov eax, dword [eax + 8]
xor eax, dword [esi + 8]
and eax, 4
xor dword [esi + 8], eax
push 4
pop eax
push eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0xc]
call fcn.0041c183
add esp, 0xc
mov dword [ebp - 0x1c], eax
jmp 0x4285fa
mov eax, dword [edi + 0x60]
mov edx, dword [ebx + 4]
mov esi, dword [eax + edx*4]
xor eax, eax
test esi, esi
je 0x42a94f
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], eax
mov dword [esi + 0x1c], eax
test ecx, ecx
je 0x42aa5f
mov edx, dword [esi + 0x34]
push eax
call fcn.0042075a
pop ecx
mov dword [ebp - 0x1c], eax
jmp 0x42aa62
push eax
push 0xffffffffffffffff
push dword [ebx + 8]
mov ecx, edi
call fcn.00428187
mov esi, eax
add esp, 0xc
mov dword [ebp - 0x24], esi
test esi, esi
je 0x42cf80
xor eax, eax
xor edx, edx
inc eax
or dword [esi + 8], eax
lea eax, [esi + 0xc]
movzx ecx, word [ebx + 2]
push 0x41e
or ecx, 5
mov dword [ebp - 0x3c], eax
push ecx
push eax
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [eax]
call fcn.0041a7eb
add esp, 0x10
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x42aa45
mov ecx, dword [esi + 0xc]
lea edx, [eax + 1]
push eax
call fcn.0041b432
mov dword [ebp - 0x1c], eax
pop ecx
test eax, eax
jne 0x42aa45
mov eax, dword [ebx + 0x10]
lea ecx, [esi + 0x34]
mov dword [ebp - 0x20], eax
mov dword [esi + 0x2c], eax
mov dword [ebp - 0x54], ecx
test eax, eax
je 0x42aa22
movzx esi, word [ebx + 2]
push 2
pop eax
or esi, eax
mov eax, dword [ebp - 0x3c]
mov edi, dword [eax]
mov ecx, edi
call fcn.004191af
mov edx, dword [ebp - 0x54]
mov ecx, edi
push esi
call fcn.004203eb
pop ecx
mov ecx, edi
mov dword [ebp - 0x1c], eax
call fcn.00419221
cmp dword [ebp - 0x1c], 0
mov esi, dword [ebp - 0x24]
jne 0x42aa1b
push dword [esi + 0x28]
mov edx, dword [esi + 0x34]
push dword [ebp - 0x20]
mov ecx, dword [esi + 0xc]
push 4
pop eax
push eax
call fcn.0041c183
add esp, 0xc
mov dword [ebp - 0x1c], eax
mov edi, dword [ebp - 0x44]
xor eax, eax
jmp 0x42aa42
push dword [esi + 0x28]
xor eax, eax
xor edx, edx
push eax
push 4
inc edx
pop eax
mov dword [ecx], edx
mov ecx, dword [esi + 0xc]
push eax
call fcn.0041c183
mov dword [ebp - 0x1c], eax
add esp, 0xc
xor eax, eax
inc eax
mov byte [esi + 4], al
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
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x429104
inc eax
mov byte [esi + 2], al
jmp 0x4285fa
mov edx, dword [ebx + 4]
xor eax, eax
inc eax
mov ecx, edi
push eax
push 0xffffffffffffffff
push dword [ebx + 8]
call fcn.00428187
add esp, 0xc
test eax, eax
je 0x42cf80
mov ecx, dword [ebx + 0x10]
mov dword [eax + 0x2c], ecx
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x14]
push eax
call fcn.0042e2d1
pop ecx
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x429104
jmp 0x4285fd
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
mov edx, dword [eax + ecx*4]
xor eax, eax
inc eax
mov edi, dword [edx + 0x10]
mov ecx, edi
mov esi, dword [edx + 0x14]
add ecx, eax
mov eax, esi
mov dword [edx + 0x10], ecx
adc eax, 0
or edi, esi
mov edi, dword [ebp - 0x44]
mov dword [edx + 0x14], eax
je 0x42cdfa
jmp 0x4285fa
mov edx, dword [ebx + 4]
mov ecx, edi
push 3
push 0xffffffffffffffff
push dword [ebx + 0xc]
call fcn.00428187
add esp, 0xc
test eax, eax
je 0x42cf80
xor edx, edx
inc edx
mov byte [eax + 2], dl
mov ecx, dword [ebx + 8]
mov dword [eax + 0x20], ecx
mov byte [eax + 4], dl
mov dword [eax + 0x28], 0x543c70
jmp 0x4285fd
mov eax, dword [ebx + 4]
mov ecx, edi
mov edx, dword [edi + 0x60]
mov edx, dword [edx + eax*4]
call fcn.004246ae
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x60]
mov dword [eax + ecx*4], edx
jmp 0x4285fd
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x20], ecx
mov word [esi + 2], cx
mov dword [esi + 0x1c], ecx
cmp byte [esi + 4], cl
je 0x42ac41
imul esi, dword [ebx + 0xc], 0x28
push 2
pop ecx
add esi, dword [ebp - 0x18]
movzx eax, word [esi + 8]
mov dword [ebp - 0x3c], eax
and al, 0x2e
cmp al, cl
jne 0x42ab7d
xor edx, edx
mov ecx, esi
call fcn.00428256
mov ecx, esi
call fcn.004226ac
movzx ecx, word [esi + 8]
mov dword [ebp - 0x4c], edx
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x64], eax
mov word [esi + 8], dx
test cl, 0x24
jne 0x42ac08
test cl, 8
jne 0x42abd2
xor eax, eax
inc eax
test al, cl
jne 0x42cdfa
cmp dword [ebp - 0x28], 0x18
jae 0x42cdfa
mov ecx, dword [ebp - 0x24]
lea edx, [ebp - 0x7c]
mov ecx, dword [ecx + 0x28]
call fcn.0041c8f1
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x429104
jmp 0x42ad38
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x64]
call fcn.0047c840
movsd xmm1, qword [esi]
comisd xmm0, xmm1
jbe 0x42abf4
mov eax, dword [ebp - 0x28]
xor ecx, ecx
inc ecx
test cl, al
je 0x42ac08
dec eax
jmp 0x42ac05
comisd xmm1, xmm0
jbe 0x42ac08
mov eax, dword [ebp - 0x28]
xor ecx, ecx
inc ecx
test cl, al
jne 0x42ac08
inc eax
mov dword [ebp - 0x28], eax
mov esi, dword [ebp - 0x24]
lea eax, [ebp - 0x7c]
push eax
xor eax, eax
xor edx, edx
push eax
push dword [ebp - 0x4c]
mov ecx, dword [esi + 0x28]
push dword [ebp - 0x64]
call fcn.0041c945
mov ecx, dword [ebp - 0x64]
add esp, 0x10
mov dword [esi + 0x40], ecx
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x1c], eax
mov dword [esi + 0x44], ecx
test eax, eax
jne 0x429104
jmp 0x42acc8
mov eax, dword [esi + 0x28]
push 0
mov al, byte [eax + 3]
and al, 2
mov byte [ebp - 0x31], al
pop eax
setne al
mov dword [ebp - 0x20], eax
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0x130], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x128], ax
mov eax, edx
xor edx, edx
mov byte [ebp - 0x122], cl
inc edx
and al, dl
lea edx, [ebp - 0x130]
neg al
sbb al, al
and al, 0xfe
inc al
mov byte [ebp - 0x126], al
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x12c], eax
lea eax, [ebp - 0x7c]
push eax
push ecx
push ecx
push ecx
mov ecx, dword [esi + 0x28]
call fcn.0041c945
add esp, 0x10
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x429104
cmp byte [ebp - 0x31], al
je 0x42acc8
cmp byte [ebp - 0x122], 0
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
je 0x42ad38
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x7c]
cmp eax, 0x18
jl 0x42acf5
test ecx, ecx
js 0x42ace5
jne 0x42acde
cmp eax, 0x19
je 0x42ace5
xor eax, eax
mov dword [ebp - 0x7c], eax
jmp 0x42ad42
xor eax, eax
push eax
mov dword [ebp - 0x7c], eax
push dword [esi + 0x28]
call fcn.0041ce1c
jmp 0x42ad1d
test ecx, ecx
jg 0x42ad0f
jne 0x42ad00
cmp eax, 0x16
je 0x42ad0f
mov eax, dword [esi + 0x28]
xor ecx, ecx
cmp byte [eax], cl
setne cl
mov dword [ebp - 0x7c], ecx
jmp 0x42ad38
xor eax, eax
push eax
mov dword [ebp - 0x7c], eax
push dword [esi + 0x28]
call fcn.0041cf2c
mov dword [ebp - 0x1c], eax
pop ecx
pop ecx
test eax, eax
je 0x42ad38
cmp eax, 0x65
jne 0x429104
xor eax, eax
mov dword [ebp - 0x1c], eax
inc eax
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0
jne 0x42cdfa
cmp dword [ebp - 0x20], 0
mov esi, dword [ebp - 0x18]
je 0x4285fd
push 0x14
pop eax
add ebx, eax
jmp 0x4285fd
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
push 8
pop edx
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebx + 8]
shl eax, 3
xor eax, dword [ecx + 8]
and eax, edx
xor dword [ecx + 8], eax
jmp 0x4285fd
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
test byte [eax + 8], 8
jne 0x4285fd
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
imul esi, dword [ebx + 0xc], 0x28
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0x20], eax
add esi, dword [ebp - 0x18]
cmp dword [ebx + 0x10], ecx
jle 0x42adcd
mov eax, dword [eax + 0x2c]
lea edx, [ebp - 0x178]
mov dword [ebp - 0x178], eax
mov ax, word [ebx + 0x10]
mov dword [ebp - 0x174], esi
mov esi, dword [ebp - 0x20]
mov word [ebp - 0x170], ax
mov dword [ebp - 0x24], ecx
jmp 0x42ae19
mov ecx, 0x4000
test word [esi + 8], cx
je 0x42adea
mov ecx, esi
call fcn.00422452
test eax, eax
jne 0x42cf80
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x2c]
call fcn.00425849
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x24], eax
test eax, eax
je 0x42cf80
mov edx, dword [esi + 0xc]
push eax
push dword [esi + 0x10]
mov esi, dword [ebp - 0x20]
mov ecx, dword [esi + 0x2c]
call fcn.00425894
mov edx, dword [ebp - 0x3c]
pop ecx
pop ecx
xor ecx, ecx
mov byte [edx + 0xa], cl
cmp byte [ebx], 0x1b
mov dword [ebp - 0x54], ecx
jne 0x42ae4d
movzx eax, word [edx + 8]
mov dword [ebp - 0x3c], eax
test eax, eax
je 0x42ae4b
mov eax, dword [edx + 4]
add eax, 8
test byte [eax], 1
jne 0x42ae45
inc ecx
add eax, 0x28
cmp ecx, dword [ebp - 0x3c]
jl 0x42ae35
jmp 0x42ae4b
xor eax, eax
inc eax
mov dword [ebp - 0x54], eax
xor ecx, ecx
lea eax, [ebp - 0xc4]
push eax
push ecx
push ecx
push ecx
mov ecx, dword [esi + 0x28]
call fcn.0041c945
mov ecx, dword [ebp - 0x24]
add esp, 0x10
mov dword [ebp - 0x1c], eax
test ecx, ecx
je 0x42ae79
mov edx, ecx
mov ecx, dword [ebp - 0x14]
call fcn.0040bb95
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x429104
mov eax, dword [ebp - 0xc4]
xor ecx, ecx
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0xc4]
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], 0x1d
jne 0x42aeb3
test ecx, ecx
jmp 0x42927f
cmp dword [ebp - 0x54], eax
jne 0x42cdfa
test ecx, ecx
jmp 0x42aada
imul esi, dword [ebx + 0xc], 0x28
add esi, dword [ebp - 0x18]
test byte [esi + 8], 0x24
jne 0x42af0c
push 0xa
pop ecx
push dword [ebp - 0x6c]
lea edi, [ebp - 0x1c8]
mov dl, 0x43
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x1c8]
call fcn.0042830a
mov edi, dword [ebp - 0x44]
pop ecx
push 4
pop eax
test byte [ebp - 0x1c0], al
je 0x42cdfa
mov edx, dword [ebp - 0x1c8]
mov eax, dword [ebp - 0x1c4]
jmp 0x42af1a
mov esi, dword [ebp - 0x18]
imul eax, dword [ebx + 0xc], 0x28
mov edx, dword [eax + esi]
mov eax, dword [eax + esi + 4]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], edx
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
xor eax, eax
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0xb4], eax
lea eax, [ebp - 0xb4]
push eax
xor eax, eax
push eax
push dword [ebp - 0x20]
push edx
xor edx, edx
call fcn.0041c945
mov dword [ebp - 0x1c], eax
xor ecx, ecx
mov eax, dword [ebp - 0x24]
add esp, 0x10
mov dword [esi + 0x40], eax
mov eax, dword [ebp - 0x20]
mov dword [esi + 0x44], eax
mov word [esi + 2], cx
mov dword [esi + 0x1c], ecx
mov eax, dword [ebp - 0xb4]
mov dword [esi + 0x20], eax
cmp dword [ebp - 0xb4], ecx
je 0x4290f9
cmp dword [ebx + 8], ecx
jne 0x42cdfa
push 0x53a7f4
push 0x159cf
jmp 0x42ceba
mov edx, ebx
mov ecx, edi
call fcn.0042844b
mov edx, dword [ebx + 4]
mov ecx, dword [edi + 0x60]
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 + 0x60]
mov eax, dword [eax + ecx*4]
xor ecx, ecx
inc ecx
add dword [eax + 0x10], ecx
pop ecx
adc dword [eax + 0x14], ecx
jmp 0x4285fd
xorps xmm0, xmm0
xor eax, eax
mov edx, ebx
movlpd qword [ebp - 0x58], xmm0
mov ecx, edi
mov dword [ebp - 0x20], eax
call fcn.0042844b
mov edx, dword [ebx + 4]
mov ecx, dword [edi + 0x60]
push 2
mov dword [ebp - 0x3c], eax
pop eax
mov esi, dword [ecx + edx*4]
mov dword [ebp - 0x2c], esi
test byte [esi + 8], al
jne 0x42b05b
mov ecx, dword [esi + 0x28]
lea edx, [ebp - 0x20]
call fcn.0041c8f1
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x429104
cmp dword [ebp - 0x20], eax
je 0x42b01b
inc eax
mov dword [ebp - 0x58], eax
xor eax, eax
mov dword [ebp - 0x54], eax
jmp 0x42b05b
mov esi, dword [esi + 0x28]
mov ecx, esi
call fcn.0041c234
mov ecx, dword [esi + 0x24]
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], ecx
cmp ecx, 0x7fffffff
jl 0x42b04b
jg 0x42b040
cmp eax, 0xffffffff
jb 0x42b04b
mov eax, dword [ebp - 0x2c]
push 2
pop ecx
or dword [eax + 8], ecx
jmp 0x42b05b
xor edx, edx
inc edx
add eax, edx
push 0
pop edx
adc ecx, edx
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], ecx
mov edx, dword [ebx + 0xc]
test edx, edx
je 0x42b0df
mov eax, dword [edi + 0xc8]
test eax, eax
jne 0x42b0c5
imul esi, edx, 0x28
add esi, dword [ebp - 0x18]
mov ecx, esi
call fcn.004227c3
mov ecx, dword [esi]
mov edx, dword [esi + 4]
cmp ecx, 0xffffffff
jne 0x42b08f
cmp edx, 0x7fffffff
je 0x42b143
mov eax, dword [ebp - 0x2c]
test byte [eax + 8], 2
jne 0x42b143
xor eax, eax
inc eax
add ecx, eax
push 0
pop eax
adc edx, eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x24], eax
cmp eax, edx
jg 0x42b0d4
jl 0x42b0b9
mov eax, dword [ebp - 0x58]
cmp eax, ecx
jae 0x42b0d7
mov eax, ecx
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x58], eax
jmp 0x42b0da
mov eax, ecx
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x42b0c3
imul esi, edx, 0x28
add esi, dword [eax + 0x10]
jmp 0x42b072
mov eax, dword [ebp - 0x58]
mov edx, dword [ebp - 0x24]
mov dword [esi], eax
mov dword [esi + 4], edx
mov eax, dword [ebp - 0x2c]
push 2
pop ecx
test byte [eax + 8], cl
je 0x42b14d
xor eax, eax
mov esi, eax
lea eax, [ebp - 0x58]
push eax
push 8
pop eax
push eax
call fcn.0040d9d6
mov eax, dword [ebp - 0x54]
xor edx, edx
mov ecx, dword [ebp - 0x58]
inc edx
push 0
and eax, 0x3fffffff
add ecx, edx
pop edx
adc eax, edx
mov dword [ebp - 0x58], ecx
lea edx, [ebp - 0x20]
mov dword [ebp - 0x54], eax
push edx
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x2c]
push ecx
mov ecx, dword [eax + 0x28]
call fcn.0041c945
add esp, 0x18
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x429104
cmp dword [ebp - 0x20], eax
jne 0x42b14a
inc esi
cmp esi, 0x64
jl 0x42b0ee
push 0xd
jmp 0x42ced0
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x3c]
xor ecx, ecx
mov byte [eax + 3], cl
mov dword [eax + 0x1c], ecx
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp 0x4285fa
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
imul esi, dword [ebx + 8], 0x28
mov edx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x18]
mov ecx, dword [eax + ecx*4]
imul eax, dword [ebx + 0xc], 0x28
add esi, edx
mov dword [ebp - 0x24], ecx
cmp byte [ebx + 1], 0xfa
mov edx, dword [eax + edx]
mov eax, dword [eax + edi + 4]
mov edi, dword [ebp - 0x44]
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x64], eax
mov dword [ebp - 0xf0], edx
mov dword [ebp - 0xec], eax
jne 0x42b1c7
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp dword [eax + 0xf0], edx
je 0x42b1c7
movsx ecx, byte [ecx + 1]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8]
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x54], ecx
jmp 0x42b1cc
xor eax, eax
mov dword [ebp - 0x54], eax
xor ecx, ecx
mov dword [ebp - 0x20], eax
movzx eax, word [ebx + 2]
inc ecx
mov edx, eax
test cl, al
je 0x42b1e3
inc dword [edi + 0x2c]
movzx edx, word [ebx + 2]
movzx ecx, dx
test dl, 0x20
je 0x42b1fe
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
mov dword [ecx + 0x28], eax
mov eax, dword [ebp - 0x64]
mov dword [ecx + 0x2c], eax
movzx ecx, word [ebx + 2]
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xe8], eax
mov eax, dword [esi + 0xc]
push 0x10
mov dword [ebp - 0xdc], eax
pop eax
test al, cl
je 0x42b21f
mov edx, dword [ebp - 0x24]
mov edx, dword [edx + 0x20]
jmp 0x42b223
xor eax, eax
mov edx, eax
mov eax, 0x4000
test word [esi + 8], ax
push 0
pop eax
je 0x42b23d
mov eax, dword [esi]
mov dword [ebp - 0xd8], eax
xor eax, eax
jmp 0x42b243
mov dword [ebp - 0xd8], eax
mov esi, dword [ebp - 0x24]
and ecx, 0xa
push edx
mov dword [ebp - 0xf8], eax
lea edx, [ebp - 0xf8]
push ecx
mov ecx, dword [esi + 0x28]
call fcn.0041fd58
pop ecx
pop ecx
xor ecx, ecx
mov dword [ebp - 0x1c], eax
mov byte [esi + 3], cl
mov dword [esi + 0x1c], ecx
test eax, eax
jne 0x429104
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x4285fa
push dword [ebp - 0xec]
push dword [ebp - 0xf0]
push dword [eax]
push dword [ebp - 0x20]
push 4
pop eax
test byte [ebx + 2], al
push 0x12
pop eax
push 0x17
pop ecx
cmovne eax, ecx
push eax
mov eax, dword [ebp - 0x14]
push dword [eax + 0xec]
call dword [eax + 0xf0]
add esp, 0x18
jmp 0x4285fa
cmp byte [ebx + 1], 0xfa
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x20], eax
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0x3c], esi
jne 0x42b31a
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp dword [eax + 0xf0], ecx
je 0x42b31a
movsx ecx, byte [esi + 1]
mov eax, dword [eax + 0x10]
add ecx, ecx
push 2
mov eax, dword [eax + ecx*8]
mov dword [ebp - 0x54], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x24], eax
pop eax
test byte [ebx + 2], al
je 0x42b322
cmp byte [esi + 4], 0
je 0x42b322
mov esi, dword [esi + 0x28]
mov ecx, esi
call fcn.0041c234
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x24]
mov esi, dword [ebp - 0x3c]
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], ecx
jmp 0x42b322
xor eax, eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x24], eax
mov dl, byte [ebx + 2]
mov ecx, dword [esi + 0x28]
call fcn.004200e7
xor ecx, ecx
mov dword [ebp - 0x1c], eax
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x20], ecx
test eax, eax
jne 0x429104
inc eax
test byte [ebp - 0x20], al
je 0x4285fa
mov edx, dword [ebp - 0x14]
inc dword [edi + 0x2c]
mov eax, dword [edx + 0xf0]
test eax, eax
je 0x42ccf2
mov ecx, dword [ebp - 0x24]
test byte [ecx + 0x24], 0x20
jne 0x42ccf2
push dword [esi + 0x44]
push dword [esi + 0x40]
push dword [ecx]
push dword [ebp - 0x54]
push 9
push dword [edx + 0xec]
call eax
jmp 0x42b2af
mov ecx, dword [ebp - 0x14]
mov eax, dword [edi + 0x2c]
add dword [ecx + 0x68], eax
mov dword [ecx + 0x64], eax
xor eax, eax
mov dword [edi + 0x2c], eax
mov eax, ecx
jmp case.0x42854c.86
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
imul edx, dword [ebx + 0xc], 0x28
mov ecx, dword [eax + ecx*4]
xor eax, eax
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0xc8]
push eax
push dword [ebx + 0x10]
add edx, esi
call fcn.0042fad8
mov dword [ebp - 0x1c], eax
pop ecx
pop ecx
test eax, eax
jne 0x429104
cmp dword [ebp - 0xc8], eax
jmp 0x4285aa
imul edx, dword [ebx + 8], 0x28
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
add edx, esi
mov ecx, dword [eax + ecx*4]
call fcn.0042fa82
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x429104
mov ecx, dword [ebx + 0xc]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [eax + 0x1c], ecx
jmp 0x4285fd
mov edx, ebx
mov ecx, edi
call fcn.0042844b
mov edx, dword [ebx + 4]
mov esi, eax
mov ecx, dword [edi + 0x60]
mov ecx, dword [ecx + edx*4]
mov eax, dword [ecx + 0x28]
mov ecx, eax
mov dword [ebp - 0x3c], eax
call fcn.0041c234
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x2c]
cmp eax, dword [edx + 0x6c]
ja 0x42c420
push esi
push eax
xor edx, edx
call fcn.00422e67
mov dword [ebp - 0x1c], eax
pop ecx
pop ecx
test eax, eax
jne 0x429104
cmp dword [ebx + 0xc], eax
jne 0x4285fa
mov eax, 0x1000
test word [esi + 8], ax
je 0x4285fa
mov ecx, esi
call fcn.0042240c
test eax, eax
mov eax, dword [ebp - 0x14]
jne 0x42cf83
jmp 0x42966d
mov edx, ebx
mov ecx, edi
call fcn.0042844b
mov edx, dword [ebx + 4]
mov ecx, dword [edi + 0x60]
mov dword [ebp - 0x24], eax
mov esi, dword [ecx + edx*4]
cmp byte [esi + 2], 0
je 0x42b4ac
xor ecx, ecx
inc ecx
mov word [eax + 8], cx
jmp 0x4285fa
cmp byte [esi + 3], 0
je 0x42b4bd
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x44]
jmp 0x42b53f
push 2
pop eax
cmp byte [esi], al
jne 0x42b4fd
mov ecx, dword [esi + 0x28]
lea edx, [ebp - 0xc0]
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 - 0x1c], eax
mov ecx, edi
call fcn.00426760
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x429104
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xc0]
jmp 0x42b54b
mov eax, dword [esi + 0x28]
cmp byte [eax], 0
je 0x42b519
mov ecx, esi
call fcn.00425518
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x429104
jmp 0x42b51e
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp byte [esi + 2], 0
je 0x42b52f
mov edx, dword [ebp - 0x24]
xor eax, eax
inc eax
jmp 0x428e87
mov esi, dword [esi + 0x28]
mov ecx, esi
call fcn.0041c234
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x24]
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0xc0], eax
mov edx, dword [ebp - 0x24]
jmp 0x42b15e
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
xor eax, eax
inc eax
mov byte [esi + 2], al
xor eax, eax
mov dword [esi + 0x1c], eax
cmp byte [esi], al
jne 0x4285fa
mov esi, dword [esi + 0x28]
push dword [esi + 0x10]
call fcn.0040bb31
xor eax, eax
mov dword [esi + 0x10], eax
inc eax
pop ecx
mov byte [esi], al
jmp 0x4285fa
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
xor eax, eax
cmp byte [ebp - 0x31], 0x82
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0x8c], eax
jne 0x42b5ae
or dword [esi + 0x20], 0xffffffff
cmp byte [ecx], al
je 0x4285fa
lea edx, [ebp - 0x8c]
call fcn.0041c8f1
mov dword [ebp - 0x1c], eax
xor ecx, ecx
mov al, byte [ebp - 0x8c]
mov byte [esi + 2], al
mov eax, dword [ebp - 0x1c]
mov byte [esi + 3], cl
mov dword [esi + 0x1c], ecx
test eax, eax
jne 0x429104
cmp dword [ebx + 8], ecx
jle 0x4285fa
cmp dword [ebp - 0x8c], ecx
jmp 0x42927f
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0xa4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + 0x28]
mov ecx, esi
call fcn.0041c8c5
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x429104
cmp dword [ebp - 0xa4], eax
jne 0x42cdfa
mov ecx, esi
call fcn.0041ccfe
xor ecx, ecx
cmp edx, ecx
jl 0x42b653
jg 0x42b62f
cmp eax, ecx
jb 0x42b653
push edx
push eax
call fcn.0040f449
pop ecx
pop ecx
mov ecx, dword [ebp - 0xa4]
cwde
cmp eax, dword [ebx + 0xc]
push 1
pop eax
cmovl ecx, eax
mov dword [ebp - 0xa4], ecx
jmp 0x42aeac
mov ecx, dword [ebp - 0xa4]
jmp 0x42aeac
inc dword [edi + 0xac]
mov eax, dword [edi + 0x60]
lea edx, [ebp - 0xa8]
mov ecx, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
xor eax, eax
inc eax
mov dword [ebp - 0xa8], eax
cmp byte [esi], al
jne 0x42b689
mov ecx, esi
call fcn.0042f98e
jmp 0x42b699
mov ecx, dword [esi + 0x28]
call fcn.0041c8c5
xor ecx, ecx
mov byte [esi + 3], cl
mov dword [esi + 0x1c], ecx
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x429104
mov al, byte [ebp - 0xa8]
mov byte [esi + 2], al
cmp dword [ebp - 0xa8], 0
jmp 0x42927f
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
mov edx, esi
mov ecx, dword [ebp - 0x14]
call fcn.0042f9de
jmp 0x42b6e2
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
push dword [ebx + 0xc]
mov esi, dword [eax + ecx*4]
push dword [esi + 0x28]
call dword [ebx + 0x10]
pop ecx
pop ecx
mov dword [ebp - 0x1c], eax
xor ecx, ecx
mov dword [esi + 0x1c], ecx
test eax, eax
jne 0x42b701
mov byte [esi + 2], cl
movzx eax, word [ebx + 2]
inc dword [edi + eax*4 + 0xa4]
jmp 0x42c9b5
cmp eax, 0x65
jne 0x429104
mov eax, ecx
mov dword [ebp - 0x1c], eax
xor eax, eax
inc eax
mov byte [esi + 2], al
jmp 0x42c014
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
imul esi, dword [ebx + 8], 0x28
mov ecx, dword [eax + ecx*4]
xor eax, eax
inc eax
mov dword [ebp - 0x24], ecx
add esi, dword [ebp - 0x18]
test byte [ebx + 2], al
je 0x42b738
inc dword [edi + 0x2c]
mov eax, 0x4000
test word [esi + 8], ax
je 0x42b755
mov ecx, esi
call fcn.00422452
test eax, eax
jne 0x429104
mov ecx, dword [ebp - 0x24]
cmp byte [ebx], 0x83
jne 0x42b769
mov edx, esi
call fcn.0042ee6b
mov esi, dword [ebp - 0x18]
jmp 0x42aaa4
mov eax, dword [esi + 0xc]
cdq
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xec], edx
mov eax, dword [esi + 0x10]
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0xf8], eax
imul eax, dword [ebx + 0xc], 0x28
push 0x10
pop edx
add eax, esi
mov dword [ebp - 0xe4], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0xe0], ax
movzx eax, word [ebx + 2]
test dl, al
je 0x42b7ac
mov edx, dword [ecx + 0x20]
jmp 0x42b7ae
xor edx, edx
mov ecx, dword [ecx + 0x28]
and eax, 0xa
push edx
push eax
lea edx, [ebp - 0xf8]
call fcn.0041fd58
pop ecx
pop ecx
mov ecx, dword [ebp - 0x24]
xor edx, edx
mov dword [ecx + 0x1c], edx
jmp 0x42aaa4
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0x150], eax
mov ax, word [ebx + 0xc]
mov word [ebp - 0x148], ax
imul eax, dword [ebx + 8], 0x28
mov byte [ebp - 0x146], dl
mov dword [ebp - 0x3c], ecx
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x14c], eax
lea eax, [ebp - 0x108]
push eax
push edx
push edx
push edx
lea edx, [ebp - 0x150]
call fcn.0041c945
add esp, 0x10
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x429104
cmp dword [ebp - 0x108], eax
jne 0x42b84b
mov ecx, dword [ebp - 0x3c]
push 4
pop eax
mov dl, al
call fcn.004200e7
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x429104
xor ecx, ecx
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x20], ecx
jmp 0x4285fa
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
mov eax, dword [esi + 0x28]
cmp byte [eax], 0
je 0x42b87d
mov ecx, esi
call fcn.00425518
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x429104
jmp 0x42b882
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp byte [esi + 2], 0
jne 0x42b90d
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0xd0]
xorps xmm0, xmm0
movlpd qword [ebp - 0xd0], xmm0
mov edx, dword [esi + 0x28]
push eax
call fcn.00426552
mov dword [ebp - 0x1c], eax
pop ecx
test eax, eax
jne 0x429104
cmp byte [ebx], 0x86
jne 0x42b8ee
mov ecx, dword [ebx + 0xc]
mov eax, dword [edi + 0x60]
mov edx, dword [eax + ecx*4]
xor eax, eax
mov byte [edx + 2], al
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xcc]
mov dword [edx + 0x40], eax
xor eax, eax
inc eax
mov dword [edx + 0x44], ecx
mov byte [edx + 3], al
mov eax, dword [ebx + 0x10]
mov dword [edx + 0x18], eax
mov dword [edx + 0x24], esi
jmp 0x4285fa
mov edx, ebx
mov ecx, edi
call fcn.0042844b
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xcc]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp 0x4285fa
imul eax, dword [ebx + 8], 0x28
mov ecx, 0x2400
mov esi, dword [ebp - 0x18]
add eax, esi
test word [eax + 8], cx
je 0x42b92d
mov ecx, eax
call fcn.004225d8
jmp 0x4285fd
xor ecx, ecx
inc ecx
jmp 0x428ee1
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
cmp byte [ebp - 0x31], 0x27
mov edx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x14]
mov eax, dword [edx + 0x2c]
mov dword [ebp - 0x160], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x158], ax
sbb al, al
mov byte [ebp - 0x156], al
imul eax, dword [ebx + 0xc], 0x28
add eax, esi
mov dword [ebp - 0x15c], eax
xor eax, eax
mov dword [ebp - 0xb0], eax
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp - 0x160]
push eax
call fcn.00426629
pop ecx
pop ecx
xor ecx, ecx
mov dword [ebp - 0x1c], eax
inc ecx
test byte [ebx], cl
mov ecx, dword [ebp - 0xb0]
je 0x42b99e
neg ecx
jmp 0x42b9a2
mov eax, dword [ebp - 0x1c]
inc ecx
mov dword [ebp - 0xb0], ecx
test eax, eax
jne 0x429104
test ecx, ecx
jg 0x42cdfa
jmp 0x4285fd
mov edx, ebx
mov ecx, edi
call fcn.0042844b
mov esi, eax
xor eax, eax
inc eax
mov word [esi + 8], ax
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0xc0]
inc ecx
cmp dword [eax + 0xb4], ecx
jg 0x42cf55
mov eax, dword [ebx + 0xc]
xor ecx, ecx
mov edx, dword [ebx + 4]
mov dword [ebp - 0xac], ecx
lea ecx, [ebp - 0xac]
push ecx
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x24], eax
add eax, eax
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0042094a
pop ecx
mov dword [ebp - 0x1c], eax
push 4
pop eax
mov word [esi + 8], ax
mov eax, dword [ebp - 0xac]
cdq
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], edx
test eax, eax
jne 0x429104
cmp dword [ebp - 0xac], eax
je 0x4285fa
push dword [ebx + 4]
mov edx, dword [ebp - 0x24]
push dword [ebp - 0xac]
mov ecx, dword [ebp - 0x14]
call fcn.0043cd37
mov al, byte [ebp - 0x24]
pop ecx
inc al
pop ecx
mov byte [ebp - 0x75], al
jmp 0x4285fa
xor ecx, ecx
lea eax, [ebp - 0x24]
xor edx, edx
cmp dword [ebx + 0xc], edx
mov dword [ebp - 0x24], edx
mov edx, dword [ebx + 4]
cmove eax, ecx
mov ecx, dword [ebp - 0x14]
push eax
mov eax, dword [ebx + 8]
add eax, eax
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0042075a
pop ecx
xor ecx, ecx
mov dword [ebp - 0x1c], eax
cmp dword [ebx + 0xc], ecx
je 0x42aaa7
mov edx, dword [ebp - 0x24]
add dword [edi + 0x2c], edx
mov ecx, dword [ebx + 0xc]
test ecx, ecx
jle 0x42aaa7
imul ecx, ecx, 0x28
mov eax, edx
cdq
add dword [ecx + esi], eax
mov eax, dword [ebp - 0x1c]
adc dword [ecx + esi + 4], edx
jmp 0x42aaa7
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
xor eax, eax
inc eax
cmp byte [ecx], al
jne 0x42badc
mov edx, dword [ecx + 0x28]
mov ecx, dword [ebp - 0x14]
call fcn.0042e5d9
jmp 0x4285fd
mov ecx, dword [ecx + 0x28]
call fcn.004207b1
jmp 0x42aaa4
mov edx, ebx
mov ecx, edi
call fcn.0042844b
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0xa0]
push dword [ebx + 0xc]
mov esi, eax
shl ecx, 4
xor eax, eax
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x14]
add ecx, dword [eax + 0x10]
mov ecx, dword [ecx + 4]
call fcn.004205d5
mov dword [ebp - 0x1c], eax
pop ecx
test eax, eax
jne 0x429104
mov eax, dword [ebp - 0xa0]
jmp 0x42941f
inc byte [eax + 0x5a]
xor ecx, ecx
push ecx
push ecx
push ecx
push dword [ebx + 0x10]
push eax
call fcn.004467fc
mov ecx, dword [ebp - 0x14]
add esp, 0x14
dec byte [ecx + 0x5a]
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x429107
jmp 0x42b396
cmp dword [ebx + 0x10], 0
mov esi, dword [ebx + 4]
jne 0x42bba6
mov eax, dword [eax + 0x10]
mov ecx, esi
add ecx, ecx
push dword [eax + ecx*8 + 0xc]
call fcn.0043fa03
mov eax, dword [ebp - 0x14]
mov edx, esi
mov esi, dword [ebp - 0x14]
pop ecx
mov ecx, esi
and dword [eax + 0x18], 0xffffffef
xor eax, eax
inc eax
push eax
lea eax, [edi + 0x7c]
push eax
call fcn.00449c5a
pop ecx
pop ecx
xor ecx, ecx
mov dword [ebp - 0x1c], eax
inc ecx
or dword [esi + 0x18], ecx
and dword [edi + 0x98], 0xfffffffc
jmp 0x42bc5f
mov ecx, dword [ebp - 0x14]
push dword [ebx + 0x10]
mov dword [ebp - 0xe8], eax
lea eax, [edi + 0x7c]
mov dword [ebp - 0xe4], eax
xor eax, eax
mov dword [ebp - 0xe0], esi
add esi, esi
mov dword [ebp - 0xd8], eax
mov eax, dword [ecx + 0x10]
push str.sqlite_master
push dword [eax + esi*8]
push str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
push ecx
call fcn.0040d803
mov esi, eax
add esp, 0x14
test esi, esi
je 0x42cf66
mov eax, dword [ebp - 0x14]
xor ecx, ecx
inc ecx
mov byte [eax + 0xa5], cl
xor ecx, ecx
push ecx
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0xd4], ecx
lea ecx, [ebp - 0xe8]
push ecx
push fcn.00449ac8
push esi
push eax
call fcn.004467fc
add esp, 0x14
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x42bc48
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x42bc48
cmp dword [ebp - 0xd4], eax
jne 0x42bc48
mov ecx, 0x15f51
call fcn.0046629a
mov dword [ebp - 0x1c], eax
mov edx, esi
mov esi, dword [ebp - 0x14]
mov ecx, esi
call fcn.0040bb95
xor eax, eax
mov byte [esi + 0xa5], al
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x42cf6c
jmp 0x4285fa
mov edx, dword [ebx + 4]
mov ecx, eax
call fcn.00439aa3
jmp 0x42aaa4
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, eax
call fcn.0043b057
jmp 0x4289d7
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, eax
call fcn.0043ad0b
jmp 0x4289d7
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, eax
call fcn.00451af6
jmp 0x4289d7
imul eax, dword [ebx + 4], 0x28
imul esi, dword [ebx + 0xc], 0x28
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebx + 0x10]
add edx, 4
add eax, dword [ebp - 0x18]
add esi, dword [ebp - 0x18]
mov ecx, dword [ecx + 0x10]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x10c]
push eax
mov eax, dword [esi]
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.004212ff
mov ecx, dword [ebp - 0x20]
add esp, 0xc
mov dword [ebp - 0x3c], eax
call fcn.004229f3
mov eax, dword [ebp - 0x10c]
test eax, eax
je 0x42bd2d
mov ecx, dword [ebp - 0x3c]
test ecx, ecx
je 0x42cf80
dec eax
cdq
sub dword [esi], eax
push fcn.0040bb31
sbb dword [esi + 4], edx
xor eax, eax
inc eax
mov edx, ecx
mov ecx, dword [ebp - 0x20]
push eax
push 0xffffffffffffffff
call fcn.00422c5f
add esp, 0xc
movzx edx, byte [ebp - 0x6c]
mov ecx, dword [ebp - 0x20]
call fcn.004222a7
jmp 0x4285fa
imul esi, dword [ebx + 4], 0x28
imul eax, dword [ebx + 8], 0x28
push 0x10
pop ecx
add esi, dword [ebp - 0x18]
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x3c], eax
test byte [esi + 8], cl
jne 0x42bd69
mov ecx, esi
call fcn.00422ac6
test eax, eax
jne 0x42cf80
mov eax, dword [ebp - 0x3c]
push dword [eax + 4]
mov ecx, dword [esi + 0x10]
push dword [eax]
call fcn.00412fd1
jmp 0x429644
imul esi, dword [ebx + 4], 0x28
push 0x10
pop eax
add esi, dword [ebp - 0x18]
test byte [esi + 8], al
je 0x42bdbf
mov ecx, dword [esi + 0x10]
lea edx, [ebp - 0x138]
call fcn.004131ee
test eax, eax
je 0x42bdbf
imul ecx, dword [ebx + 0xc], 0x28
push dword [ebp - 0x134]
mov esi, dword [ebp - 0x18]
push dword [ebp - 0x138]
add ecx, esi
call fcn.00422a5f
pop ecx
pop ecx
xor ecx, ecx
jmp 0x42c017
mov ecx, esi
call fcn.004229f3
jmp 0x42c9b5
imul esi, dword [ebx + 4], 0x28
imul eax, dword [ebx + 0xc], 0x28
mov ecx, dword [ebx + 0x10]
push 0x10
pop edx
add esi, dword [ebp - 0x18]
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x24], ecx
test byte [esi + 8], dl
jne 0x42bdff
mov ecx, esi
call fcn.00422ac6
test eax, eax
jne 0x42cf80
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x42be25
push dword [eax + 4]
mov edx, ecx
mov ecx, dword [esi + 0x10]
push dword [eax]
call fcn.00413246
pop ecx
pop ecx
test eax, eax
jne 0x42cdfa
cmp dword [ebp - 0x24], eax
jl 0x4285fa
mov eax, dword [ebp - 0x54]
jmp 0x42bd69
imul eax, dword [ebx + 0xc], 0x28
xor ecx, ecx
mov esi, dword [ebx + 0x10]
mov dword [ebp - 0x64], esi
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
cmp word [ebx + 2], cx
je 0x42be63
mov ecx, dword [esi + 0x14]
mov eax, dword [edi + 0xc8]
test eax, eax
je 0x42be60
cmp dword [eax + 0x1c], ecx
je 0x4285fa
mov eax, dword [eax + 4]
jmp 0x42be4e
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x14]
mov ecx, dword [edi + 0xd0]
cmp ecx, dword [edx + 0x94]
jge 0x42cf9e
push 0x10
pop edx
test byte [eax + 8], dl
jne 0x42bf6e
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 8]
add eax, edx
test edx, edx
lea ecx, [eax + 1]
cmovne ecx, eax
mov dword [ebp - 0x24], 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 0x42beae
add eax, 7
sar eax, 3
lea eax, [eax + ecx*4]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x3c], eax
cdq
push edx
push eax
call fcn.0040bd6f
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x42cf80
mov ecx, dword [ebp - 0x20]
call fcn.0042263b
mov eax, dword [ebp - 0x20]
mov ecx, 0x410
sub ebx, dword [ebp - 0x60]
push 0x14
mov word [eax + 8], cx
mov ecx, dword [ebp - 0x3c]
mov dword [eax + 0xc], ecx
mov ecx, dword [ebp - 0x24]
mov dword [eax + 0x10], esi
mov dword [eax + 0x24], 0x424089
mov eax, dword [ebp - 0x64]
mov dword [esi + 0x3c], ecx
mov dword [esi], edi
mov eax, dword [eax + 0xc]
mov dword [esi + 0x40], eax
mov eax, ebx
cdq
pop ebx
idiv ebx
mov ebx, dword [ebp - 0x64]
mov dword [esi + 0x30], eax
mov eax, dword [edi + 0x58]
mov dword [esi + 0x10], eax
mov eax, dword [edi + 0x18]
mov dword [esi + 0x38], eax
mov eax, dword [edi + 0x60]
mov dword [esi + 0x14], eax
mov eax, dword [edi + 0x1c]
mov dword [esi + 0x2c], eax
mov eax, dword [edi + 0x68]
mov dword [esi + 8], eax
mov eax, dword [edi + 0x6c]
mov dword [esi + 0x34], eax
mov eax, dword [ebx + 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 0x42bf66
mov edx, dword [ebp - 0x14]
mov ebx, 0x80
mov word [eax + 8], bx
mov dword [eax + 0x20], edx
add eax, 0x28
cmp eax, ecx
jne 0x42bf55
mov ebx, dword [ebp - 0x64]
mov ecx, dword [edi + 0xd0]
jmp 0x42bf74
mov esi, dword [eax + 0x10]
mov ebx, dword [ebp - 0x64]
lea eax, [ecx + 1]
mov ecx, dword [ebp - 0x14]
mov dword [edi + 0xd0], eax
lea edx, [esi + 0x50]
mov eax, dword [edi + 0xc8]
mov dword [esi + 4], eax
mov eax, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x2c]
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ecx
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x44], eax
mov eax, dword [edi]
push 7
mov dword [ebp - 0x18], edx
mov eax, dword [eax + 0x64]
mov dword [esi + 0x48], eax
mov eax, dword [edi + 0xdc]
mov dword [esi + 0x28], eax
xor eax, eax
mov dword [edi + 0xdc], eax
mov dword [edi + 0x2c], eax
mov dword [edi + 0x58], edx
mov dword [edi + 0xc8], 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, edx
mov dword [edi + 0x60], ecx
mov eax, dword [ebx + 0xc]
lea ecx, [ecx + eax*4]
mov dword [esi + 0x18], ecx
mov eax, dword [ebx + 4]
pop esi
add eax, esi
cdq
and edx, esi
add eax, edx
sar eax, 3
push eax
xor eax, eax
push eax
push ecx
call fcn.00469920
mov ecx, dword [ebx]
add esp, 0xc
mov dword [edi + 0x68], ecx
mov eax, dword [ebx + 4]
mov dword [ebp - 0x60], ecx
mov dword [edi + 0x6c], eax
lea ebx, [ecx - 0x14]
xor ecx, ecx
mov esi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x110], ecx
je 0x42c9f7
mov ecx, dword [ebp - 0x14]
push 9
pop eax
push 7
cmp byte [ecx + 0x51], 0
pop ecx
cmovne eax, ecx
mov ecx, eax
mov dword [ebp - 0x1c], eax
mov dword [edi + 0x28], eax
call fcn.00464c1b
jmp 0x42cfc0
mov edx, ebx
mov ecx, edi
call fcn.0042844b
mov esi, dword [edi + 0xc8]
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 0x429b24
mov eax, dword [eax + 0x20]
xor ecx, ecx
and eax, 0x80000
or eax, ecx
mov eax, dword [ebx + 8]
cdq
je 0x42c0a0
mov ecx, dword [ebp - 0x14]
add dword [ecx + 0x1e0], eax
mov eax, ecx
adc dword [eax + 0x1e4], edx
jmp case.0x42854c.86
cmp dword [ebx + 4], ecx
je 0x42c0bb
mov ecx, dword [ebp - 0x14]
add dword [ecx + 0x1d8], eax
mov eax, ecx
adc dword [eax + 0x1dc], edx
jmp case.0x42854c.86
add dword [edi + 0x40], eax
adc dword [edi + 0x44], edx
jmp 0x4285fd
xor ecx, ecx
cmp dword [ebx + 4], ecx
je 0x42c0e4
mov ecx, dword [ebp - 0x14]
mov eax, dword [eax + 0x1d8]
or eax, dword [ecx + 0x1dc]
jne 0x42b396
jmp 0x42c0f3
mov eax, dword [edi + 0x40]
or eax, dword [edi + 0x44]
jne 0x4285fd
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x1e0]
or eax, dword [ecx + 0x1e4]
je 0x42cdfa
jmp 0x42b396
mov ecx, dword [edi + 0xc8]
test ecx, ecx
jne 0x42c158
imul eax, dword [ebx + 4], 0x28
add eax, esi
mov ecx, eax
mov dword [ebp - 0x24], eax
call fcn.004227c3
imul esi, dword [ebx + 8], 0x28
add esi, dword [ebp - 0x18]
mov ecx, esi
call fcn.004227c3
mov eax, dword [ebp - 0x24]
mov edx, dword [esi + 4]
mov ecx, dword [esi]
cmp dword [eax + 4], edx
jg 0x4285fa
jl 0x42b903
cmp dword [eax], ecx
jae 0x4285fa
jmp 0x42b903
mov ecx, eax
mov eax, dword [ecx + 4]
test eax, eax
jne 0x42c156
imul eax, dword [ebx + 4], 0x28
add eax, dword [ecx + 0x10]
jmp 0x42c11a
imul ecx, dword [ebx + 4], 0x28
xor edx, edx
add ecx, esi
mov esi, dword [ecx]
cmp dword [ecx + 4], edx
jl 0x4285fa
jg 0x42c187
xor eax, eax
cmp esi, eax
jbe 0x4285fa
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 0x42cdfa
imul eax, dword [ebx + 0xc], 0x28
mov edx, ebx
imul esi, dword [ebx + 4], 0x28
mov ecx, edi
add eax, dword [ebp - 0x18]
add esi, dword [ebp - 0x18]
mov dword [ebp - 0x3c], eax
call fcn.0042844b
mov ecx, dword [esi + 4]
mov edx, dword [esi]
xor esi, esi
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x100], edx
mov dword [ebp - 0xfc], ecx
cmp ecx, esi
jl 0x42c221
jg 0x42c1d8
xor ecx, ecx
cmp edx, ecx
jbe 0x42c221
mov eax, dword [ebp - 0x3c]
xor edx, edx
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp eax, edx
jl 0x42c1ec
jg 0x42c1fa
cmp ecx, edx
ja 0x42c1fa
xorps xmm0, xmm0
movlpd qword [ebp - 0x40], xmm0
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x40]
push eax
push ecx
lea ecx, [ebp - 0x100]
call fcn.0040f209
pop ecx
pop ecx
test eax, eax
jne 0x42c21e
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0xfc]
jmp 0x42b54b
mov eax, dword [ebp - 0x24]
or dword [eax], 0xffffffff
or dword [eax + 4], 0xffffffff
jmp 0x4285fa
imul ecx, dword [ebx + 4], 0x28
add ecx, esi
mov edx, dword [ecx]
mov eax, edx
mov esi, dword [ecx + 4]
or eax, esi
je 0x4285fa
xor eax, eax
cmp esi, eax
jl 0x42cdfa
jg 0x42c256
cmp edx, eax
jbe 0x42cdfa
sub edx, 1
mov dword [ecx], edx
sbb esi, eax
mov dword [ecx + 4], esi
jmp 0x42cdfa
imul edx, dword [ebx + 4], 0x28
add edx, esi
mov ecx, dword [edx + 4]
mov eax, dword [edx]
cmp ecx, 0x80000000
jl 0x42c289
jg 0x42c27e
test eax, eax
je 0x42c289
sub eax, 1
mov dword [edx], eax
sbb ecx, 0
mov dword [edx + 4], ecx
or eax, ecx
jmp 0x429758
movzx eax, word [ebx + 2]
xor ecx, ecx
mov dword [ebp - 0x24], eax
push ecx
mov ecx, dword [ebp - 0x14]
lea eax, [eax*4 + 0x44]
push eax
call fcn.0040bddd
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x42cf80
mov edx, dword [ebp - 0x14]
xor eax, eax
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x24]
add eax, 7
lea ecx, [esi + eax*4]
xor eax, eax
inc eax
mov dword [esi], ecx
push eax
call fcn.004229df
mov eax, dword [ebx + 0x10]
mov dword [esi + 4], eax
mov eax, ebx
sub eax, dword [ebp - 0x60]
pop ecx
cdq
push 0x14
pop ecx
idiv ecx
mov dword [esi + 0xc], edi
mov dword [esi + 0x10], eax
xor eax, eax
mov byte [esi + 0x18], al
mov dword [esi + 0x14], eax
mov eax, dword [ebp - 0x24]
mov byte [esi + 0x19], al
mov word [ebx], 0xf09b
mov dword [ebx + 0x10], esi
imul edx, dword [ebx + 0xc], 0x28
mov esi, dword [ebx + 0x10]
add edx, dword [ebp - 0x18]
mov dword [ebp - 0x3c], edx
cmp dword [esi + 8], edx
je 0x42c341
movzx ecx, byte [esi + 0x19]
sub ecx, 1
mov dword [esi + 8], edx
js 0x42c341
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 - 0x18]
mov dword [edi], eax
sub edi, edx
sub ecx, 1
jns 0x42c327
mov edi, dword [ebp - 0x44]
mov edx, dword [ebp - 0x3c]
inc dword [edx + 0xc]
lea eax, [esi + 0x1c]
cmp dword [ebx + 4], 0
movzx edx, byte [esi + 0x19]
mov ecx, dword [esi + 4]
push eax
push edx
push esi
je 0x42c35c
call dword [ecx + 0x1c]
jmp 0x42c35f
call dword [ecx + 0x10]
mov eax, dword [esi + 0x14]
add esp, 0xc
test eax, eax
je 0x4285fa
jle 0x42c38c
push dword [esi]
call fcn.00426ac0
pop ecx
push eax
push 0x535b9c
push edi
call fcn.0042339b
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0x1c], eax
cmp byte [esi + 0x18], 0
je 0x42c3b0
mov eax, dword [ebx - 0x10]
test eax, eax
je 0x42c3ab
xor ecx, ecx
push ecx
inc ecx
push ecx
imul ecx, eax, 0x28
add ecx, dword [ebp - 0x18]
call fcn.00422a5f
pop ecx
pop ecx
xor eax, eax
mov byte [esi + 0x18], al
mov ecx, dword [esi]
call fcn.0042263b
mov eax, dword [esi]
xor ecx, ecx
inc ecx
mov word [eax + 8], cx
xor eax, eax
mov dword [esi + 0x14], eax
jmp 0x4290f9
imul esi, dword [ebx + 4], 0x28
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
add esi, ecx
test eax, eax
je 0x42c3f4
push edx
imul edx, eax, 0x28
add edx, ecx
mov ecx, esi
call fcn.00422599
imul esi, dword [ebx + 0xc], 0x28
pop ecx
add esi, dword [ebp - 0x18]
jmp 0x42c3fb
mov ecx, esi
call fcn.00422531
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x42cfb9
movzx edx, byte [ebp - 0x6c]
mov ecx, esi
call fcn.004222a7
mov ecx, esi
call fcn.00422b37
test eax, eax
je 0x4285fa
push str.string_or_blob_too_big
push edi
call fcn.0042339b
pop ecx
pop ecx
push 0x12
jmp 0x42ced0
mov edx, dword [ebx + 4]
xor ecx, ecx
or dword [ebp - 8], 0xffffffff
or dword [ebp - 0xc], 0xffffffff
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 8]
push ecx
lea ecx, [ebp - 0xc]
push ecx
push dword [ebx + 8]
mov ecx, eax
call fcn.004654a0
add esp, 0xc
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x42c474
push 5
pop ecx
cmp eax, ecx
jne 0x429104
xor eax, eax
mov dword [ebp - 0x1c], eax
inc eax
mov dword [ebp - 0x10], eax
imul esi, dword [ebx + 0xc], 0x28
add esi, dword [ebp - 0x18]
xor eax, eax
mov edi, eax
mov eax, dword [ebp + edi*4 - 0x10]
mov ecx, esi
cdq
push edx
push eax
call fcn.00422a5f
inc edi
add esi, 0x28
pop ecx
pop ecx
cmp edi, 3
jl 0x42c47f
jmp 0x428867
mov edx, ebx
mov ecx, edi
call fcn.0042844b
mov edx, dword [ebx + 4]
mov esi, dword [ebx + 0xc]
add edx, edx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx + edx*8 + 4]
mov ecx, eax
mov dword [ebp - 0x3c], eax
call fcn.00420aeb
mov ecx, eax
mov dword [ebp - 0x2c], eax
call fcn.00416d24
mov ecx, dword [ebp - 0x2c]
cmp esi, 0xffffffff
mov dword [ebp - 0x20], eax
cmove esi, eax
call fcn.00416d29
mov ecx, dword [ebp - 0x2c]
test eax, eax
cmove esi, dword [ebp - 0x20]
xor eax, eax
lea edx, [eax + 1]
call fcn.00416ae7
push 5
pop ecx
cmp esi, ecx
jne 0x42c561
mov ecx, eax
call fcn.0040e240
test eax, eax
je 0x42c511
mov ecx, dword [ebp - 0x2c]
call fcn.00416d4b
test eax, eax
jne 0x42c55e
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x42c51e
mov esi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x2c]
mov edx, esi
call fcn.00416c57
mov esi, dword [ebp - 0x24]
mov ecx, 0xa02
mov word [esi + 8], cx
mov ecx, eax
call fcn.004472db
mov ecx, eax
mov dword [esi + 0x10], eax
call fcn.0040e240
movzx edx, byte [ebp - 0x6c]
mov ecx, esi
mov dword [esi + 0xc], eax
xor eax, eax
inc eax
mov byte [esi + 0xa], al
call fcn.004222a7
jmp 0x4290f9
push 5
pop ecx
mov eax, dword [ebp - 0x20]
cmp esi, eax
je 0x42c514
cmp eax, ecx
je 0x42c570
cmp esi, ecx
jne 0x42c514
mov ecx, dword [ebp - 0x14]
cmp byte [ecx + 0x4f], 0
je 0x42cfd1
xor edx, edx
inc edx
cmp dword [ecx + 0xb4], edx
jg 0x42cfd1
cmp eax, 5
jne 0x42c5b2
mov edx, ecx
mov ecx, dword [ebp - 0x2c]
call fcn.00416e24
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x42c51b
mov ecx, dword [ebp - 0x2c]
mov edx, esi
call fcn.00416c57
jmp 0x42c5d0
push 4
pop ecx
cmp eax, ecx
jne 0x42c5c6
mov ecx, dword [ebp - 0x2c]
push 2
pop eax
mov edx, eax
call fcn.00416c57
cmp dword [ebp - 0x1c], 0
jne 0x42c51b
mov ecx, dword [ebp - 0x3c]
xor edx, edx
push 5
pop eax
cmp esi, eax
sete dl
inc edx
call fcn.004217c0
mov dword [ebp - 0x1c], eax
jmp 0x42c517
mov eax, dword [ebx + 8]
test eax, eax
je 0x42c5f9
imul eax, eax, 0x28
add eax, esi
jmp 0x42c5fb
xor eax, eax
mov edx, dword [ebp - 0x14]
lea ecx, [edi + 0x7c]
push eax
push dword [ebx + 4]
call fcn.00453b06
pop ecx
jmp 0x42aaa3
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
call fcn.0041bb31
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x4285fd
cmp eax, 0x65
jne 0x429104
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x42cdfa
xor ecx, ecx
cmp dword [ebx + 4], ecx
jne 0x42c655
mov edx, dword [ebx + 8]
mov ecx, eax
call fcn.004266b0
jmp 0x4285fd
mov eax, dword [ebx + 8]
inc eax
xor eax, dword [edi + 0x98]
and eax, 3
xor dword [edi + 0x98], eax
jmp 0x4285fd
mov al, byte [ebx + 0xc]
mov byte [ebp - 0x11c], al
test al, al
jne 0x42c68e
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20]
and eax, 0x400
mov dword [ebp - 0x40], eax
jne 0x4285fd
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 4]
push dword [ebp - 0x11c]
mov edx, dword [ebx + 8]
add eax, eax
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004216d6
mov dword [ebp - 0x1c], eax
pop ecx
test eax, eax
je 0x4285fd
cmp al, 6
jne 0x429104
push dword [ebx + 0x10]
push str.database_table_is_locked:__s
jmp 0x42cfc6
mov esi, dword [ebx + 0x10]
mov ecx, eax
mov edx, esi
call fcn.00454b74
mov dword [ebp - 0x1c], eax
test esi, esi
je 0x4290fc
mov edx, dword [esi + 8]
mov ecx, edi
call fcn.00426760
jmp 0x4290f9
imul edx, dword [ebx + 8], 0x28
lea edi, [ebp - 0x1f0]
push 0xa
pop ecx
xor eax, eax
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x14]
lea ecx, [ebp - 0x1f0]
add edx, esi
mov dword [ebp - 0x1d0], edi
call fcn.00422bcc
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1f0]
push eax
call fcn.00426ac0
pop ecx
test eax, eax
je 0x42c744
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebx + 4]
add ecx, 0x7c
push ecx
push eax
mov ecx, edi
call fcn.0045480c
pop ecx
pop ecx
mov dword [ebp - 0x1c], eax
lea ecx, [ebp - 0x1f0]
call fcn.0042263b
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x44]
jmp 0x42aaa7
inc dword [eax + 0xc0]
mov ecx, eax
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
call fcn.00454a82
pop ecx
mov ecx, dword [ebp - 0x14]
dec dword [ecx + 0xc0]
jmp 0x42bb4a
xor eax, eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebx + 0x10]
mov esi, dword [eax + 8]
test esi, esi
je 0x42cffb
mov eax, dword [esi]
mov dword [ebp - 0x3c], eax
test eax, eax
je 0x42cffb
lea ecx, [ebp - 0x20]
push ecx
push esi
call dword [eax + 0x18]
pop ecx
pop ecx
mov edx, esi
mov dword [ebp - 0x1c], eax
mov ecx, edi
call fcn.00426760
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x429104
mov eax, dword [ebp - 0x20]
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.00428187
add esp, 0xc
test eax, eax
je 0x42cfef
mov ecx, dword [ebp - 0x20]
mov dword [eax + 0x28], ecx
inc dword [esi + 4]
jmp 0x4285fa
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
imul edx, dword [ebx + 0xc], 0x28
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x64], eax
add edx, esi
mov esi, dword [eax + 0x28]
mov ecx, dword [edx + 0x28]
mov eax, dword [esi]
mov dword [ebp - 0x20], eax
mov eax, dword [eax]
mov dword [ebp - 0x54], eax
mov eax, dword [edx]
mov dword [ebp - 0x3c], eax
mov eax, dword [edi + 0x5c]
mov dword [ebp - 0x24], eax
xor eax, eax
test ecx, ecx
jle 0x42c835
mov edi, dword [ebp - 0x24]
add edx, 0x50
mov dword [edi + eax*4], edx
inc eax
add edx, 0x28
cmp eax, ecx
jl 0x42c827
mov edi, dword [ebp - 0x44]
push dword [ebp - 0x24]
mov eax, dword [ebp - 0x54]
push ecx
push dword [ebx + 0x10]
push dword [ebp - 0x3c]
push esi
call dword [eax + 0x20]
mov edx, dword [ebp - 0x20]
add esp, 0x14
mov ecx, edi
mov dword [ebp - 0x1c], eax
call fcn.00426760
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x429104
mov eax, dword [ebp - 0x54]
push esi
call dword [eax + 0x28]
pop ecx
mov ecx, dword [ebp - 0x64]
xor edx, edx
mov byte [ecx + 2], dl
test eax, eax
je 0x4285fa
jmp 0x42cdfa
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
imul eax, dword [ebx + 0xc], 0x28
mov dword [ebp - 0x3c], ecx
add esi, eax
cmp byte [ecx + 2], 0
je 0x42c8a2
mov ecx, esi
call fcn.004229f3
jmp 0x4285fa
mov eax, dword [ecx + 0x28]
lea edi, [ebp - 0xf0]
push 8
mov eax, dword [eax]
mov dword [ebp - 0x54], eax
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
pop eax
mov ecx, eax
xor eax, eax
rep stosd dword es:[edi], eax
xor ecx, ecx
mov dword [ebp - 0xf0], esi
inc ecx
test byte [ebx + 2], cl
je 0x42c8de
mov ecx, esi
call fcn.004229f3
xor eax, eax
mov dword [esi], eax
mov eax, 0x4001
jmp 0x42c8f0
mov ax, word [esi + 8]
mov edx, 0x3e40
and ax, dx
or ax, cx
movzx eax, ax
mov word [esi + 8], ax
lea eax, [ebp - 0xf0]
push dword [ebx + 8]
push eax
mov eax, dword [ebp - 0x3c]
push dword [eax + 0x28]
mov eax, dword [ebp - 0x24]
call dword [eax + 0x2c]
mov edi, dword [ebp - 0x44]
add esp, 0xc
mov edx, dword [ebp - 0x54]
mov ecx, edi
mov dword [ebp - 0x1c], eax
call fcn.00426760
cmp dword [ebp - 0xdc], 0
jle 0x42c945
push esi
call fcn.00426ac0
pop ecx
push eax
push 0x535b9c
push edi
call fcn.0042339b
mov eax, dword [ebp - 0xdc]
add esp, 0xc
mov dword [ebp - 0x1c], eax
movzx edx, byte [ebp - 0x6c]
mov ecx, esi
call fcn.004222a7
mov ecx, esi
call fcn.00422b37
test eax, eax
jne 0x42c420
jmp 0x4290f9
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x3c], eax
cmp byte [eax + 2], 0
jne 0x4285fd
mov eax, dword [eax + 0x28]
push eax
mov esi, dword [eax]
mov ecx, dword [esi]
mov dword [ebp - 0x24], ecx
call dword [ecx + 0x24]
pop ecx
mov edx, esi
mov dword [ebp - 0x1c], eax
mov ecx, edi
call fcn.00426760
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x429104
mov eax, dword [ebp - 0x3c]
push dword [eax + 0x28]
mov eax, dword [ebp - 0x24]
call dword [eax + 0x28]
pop ecx
test eax, eax
jne 0x42c012
mov esi, dword [ebp - 0x18]
imul eax, dword [ebx + 8], 0x14
mov ebx, dword [ebp - 0x60]
add ebx, 0xffffffec
add ebx, eax
jmp 0x42bdb8
mov eax, dword [eax + 0x148]
test eax, eax
je 0x4285fd
mov ecx, dword [ebp - 0x14]
add edx, dword [ecx + 0x150]
push dword [ecx + 0x14c]
mov dword [ebp - 0x80], edx
call eax
pop ecx
test eax, eax
jne 0x42d002
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x80]
cmp dword [ebp - 0x9c], edx
jae 0x42c9c9
jmp case.0x42854c.86
mov eax, dword [eax + 0x20]
mov edx, 0x4000000
mov ecx, dword [ebp - 0x14]
and eax, edx
mov dword [ebp - 0x3c], eax
or dword [ecx + 0x20], edx
mov eax, dword [ecx + 0x24]
mov dword [ecx + 0x24], eax
mov eax, dword [ebx + 0x10]
imul esi, dword [ebx + 4], 0x28
mov eax, dword [eax + 8]
mov dword [ebp - 0x24], eax
xor eax, eax
add esi, dword [ebp - 0x18]
mov ecx, esi
lea edx, [eax + 1]
call fcn.004222a7
test eax, eax
jne 0x429104
mov ecx, dword [ebp - 0x24]
push dword [esi + 0x10]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x4c]
cmp dword [ebp - 0x3c], 0
pop ecx
pop ecx
mov dword [ebp - 0x1c], eax
jne 0x42ca6b
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x24]
and dword [ecx + 0x20], 0xfbffffff
mov dword [ecx + 0x24], eax
mov edx, dword [ebp - 0x24]
mov ecx, edi
call fcn.00426760
jmp 0x42a76e
cmp byte [eax + 0x51], 0
jne 0x42cf80
mov eax, dword [ebx + 0x10]
mov esi, dword [eax + 8]
test esi, esi
je 0x42cffb
mov eax, dword [esi]
mov dword [ebp - 0x3c], eax
test eax, eax
je 0x42cffb
mov edx, dword [ebx + 8]
xor ecx, ecx
cmp dword [eax + 0x34], ecx
mov eax, dword [ebp - 0x14]
je 0x42966d
mov al, byte [eax + 0x56]
mov byte [ebp - 0x31], al
mov eax, dword [edi + 0x5c]
mov dword [ebp - 0x24], eax
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x18]
test edx, edx
jle 0x42cad8
mov edi, dword [ebp - 0x24]
mov dword [edi + ecx*4], eax
add eax, 0x28
inc ecx
cmp ecx, edx
jl 0x42caca
mov edi, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x14]
mov al, byte [ebx + 2]
mov byte [ecx + 0x56], al
lea eax, [ebp - 0x140]
push eax
push dword [ebp - 0x24]
mov eax, dword [ebp - 0x3c]
push edx
push esi
call dword [eax + 0x34]
mov ecx, dword [ebp - 0x14]
add esp, 0x10
mov dword [ebp - 0x1c], eax
mov edx, esi
mov al, byte [ebp - 0x31]
mov byte [ecx + 0x56], al
mov ecx, edi
call fcn.00426760
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x42cb3b
xor ecx, ecx
cmp dword [ebx + 4], ecx
je 0x42cb33
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x13c]
mov dword [edx + 0x28], eax
mov eax, edx
mov dword [eax + 0x2c], ecx
mov eax, dword [ebp - 0x1c]
inc dword [edi + 0x2c]
jmp 0x4290fc
cmp al, 0x13
jne 0x42cb33
mov eax, dword [ebx + 0x10]
cmp byte [eax + 0x10], 0
je 0x42cb30
movzx ecx, word [ebx + 2]
push 4
pop eax
cmp cx, ax
jne 0x42d00f
xor eax, eax
jmp 0x42a912
mov edx, ebx
mov ecx, edi
call fcn.0042844b
mov edx, dword [ebx + 4]
mov esi, eax
mov eax, dword [ebp - 0x14]
add edx, edx
mov ecx, dword [eax + 0x10]
mov ecx, dword [ecx + edx*8 + 4]
call fcn.0041a64b
mov dword [esi], eax
xor eax, eax
mov dword [esi + 4], eax
jmp 0x4285fa
mov edx, ebx
mov ecx, edi
call fcn.0042844b
mov edx, dword [ebx + 4]
mov dword [ebp - 0x3c], eax
add edx, edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x10]
mov esi, dword [ecx + edx*8 + 4]
xor ecx, ecx
mov eax, ecx
cmp dword [ebx + 0xc], ecx
je 0x42cbbc
mov ecx, esi
call fcn.0041a64b
cmp eax, dword [ebx + 0xc]
cmovb eax, dword [ebx + 0xc]
mov edx, eax
mov ecx, esi
call fcn.0041b048
mov ecx, dword [ebp - 0x3c]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x4285fa
movzx eax, word [ebx + 2]
xor ecx, ecx
mov dword [ebp - 0x3c], eax
push ecx
mov ecx, dword [ebp - 0x14]
lea eax, [eax*4 + 0x1c]
push eax
call fcn.0040bddd
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x42cf80
xor eax, eax
mov dword [esi], eax
mov eax, ebx
mov ecx, dword [ebx + 0x10]
sub eax, dword [ebp - 0x60]
mov dword [esi + 4], ecx
push 0x14
cdq
pop ecx
idiv ecx
push 2
mov dword [esi + 0x10], eax
xor eax, eax
mov dword [esi + 0x14], eax
mov eax, dword [ebp - 0x3c]
mov byte [esi + 0x19], al
mov dword [esi + 0xc], edi
pop eax
add byte [ebx], al
mov byte [ebx + 1], 0xf0
mov dword [ebx + 0x10], esi
imul ecx, dword [ebx + 0xc], 0x28
mov esi, dword [ebx + 0x10]
add ecx, dword [ebp - 0x18]
mov dword [ebp - 0x20], ecx
cmp dword [esi], ecx
je 0x42cc6a
movzx edx, byte [esi + 0x19]
sub edx, 1
mov dword [esi], ecx
js 0x42cc6a
lea edi, [edx + 7]
push 4
lea edi, [esi + edi*4]
pop ecx
mov eax, dword [ebx + 8]
add eax, edx
imul eax, eax, 0x28
add eax, dword [ebp - 0x18]
mov dword [edi], eax
sub edi, ecx
sub edx, 1
jns 0x42cc50
mov edi, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x20]
mov ax, word [ecx + 8]
mov edx, 0x3e40
and ax, dx
xor edx, edx
inc edx
or ax, dx
mov word [ecx + 8], ax
lea eax, [esi + 0x1c]
mov ecx, dword [esi + 4]
push eax
movzx eax, byte [esi + 0x19]
push eax
push esi
call dword [ecx + 0x10]
mov eax, dword [esi + 0x14]
add esp, 0xc
test eax, eax
je 0x42cce0
jle 0x42ccba
push dword [ebp - 0x20]
call fcn.00426ac0
pop ecx
push eax
push 0x535b9c
push edi
call fcn.0042339b
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0x1c], eax
push dword [ebx + 4]
mov ecx, dword [ebp - 0x14]
lea edx, [edi + 0xdc]
push dword [esi + 0x10]
call fcn.00425378
xor eax, eax
mov dword [esi + 0x14], eax
mov eax, dword [ebp - 0x1c]
pop ecx
pop ecx
test eax, eax
jne 0x429104
mov esi, dword [ebp - 0x20]
test byte [esi + 8], 0x12
je 0x4285fa
jmp 0x42c406
mov eax, edx
jmp 0x42966d
mov cl, byte [eax + 0x58]
test cl, 0x41
je 0x42cdb1
push 0x10
pop eax
test byte [edi + 0x98], al
jne 0x42cdb1
mov eax, dword [ebx + 0x10]
test eax, eax
jne 0x42cd29
mov eax, dword [edi + 0xc0]
test eax, eax
je 0x42cdb1
test cl, 0x40
mov ecx, dword [ebp - 0x14]
je 0x42cd5d
mov edi, dword [ecx + 0xcc]
mov edx, eax
mov ecx, dword [ebp - 0x44]
call fcn.00427e98
mov esi, eax
mov eax, dword [ebp - 0x14]
push esi
push dword [eax + 0xd0]
call edi
push esi
call fcn.0040bb31
mov edi, dword [ebp - 0x44]
add esp, 0xc
jmp 0x42cd9b
xor edx, edx
inc edx
push eax
cmp dword [ecx + 0xbc], edx
jle 0x42cda0
push str.____s
push ecx
call fcn.0040d803
add esp, 0xc
mov esi, eax
mov eax, dword [ebp - 0x14]
xor ecx, ecx
inc ecx
push esi
push edi
push dword [eax + 0xd0]
push ecx
call dword [eax + 0xcc]
mov ecx, dword [ebp - 0x14]
add esp, 0x10
mov edx, esi
call fcn.0040bbc6
mov esi, dword [ebp - 0x18]
jmp 0x42cdb1
push edi
push dword [ecx + 0xd0]
push edx
call dword [ecx + 0xcc]
add esp, 0x10
mov eax, dword [ebx + 4]
cmp eax, dword [0x540b80]
jl 0x42cdf0
cmp byte [ebx], 0xa8
je 0x4285fd
xor eax, eax
inc eax
mov ecx, eax
cmp dword [edi + 0x6c], eax
jle 0x42cdee
push 0x14
pop esi
mov eax, esi
xor ebx, ebx
mov edx, dword [edi + 0x68]
cmp byte [eax + edx], 0x11
jne 0x42cde3
mov dword [eax + edx + 4], ebx
inc ecx
add eax, esi
cmp ecx, dword [edi + 0x6c]
jl 0x42cdd6
mov ebx, dword [ebp - 0x2c]
xor eax, eax
inc eax
mov dword [ebx + 4], eax
inc dword [edi + 0xbc]
imul eax, dword [ebx + 8], 0x14
mov ebx, dword [ebp - 0x60]
add ebx, 0xffffffec
jmp 0x429ab5
mov dword [edi + 0x28], ecx
mov al, byte [ebx + 8]
mov byte [edi + 0x92], al
mov dword [edi + 0x24], esi
test ecx, ecx
je 0x42ce86
movzx eax, word [ebx + 2]
test ax, ax
je 0x42ce5b
push dword [eax*4 + 0x52fa5c]
push str._s_constraint_failed
push edi
call fcn.0042339b
add esp, 0xc
cmp dword [ebx + 0x10], 0
je 0x42ce6c
push dword [ebx + 0x10]
push dword [edi + 0x7c]
push str._z:__s
push dword [ebp - 0x14]
call fcn.0040d803
add esp, 0x10
mov dword [edi + 0x7c], eax
jmp 0x42ce6c
push dword [ebx + 0x10]
push 0x535b9c
push edi
call fcn.0042339b
add esp, 0xc
push dword [edi + 0x7c]
push dword [edi + 0xc0]
push esi
push str.abort_at__d_in___s_:__s
push dword [ebx + 4]
call fcn.0040d9a1
add esp, 0x14
mov ecx, edi
call fcn.00424f66
mov edx, dword [ebp - 0x14]
push 5
pop ecx
mov dword [ebp - 0x1c], eax
cmp eax, ecx
je 0x42cf07
push 0x65
pop eax
xor ecx, ecx
cmp dword [edi + 0x28], ecx
push 1
pop ecx
cmovne eax, ecx
mov dword [ebp - 0x1c], eax
jmp 0x4291a1
push 0x53a7f4
push 0x152d5
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.0040d9a1
add esp, 0x14
push 0xb
pop eax
jmp 0x429104
push str.cannot_open_savepoint___SQL_statements_in_progress
push edi
call fcn.0042339b
pop ecx
pop ecx
push 5
jmp 0x42ced0
push str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x42cedb
mov eax, ebx
sub eax, dword [ebp - 0x60]
push 0x14
cdq
pop esi
idiv esi
mov dword [edi + 0x24], eax
xor eax, eax
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], ecx
mov byte [edx + 0x4f], al
mov dword [edi + 0x28], ecx
jmp 0x4291a1
push eax
push str.no_such_savepoint:__s
push edi
call fcn.0042339b
add esp, 0xc
xor eax, eax
inc eax
jmp 0x429104
push 8
jmp 0x42ced0
push 0x14
cmp al, 5
jne 0x42d1f3
mov eax, ebx
sub eax, dword [ebp - 0x60]
cdq
pop ecx
idiv ecx
mov dword [edi + 0x24], eax
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0x28], eax
jmp 0x42919e
mov eax, 0x204
jmp 0x429104
push 6
pop eax
push 2
pop ecx
mov byte [edi + 0x92], cl
jmp 0x429104
push 7
pop eax
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x14]
call fcn.0043ae6f
mov eax, dword [ebp - 0x1c]
cmp eax, 7
jne 0x429104
mov eax, dword [ebp - 0x14]
mov ecx, eax
call fcn.0040c045
push str.out_of_memory
push edi
call fcn.0042339b
pop ecx
pop ecx
push 7
jmp 0x42ced0
xor eax, eax
inc eax
push str.too_many_levels_of_trigger_recursion
push edi
mov dword [ebp - 0x1c], eax
call fcn.0042339b
pop ecx
pop ecx
mov eax, dword [ebp - 0x1c]
jmp 0x429104
push esi
call fcn.00426ac0
pop ecx
push eax
push 0x535b9c
push edi
call fcn.0042339b
add esp, 0xc
jmp 0x42cfb1
xor eax, eax
mov ecx, str.out_of
inc eax
cmp esi, 5
mov dword [ebp - 0x1c], eax
mov eax, str.into
cmovne eax, ecx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
jmp 0x42cfc6
mov eax, dword [ebp - 0x3c]
push dword [ebp - 0x20]
call dword [eax + 0x1c]
pop ecx
jmp 0x42cf80
push 6
jmp 0x42ced0
or ecx, 0xffffffff
mov dword [ebp - 0x80], ecx
push 9
jmp 0x42ced0
push 5
pop edx
movzx eax, cl
cmp cx, dx
push 2
pop ecx
cmove eax, ecx
mov byte [edi + 0x92], al
jmp 0x42cfb1
xor edx, edx
mov ecx, edi
call fcn.00424f0b
test eax, eax
jne 0x429104
mov eax, dword [edi]
xor ecx, ecx
cmp dword [eax + 0x1d0], ecx
je 0x42d056
cmp dword [edi + 0x30], ecx
je 0x42d056
xor eax, eax
mov ecx, edi
lea edx, [eax + 1]
call fcn.00424e2b
xor ecx, ecx
mov eax, dword [edi + 0x20]
push 2
pop edx
add eax, edx
mov dword [ebp - 0xa0], ecx
xor edx, edx
inc edx
or eax, edx
mov dword [edi + 0x20], eax
imul eax, dword [ebx + 4], 0x28
add esi, eax
mov dword [edi + 0x78], esi
cmp dword [ebx + 8], ecx
jle 0x42d0c6
mov eax, 0x1000
test word [esi + 8], ax
je 0x42d094
mov ecx, esi
call fcn.0042240c
test eax, eax
jne 0x42cf80
mov ax, word [esi + 8]
mov ecx, 0x202
and ax, cx
push 2
pop ecx
cmp ax, cx
jne 0x42d0af
mov ecx, esi
call fcn.004223c6
mov eax, dword [ebp - 0xa0]
add esi, 0x28
inc eax
mov dword [ebp - 0xa0], eax
cmp eax, dword [ebx + 8]
jl 0x42d07a
xor ecx, ecx
mov eax, dword [ebp - 0x14]
cmp byte [eax + 0x51], 0
jne 0x42cf83
push 4
pop edx
test byte [eax + 0x58], dl
je 0x42d0ed
push ecx
push edi
push dword [eax + 0xd0]
push edx
call dword [eax + 0xcc]
add esp, 0x10
mov eax, ebx
mov dword [ebp - 0x1c], 0x64
sub eax, dword [ebp - 0x60]
push 0x14
cdq
pop ecx
idiv ecx
inc eax
mov dword [edi + 0x24], eax
jmp 0x42919e
mov edx, dword [ebx + 4]
movzx eax, byte [eax + 0x4f]
mov esi, dword [ebx + 8]
mov dword [ebp - 0x8c], edx
cmp edx, eax
je 0x42d1c4
test esi, esi
je 0x42d138
mov ecx, dword [ebp - 0x14]
mov edx, 0x204
call fcn.00464b0a
xor ecx, ecx
inc ecx
mov al, cl
jmp 0x42d176
test edx, edx
je 0x42d153
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp dword [eax + 0xb8], ecx
jle 0x42d153
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x42cedb
xor eax, eax
mov ecx, edi
lea edx, [eax + 1]
call fcn.00424f0b
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x42919e
mov al, byte [ebp - 0x8c]
mov byte [ebp - 0x8c], al
mov ecx, dword [ebp - 0x14]
mov byte [ecx + 0x4f], al
mov ecx, edi
call fcn.00424f66
push 5
pop ecx
cmp eax, ecx
jne 0x42d1a6
mov eax, ebx
sub eax, dword [ebp - 0x60]
cdq
push 0x14
pop esi
idiv esi
mov dword [edi + 0x24], eax
xor eax, eax
inc eax
sub al, byte [ebp - 0x8c]
jmp 0x42cefe
mov ecx, dword [ebp - 0x14]
call fcn.004646fc
push 0x65
pop eax
xor ecx, ecx
cmp dword [edi + 0x28], ecx
push 1
pop ecx
cmovne eax, ecx
mov dword [ebp - 0x1c], eax
jmp 0x42919e
test esi, esi
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.0042339b
pop ecx
pop ecx
jmp 0x42cf1e
mov edi, dword [ebp - 0x44]
jmp 0x429104
mov ecx, dword [ebp - 0x14]
jmp 0x429109
add dword [edi + 0xb4], esi
mov ecx, edi
call fcn.00423fd5
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x1c]
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.004679dc
leave
ret