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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x194
mov eax, dword [0x542040]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
xor ecx, ecx
mov dword [ebp - 0x20], ecx
mov byte [ebp - 0x69], cl
mov dword [ebp - 0x88], ecx
mov eax, dword [edi + 0x68]
mov ebx, eax
mov esi, dword [edi + 0x58]
mov dword [ebp - 0x54], eax
mov eax, dword [edi]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xa0], ecx
mov ecx, edi
mov dword [ebp - 0x18], edi
mov al, byte [eax + 0x4e]
mov byte [ebp - 0x64], al
mov dword [ebp - 0x1c], esi
call fcn.00424390
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp dword [eax + 0x148], edx
je 0x428b02
mov ecx, dword [eax + 0x150]
mov eax, dword [edi + 0xb4]
div ecx
mov eax, dword [ebp - 0x14]
sub ecx, edx
xor edx, edx
jmp 0x428b05
or ecx, 0xffffffff
push 7
mov dword [ebp - 0x84], ecx
pop ecx
cmp dword [edi + 0x28], ecx
je 0x42a141
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 0x42d760
imul ebx, dword [edi + 0x24], 0x14
add ebx, dword [ebp - 0x54]
mov cl, byte [ebx]
inc dword [ebp - 0xa0]
movzx edx, cl
mov dword [ebp - 0x34], ebx
mov byte [ebp - 0x2d], cl
mov dword [ebp - 0x3c], edx
cmp edx, 0xa8
ja case.0x428b55.86
jmp dword [edx*4 + 0x42d7b3]
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 - 0x54]
cdq
idiv esi
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x42c667
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 - 0x54]
mov eax, dword [ebp - 0x14]
push 0x14
pop ecx
add ebx, ecx
jmp 0x428b39
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 0x42c667
jmp 0x428b94
imul ecx, dword [ebx + 4], 0x28
mov edx, dword [ebp - 0x54]
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 0x428b94
imul esi, dword [ebx + 4], 0x28
sub ebx, dword [ebp - 0x54]
push 4
pop eax
push 0x14
add esi, dword [ebp - 0x1c]
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 - 0x54]
mov esi, dword [ebp - 0x1c]
jmp 0x428b94
imul eax, dword [ebx + 0xc], 0x28
xor ecx, ecx
inc ecx
test byte [eax + esi + 8], cl
je 0x428b94
mov eax, ebx
sub eax, dword [ebp - 0x54]
push 0x14
pop ecx
cdq
idiv ecx
mov ecx, dword [ebx + 4]
mov esi, eax
test ecx, ecx
jne 0x42d3aa
mov edi, dword [edi + 0xc8]
test edi, edi
je 0x42d3a7
mov ecx, dword [ebp - 0x18]
mov eax, dword [edi + 4]
dec dword [ecx + 0xd0]
mov edx, dword [ecx + 0x2c]
mov dword [ecx + 0xc8], eax
mov ecx, dword [ebp - 0x14]
call fcn.00426bc3
mov ecx, edi
call fcn.00424c0f
mov edi, dword [ebp - 0x18]
push 4
pop ecx
cmp dword [ebx + 8], ecx
jne 0x428c81
imul ecx, eax, 0x14
mov eax, dword [edi + 0x68]
mov eax, dword [ecx + eax + 8]
dec eax
mov ecx, dword [edi + 0x68]
mov esi, dword [edi + 0x58]
imul ebx, eax, 0x14
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x1c], esi
add ebx, ecx
jmp 0x428b94
mov edx, ebx
mov ecx, edi
call fcn.00428a6a
mov ecx, eax
mov eax, dword [ebx + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x428b94
mov edx, ebx
mov ecx, edi
call fcn.00428a6a
mov ecx, dword [ebx + 0x10]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [eax], edx
mov dword [eax + 4], ecx
jmp 0x428b94
mov edx, ebx
mov ecx, edi
call fcn.00428a6a
push 8
pop ecx
mov word [eax + 8], cx
mov ecx, dword [ebx + 0x10]
movsd xmm0, qword [ecx]
movsd qword [eax], xmm0
jmp 0x428b94
mov edx, ebx
mov ecx, edi
call fcn.00428a6a
mov edx, dword [ebx + 0x10]
mov esi, eax
test edx, edx
jne 0x428d03
xor eax, eax
mov ecx, eax
jmp 0x428d1c
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x428d08
sub ecx, edi
mov edi, dword [ebp - 0x18]
and ecx, 0x3fffffff
xor eax, eax
cmp byte [ebp - 0x64], 1
mov dword [ebx + 4], ecx
je 0x428d81
push eax
xor eax, eax
mov ecx, esi
inc eax
push eax
push 0xffffffffffffffff
call fcn.004230a2
add esp, 0xc
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x42d5a3
movzx edx, byte [ebp - 0x64]
mov ecx, esi
call fcn.00422727
test eax, eax
jne 0x42a141
mov dword [esi + 0x18], eax
mov eax, 0x800
or word [esi + 8], ax
cmp byte [ebx + 1], 0xf9
jne 0x428d71
mov edx, dword [ebx + 0x10]
mov ecx, dword [ebp - 0x14]
call fcn.0040bd26
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 0x42d5a3
mov byte [ebx], 0x48
mov edx, ebx
mov ecx, edi
call fcn.00428a6a
mov esi, eax
mov eax, 0xa02
mov word [esi + 8], ax
mov ecx, dword [ebx + 0x10]
mov al, byte [ebp - 0x64]
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 0x42d28e
mov edi, dword [ebp - 0x1c]
imul ecx, eax, 0x28
movzx eax, word [ebx + 2]
cdq
cmp dword [ecx + edi], eax
mov edi, dword [ebp - 0x18]
jne 0x42d28e
mov eax, dword [ebp - 0x1c]
cmp dword [ecx + eax + 4], edx
jne 0x42d28e
mov eax, 0xa10
mov word [esi + 8], ax
jmp 0x428c0b
mov edx, ebx
mov ecx, edi
call fcn.00428a6a
mov edi, dword [ebx + 0xc]
xor ecx, ecx
mov edx, dword [ebx + 8]
inc ecx
cmp dword [ebx + 4], 0
mov esi, 0x101
cmovne ecx, esi
and dword [eax + 0xc], 0
movzx ecx, cx
lea esi, [eax + 8]
sub edi, edx
mov dword [ebp - 0x24], ecx
mov word [esi], cx
test edi, edi
jle 0x42d28e
xor edx, edx
mov eax, 0x2400
lea esi, [esi + 0x28]
test word [esi], ax
je 0x428e4c
lea ecx, [esi - 8]
call fcn.00422a68
mov ecx, dword [ebp - 0x24]
xor edx, edx
mov eax, 0x2400
dec edi
mov word [esi], cx
mov dword [esi + 4], edx
test edi, edi
jg 0x428e32
mov edi, dword [ebp - 0x18]
jmp 0x428c0b
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 0x428bdd
mov edx, ebx
mov ecx, edi
call fcn.00428a6a
mov edx, dword [ebx + 0x10]
mov esi, eax
xor eax, eax
mov ecx, esi
push eax
push eax
push dword [ebx + 4]
call fcn.004230a2
mov al, byte [ebp - 0x64]
add esp, 0xc
mov byte [esi + 0xa], al
jmp 0x428c0b
imul ecx, dword [ebx + 4], 0x28
mov esi, dword [edi + 0x64]
add ecx, 0xffffffd8
add esi, ecx
mov ecx, esi
call fcn.00422f7a
test eax, eax
jne 0x42d5a3
imul edx, dword [ebx + 8], 0x28
mov eax, 0x2400
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0x24], edx
test word [edx + 8], ax
je 0x428edf
mov ecx, edx
call fcn.00422e6a
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 0x428e57
imul edi, dword [ebx + 4], 0x28
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x38], eax
add edi, esi
imul esi, dword [ebx + 8], 0x28
add esi, dword [ebp - 0x1c]
mov edx, edi
mov ecx, esi
call fcn.00423080
mov eax, 0x1000
test word [esi + 8], ax
je 0x428f3b
mov ecx, esi
call fcn.0042289a
test eax, eax
jne 0x42a13e
add edi, 0x28
add esi, 0x28
sub dword [ebp - 0x38], 1
jne 0x428f18
jmp 0x428e57
imul edi, dword [ebx + 4], 0x28
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x38], eax
add edi, esi
imul esi, dword [ebx + 8], 0x28
add esi, dword [ebp - 0x1c]
mov eax, 0x1000
mov edx, edi
push eax
mov ecx, esi
call fcn.00422fbe
mov eax, 0x1000
pop ecx
test word [esi + 8], ax
je 0x428f89
mov ecx, esi
call fcn.0042289a
test eax, eax
jne 0x42a13e
mov ecx, dword [ebp - 0x38]
mov eax, ecx
dec ecx
mov dword [ebp - 0x38], ecx
test eax, eax
je 0x42d28e
add esi, 0x28
add edi, 0x28
jmp 0x428f5f
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.00422fbe
pop ecx
jmp 0x428b94
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 - 0x18]
je 0x428fe8
push eax
push edx
call fcn.00422eb4
pop ecx
jmp 0x428fb9
mov dword [ecx], edx
mov dword [ecx + 4], eax
push 4
pop eax
mov word [ecx + 8], ax
jmp 0x428b94
imul ecx, dword [ebx + 4], 0x28
imul edi, dword [ebx + 8], 0x28
add ecx, esi
add edi, esi
mov dword [ebp - 0x34], ecx
imul esi, dword [ebx + 0xc], 0x28
movzx edx, word [ecx + 8]
mov al, byte [edi + 8]
or al, dl
mov dword [ebp - 0x7c], edx
add esi, dword [ebp - 0x1c]
test al, 1
je 0x429042
mov eax, 0x2400
test word [esi + 8], ax
je 0x429036
mov ecx, esi
call fcn.00422a68
jmp 0x428e57
xor eax, eax
inc eax
mov word [esi + 8], ax
jmp 0x428e57
test dl, 0x12
jne 0x429055
mov dl, byte [ebp - 0x64]
xor eax, eax
push eax
call fcn.0042294b
pop ecx
jmp 0x429063
mov eax, 0x4000
test eax, edx
je 0x429085
call fcn.004228e0
test eax, eax
jne 0x42a13e
mov eax, dword [ebp - 0x34]
mov ecx, 0xfffd
mov ax, word [eax + 8]
and ax, cx
movzx eax, ax
mov dword [ebp - 0x7c], eax
mov eax, 0x4000
movzx edx, word [edi + 8]
mov dword [ebp - 0x2c], edx
test dl, 0x12
jne 0x4290bb
mov dl, byte [ebp - 0x64]
xor eax, eax
push eax
mov ecx, edi
call fcn.0042294b
pop ecx
test eax, eax
jne 0x42a13e
mov ax, word [edi + 8]
mov ecx, 0xfffd
and ax, cx
movzx edx, ax
mov dword [ebp - 0x2c], edx
jmp 0x4290e0
test eax, edx
je 0x4290e0
mov ecx, edi
call fcn.004228e0
test eax, eax
jne 0x42a13e
mov ax, word [edi + 8]
mov ecx, 0xfffd
and ax, cx
movzx eax, ax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x34]
mov edx, dword [edi + 0xc]
add edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x24], edx
cmp edx, dword [eax + 0x6c]
jg 0x42d5a0
xor eax, eax
mov ecx, esi
cmp esi, edi
sete al
add edx, 3
push eax
call fcn.0042273c
pop ecx
test eax, eax
jne 0x42a13e
mov ax, word [esi + 8]
mov ecx, 0x3e40
and ax, cx
push 2
pop ecx
or ax, cx
mov word [esi + 8], ax
cmp esi, edi
je 0x429145
push dword [edi + 0xc]
push dword [edi + 0x10]
push dword [esi + 0x10]
call fcn.0046b220
mov eax, dword [ebp - 0x2c]
add esp, 0xc
mov word [edi + 8], ax
mov eax, dword [ebp - 0x34]
push dword [eax + 0xc]
push dword [eax + 0x10]
mov eax, dword [esi + 0x10]
add eax, dword [edi + 0xc]
push eax
call fcn.0046b220
mov eax, dword [ebp - 0x34]
xor edx, edx
mov ecx, dword [ebp - 0x7c]
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 [eax + ecx + 1], dl
mov eax, dword [esi + 0x10]
mov byte [eax + ecx + 2], dl
mov eax, 0x200
or word [esi + 8], ax
mov al, byte [ebp - 0x64]
mov dword [esi + 0xc], ecx
mov byte [esi + 0xa], al
jmp 0x428e57
imul eax, dword [ebx + 4], 0x28
add eax, esi
mov ecx, eax
mov dword [ebp - 0x3c], eax
call fcn.00428a3b
mov esi, dword [ebp - 0x34]
movzx ebx, ax
imul eax, dword [esi + 8], 0x28
add eax, dword [ebp - 0x1c]
mov ecx, eax
mov dword [ebp - 0x28], eax
call fcn.00428a3b
mov edi, dword [ebp - 0x28]
movzx ecx, ax
imul eax, dword [esi + 0xc], 0x28
and cl, bl
mov esi, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x34]
push 4
pop edx
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x7c], eax
mov ax, word [edi + 8]
or ax, word [esi + 8]
movzx eax, ax
test dl, cl
je 0x4293dc
mov eax, esi
mov edx, dword [eax]
mov esi, dword [eax + 4]
mov eax, edi
mov ecx, dword [eax + 4]
mov edi, dword [eax]
movzx eax, byte [ebx]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x98], edi
mov dword [ebp - 0x94], ecx
sub eax, 0x67
je 0x42933b
sub eax, 1
je 0x429291
sub eax, 1
je 0x429282
sub eax, 1
mov eax, edx
je 0x429258
or eax, esi
je 0x429457
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x42923e
xor eax, eax
mov esi, eax
lea edx, [eax + 1]
push esi
push edx
push ecx
push edi
call fcn.0047d180
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], edx
jmp 0x4293c4
or eax, esi
je 0x429457
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x429277
xor eax, eax
cmp edi, eax
jne 0x429277
cmp ecx, 0x80000000
je 0x4292a8
push esi
push edx
push ecx
push edi
call fcn.0047d0d0
jmp 0x429247
push esi
push edx
lea ecx, [ebp - 0x98]
call fcn.0040f2c5
jmp 0x42929e
push esi
push edx
lea ecx, [ebp - 0x98]
call fcn.0040f277
pop ecx
pop ecx
test eax, eax
je 0x4293c4
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x3c]
mov ecx, esi
call fcn.00422b97
mov ecx, edi
movsd qword [ebp - 0x48], xmm0
call fcn.00422b97
movzx eax, byte [ebx]
sub eax, 0x67
je 0x42940f
sub eax, 1
je 0x429408
sub eax, 1
je 0x429401
sub eax, 1
je 0x4293e8
mov ecx, esi
call fcn.00422b37
mov ecx, dword [ebp - 0x28]
mov esi, eax
mov edi, edx
call fcn.00422b37
mov ecx, esi
mov dword [ebp - 0x24], eax
or ecx, edi
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], edx
je 0x429457
mov eax, esi
and eax, edi
cmp eax, 0xffffffff
jne 0x429324
xor eax, eax
mov edi, eax
lea esi, [eax + 1]
push edi
push esi
push edx
push dword [ebp - 0x24]
call fcn.0047d180
mov ecx, eax
call fcn.0047ecf0
jmp 0x429414
xor eax, eax
cmp esi, eax
jl 0x429374
jg 0x429347
cmp edx, eax
jb 0x429374
cmp ecx, eax
jl 0x4293b4
jg 0x429351
cmp edi, eax
jbe 0x4293b4
or eax, 0xffffffff
sub eax, edi
mov dword [ebp - 0x24], eax
mov eax, 0x7fffffff
sbb eax, ecx
cmp eax, esi
jg 0x4293b4
jl 0x4292a8
cmp dword [ebp - 0x24], edx
jae 0x4293b4
jmp 0x4292a8
cmp ecx, eax
jg 0x4293b4
jl 0x42937e
cmp edi, eax
jae 0x4293b4
xor eax, eax
mov ecx, 0x80000000
inc eax
sub eax, edi
mov dword [ebp - 0x24], eax
mov eax, edx
sbb ecx, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x5c], eax
mov eax, esi
adc eax, 0
cmp ecx, eax
jg 0x4292a8
jl 0x4293b1
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x5c]
ja 0x4292a8
mov ecx, dword [ebp - 0x2c]
add edi, edx
mov dword [ebp - 0x98], edi
adc ecx, esi
mov dword [ebp - 0x94], ecx
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x94]
push 4
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp 0x42943f
xor ecx, ecx
inc ecx
test cl, al
jne 0x42945a
jmp 0x4292ae
movsd xmm1, qword [ebp - 0x48]
ucomisd xmm1, qword [0x53c5c0]
lahf
test ah, 0x44
jnp 0x429457
divsd xmm0, xmm1
jmp 0x429414
mulsd xmm0, qword [ebp - 0x48]
jmp 0x429414
subsd xmm0, qword [ebp - 0x48]
jmp 0x429414
addsd xmm0, qword [ebp - 0x48]
movsd qword [ebp - 0x48], xmm0
mov esi, 0x7ff00000
mov ecx, dword [ebp - 0x44]
mov eax, ecx
and eax, esi
cmp eax, esi
jne 0x429436
mov eax, dword [ebp - 0x48]
and ecx, 0xfffff
or eax, ecx
jne 0x429457
mov edx, dword [ebp - 0x7c]
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
jmp 0x428efc
xor ecx, ecx
inc ecx
mov edx, dword [ebp - 0x7c]
mov eax, 0x2400
test word [edx + 8], ax
je 0x42946f
mov ecx, edx
jmp 0x42902c
mov word [edx + 8], cx
jmp 0x428e57
mov eax, dword [ebx + 4]
test eax, eax
je 0x428b94
imul eax, eax, 0x28
mov ecx, 0x2400
add eax, esi
test word [eax + 8], cx
je 0x42949e
xor ecx, ecx
push ecx
push ecx
mov ecx, eax
jmp 0x428fe0
xor ecx, ecx
push 4
mov dword [eax], ecx
mov dword [eax + 4], ecx
pop ecx
mov word [eax + 8], cx
jmp 0x428b94
imul ecx, dword [ebx + 8], 0x28
imul esi, dword [ebx + 4], 0x28
mov eax, dword [ebp - 0x1c]
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 - 0x5c], edx
test al, 1
je 0x4294f6
mov eax, 0x2400
test word [edx + 8], ax
je 0x4294ea
mov ecx, edx
call fcn.00422a68
jmp 0x428c0b
xor eax, eax
inc eax
mov word [edx + 8], ax
jmp 0x428c0b
call fcn.00422b37
mov ecx, esi
mov dword [ebp - 0x34], eax
mov edi, edx
call fcn.00422b37
mov cl, byte [ebx]
mov esi, eax
cmp cl, 0x63
jne 0x42951c
mov eax, dword [ebp - 0x34]
and eax, esi
and edi, edx
jmp 0x4295e5
cmp cl, 0x64
jne 0x42952d
mov eax, dword [ebp - 0x34]
or eax, esi
or edi, edx
jmp 0x4295e5
mov eax, esi
or eax, edx
je 0x4295e2
xor eax, eax
cmp edx, eax
jg 0x429580
jl 0x429543
cmp esi, eax
jae 0x42955e
mov al, 0xcb
sub al, cl
mov cl, al
cmp edx, 0xffffffff
jl 0x42957e
jg 0x429555
cmp esi, 0xffffffc0
jbe 0x42957e
neg esi
push 0
pop eax
adc edx, eax
neg edx
cmp edx, eax
jl 0x429569
jg 0x429580
cmp esi, 0x40
jae 0x429580
mov eax, dword [ebp - 0x34]
cmp cl, 0x65
mov edx, edi
mov ecx, esi
jne 0x4295a7
call fcn.0047d280
mov ecx, eax
jmp 0x4295dc
xor eax, eax
cmp edi, eax
jg 0x429597
jl 0x42958b
cmp dword [ebp - 0x34], eax
jae 0x429597
cmp cl, 0x65
je 0x429597
or eax, 0xffffffff
or edi, eax
jmp 0x4295e5
xorps xmm0, xmm0
movlpd qword [ebp - 0x48], xmm0
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
jmp 0x4295e5
call fcn.0047d2a0
mov ecx, eax
mov dword [ebp - 0x2c], edx
xor eax, eax
mov dword [ebp - 0x24], ecx
cmp edi, eax
jg 0x4295dc
jl 0x4295c1
cmp dword [ebp - 0x34], eax
jae 0x4295dc
push 0x40
pop ecx
sub ecx, esi
or eax, 0xffffffff
or edx, 0xffffffff
call fcn.0047d280
mov ecx, dword [ebp - 0x24]
or ecx, eax
or dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
mov eax, ecx
mov edi, edx
jmp 0x4295e5
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x5c]
mov edx, 0x3e40
push 4
mov dword [ecx], eax
mov ax, word [ecx + 8]
and ax, dx
mov dword [ecx + 4], edi
pop edx
or ax, dx
mov word [ecx + 8], ax
jmp 0x428e57
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0x1c]
mov ecx, esi
call fcn.00422c4e
mov eax, dword [ebx + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
jmp 0x428c0b
imul esi, dword [ebx + 4], 0x28
push 4
pop edx
add esi, dword [ebp - 0x1c]
movzx eax, word [esi + 8]
mov ecx, eax
test dl, al
jne 0x429667
push dword [ebp - 0x64]
mov dl, 0x43
mov ecx, esi
call fcn.00428933
movzx eax, word [esi + 8]
pop ecx
push 4
pop edx
mov ecx, eax
test dl, al
jne 0x429667
xor eax, eax
cmp dword [ebx + 8], eax
jne 0x42c667
mov ecx, dword [ebp - 0x14]
push 0x14
pop esi
mov eax, esi
jmp 0x4296d5
mov eax, 0x3e40
and ecx, eax
push 4
pop eax
or ecx, eax
mov word [esi + 8], cx
jmp 0x428c0b
imul ecx, dword [ebx + 4], 0x28
add ecx, esi
test byte [ecx + 8], 0x24
je case.0x428b55.86
call fcn.00422c73
jmp 0x428b94
imul esi, dword [ebx + 4], 0x28
mov eax, 0x4000
add esi, dword [ebp - 0x1c]
test word [esi + 8], ax
je 0x4296b1
mov ecx, esi
call fcn.004228e0
jmp 0x4296b3
xor eax, eax
push dword [ebp - 0x64]
mov dl, byte [ebx + 8]
mov ecx, esi
mov dword [ebp - 0x20], eax
call fcn.00422db3
pop ecx
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x428c0b
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 - 0x20], eax
cmp dword [edi + 0x7c], ecx
jne 0x429709
cmp eax, 0xc0a
je 0x429709
mov ecx, eax
call fcn.00466bc8
push eax
push 0x537924
push edi
call fcn.004237ef
mov eax, dword [ebp - 0x20]
add esp, 0xc
mov dword [edi + 0x28], eax
cmp eax, 0xc0a
je 0x429730
movzx eax, al
cmp eax, 0xe
je 0x429720
cmp eax, 0xa
jne 0x429730
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
call fcn.0040b3fa
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x48], eax
mov eax, ebx
sub eax, dword [ebp - 0x54]
cdq
idiv esi
push dword [edi + 0x7c]
push dword [edi + 0xc0]
push eax
push str.statement_aborts_at__d:___s___s
push dword [ebp - 0x20]
call fcn.0040d94a
add esp, 0x14
mov ecx, edi
call fcn.0042543d
cmp dword [ebp - 0x20], 0xc0a
jne 0x42976a
mov ecx, dword [ebp - 0x14]
call fcn.0040c1aa
xor eax, eax
inc eax
mov dword [ebp - 0x20], eax
mov al, byte [ebp - 0x69]
test al, al
je 0x429783
mov ecx, dword [ebp - 0x14]
movzx edx, al
dec edx
call fcn.0043b918
mov edx, dword [ebp - 0x14]
mov esi, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x84]
cmp esi, ecx
jb 0x42d78a
mov eax, dword [edx + 0x148]
test eax, eax
je 0x42d78a
add ecx, dword [edx + 0x150]
push dword [edx + 0x14c]
mov dword [ebp - 0x84], ecx
call eax
mov edx, dword [ebp - 0x14]
pop ecx
test eax, eax
je 0x42978c
or ecx, 0xffffffff
push 9
mov dword [ebp - 0x84], ecx
mov ecx, edx
pop eax
jmp 0x4296d2
imul edi, dword [ebx + 4], 0x28
add edi, esi
imul esi, dword [ebx + 0xc], 0x28
mov dword [ebp - 0x24], edi
movzx eax, word [edi + 8]
add esi, dword [ebp - 0x1c]
mov dword [ebp - 0x28], eax
movzx edx, word [esi + 8]
mov ecx, edx
mov dword [ebp - 0x34], edx
or ecx, eax
xor eax, eax
inc eax
test al, cl
je 0x429893
movzx eax, word [ebx + 2]
mov ecx, 0x80
test cl, al
je 0x42984f
xor ecx, ecx
mov al, dl
and al, byte [ebp - 0x28]
inc ecx
test cl, al
je 0x42983f
test edx, 0x100
jne 0x42983f
xor eax, eax
mov edx, eax
movzx eax, byte [ebx]
test edx, edx
jne 0x42999c
mov al, byte [eax + 0x531c34]
jmp 0x4299a2
not edx
and edx, ecx
lea edx, [edx*2 - 1]
jmp 0x429989
test al, 0x20
je 0x429880
imul ecx, dword [ebx + 8], 0x28
xor edx, edx
mov esi, dword [ebp - 0x1c]
mov edi, 0x3e40
inc edx
mov dword [ebp - 0x88], edx
mov ax, word [ecx + esi + 8]
and ax, di
or ax, dx
mov word [ecx + esi + 8], ax
mov edi, dword [ebp - 0x18]
jmp 0x428b94
push 0x10
pop ecx
test cl, al
mov edi, dword [ebp - 0x18]
jne 0x42c667
jmp 0x428c0b
mov al, byte [ebx + 2]
and al, 0x47
cmp al, 0x43
jb 0x429914
push 2
pop edx
test dl, cl
je 0x4298d1
mov al, byte [ebp - 0x28]
and al, 0x2e
cmp al, dl
jne 0x4298bf
xor edx, edx
mov ecx, edi
call fcn.00428884
movzx eax, word [esi + 8]
push 2
mov dword [ebp - 0x34], eax
pop edx
mov al, byte [ebp - 0x34]
and al, 0x2e
cmp al, dl
jne 0x4298d1
xor edx, edx
mov ecx, esi
call fcn.00428884
mov al, byte [esi + 8]
and al, byte [edi + 8]
push 4
pop ecx
test cl, al
je 0x42997a
mov eax, dword [esi + 4]
mov ecx, dword [esi]
cmp eax, dword [edi + 4]
jl 0x42990f
jg 0x4298f2
cmp ecx, dword [edi]
jbe 0x4298fc
xor eax, eax
lea edx, [eax + 1]
jmp 0x429829
cmp eax, dword [edi + 4]
jg 0x429825
jl 0x42990f
cmp ecx, dword [edi]
jae 0x429825
or edx, 0xffffffff
jmp 0x429991
cmp al, 0x42
jne 0x42997a
mov al, byte [ebp - 0x28]
push 2
pop ecx
test cl, al
jne 0x42994c
test al, 0x2c
je 0x42994c
mov dl, byte [ebp - 0x64]
xor eax, eax
inc eax
mov ecx, edi
push eax
call fcn.0042294b
mov ax, word [edi + 8]
xor ax, word [ebp - 0x28]
pop ecx
mov ecx, 0x3e40
and ax, cx
xor word [ebp - 0x28], ax
push 2
pop ecx
mov al, byte [ebp - 0x34]
test cl, al
jne 0x42997a
test al, 0x2c
je 0x42997a
mov dl, byte [ebp - 0x64]
xor eax, eax
inc eax
mov ecx, esi
push eax
call fcn.0042294b
mov ax, word [esi + 8]
xor ax, word [ebp - 0x34]
pop ecx
mov ecx, 0x3e40
and ax, cx
xor word [ebp - 0x34], ax
push dword [ebx + 0x10]
mov edx, edi
mov ecx, esi
call fcn.0042605c
pop ecx
mov edx, eax
test edx, edx
jns 0x429829
movzx ecx, byte [ebx]
mov al, byte [ecx + str.SQLite_format_3]
jmp 0x4299a2
mov al, byte [eax + 0x530ed4]
mov ecx, dword [ebp - 0x24]
movzx edi, al
mov ax, word [ebp - 0x28]
mov word [ecx + 8], ax
mov ax, word [ebp - 0x34]
mov word [esi + 8], ax
movzx eax, word [ebx + 2]
test al, 0x20
je 0x429a04
imul esi, dword [ebx + 8], 0x28
mov dword [ebp - 0x88], edx
add esi, dword [ebp - 0x1c]
test al, 8
je 0x4299e1
xor eax, eax
cmp byte [ebx], 0x35
sete al
cmp eax, edi
je 0x42d28e
mov cx, word [esi + 8]
mov eax, 0x3e40
and cx, ax
push 4
pop eax
or cx, ax
mov eax, edi
mov word [esi + 8], cx
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x428e57
test edi, edi
jmp 0x429885
cmp dword [ebp - 0x88], 0
jne 0x42c667
jmp case.0x428b55.86
xor eax, eax
inc eax
test byte [ebx + 2], al
jne 0x429a2b
xor eax, eax
mov edi, eax
jmp 0x429a33
mov edi, dword [ebx - 4]
push 4
pop eax
add edi, eax
mov edx, dword [ebx + 4]
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x5c], edx
mov edx, dword [ebx + 8]
mov dword [ebp - 0x24], edx
xor edx, edx
mov dword [ebp - 0x74], ecx
mov esi, edx
mov dword [ebp - 0x38], eax
test ecx, ecx
jle 0x428e57
lea edx, [eax + 0x14]
mov dword [ebp - 0x2c], edx
test edi, edi
je 0x429a66
mov ecx, dword [edi + esi*4]
jmp 0x429a68
mov ecx, esi
mov eax, dword [eax + 0x10]
xor edx, edx
inc edx
movzx eax, byte [esi + eax]
and eax, edx
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x24]
add eax, ecx
push dword [edx]
imul eax, eax, 0x28
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x7c]
add eax, ecx
imul eax, eax, 0x28
add eax, dword [ebp - 0x1c]
mov ecx, eax
mov dword [ebp - 0x34], eax
call fcn.0042605c
mov edx, eax
mov dword [ebp - 0x88], edx
pop ecx
test edx, edx
jne 0x429ac3
push 4
pop eax
add dword [ebp - 0x2c], eax
inc esi
mov eax, dword [ebp - 0x38]
cmp esi, dword [ebp - 0x74]
jl 0x429a5d
jmp 0x428e57
mov eax, dword [ebp - 0x38]
push 2
pop ecx
mov eax, dword [eax + 0x10]
test byte [esi + eax], cl
je 0x429aec
mov eax, dword [ebp - 0x34]
xor ecx, ecx
inc ecx
test byte [eax + 8], cl
jne 0x429ae4
mov eax, dword [ebp - 0x7c]
test byte [eax + 8], cl
je 0x429aec
neg edx
mov dword [ebp - 0x88], edx
cmp dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
je 0x429b00
neg edx
mov dword [ebp - 0x88], edx
mov edi, dword [ebp - 0x18]
jmp case.0x428b55.86
mov edx, dword [ebp - 0x88]
test edx, edx
jns 0x429b18
imul ebx, dword [ebx + 4], 0x14
jmp 0x429b24
jne 0x429b20
imul ebx, dword [ebx + 8], 0x14
jmp 0x429b24
imul ebx, dword [ebx + 0xc], 0x14
add ebx, dword [ebp - 0x54]
add ebx, 0xffffffec
jmp case.0x428b55.86
imul ecx, dword [ebx + 4], 0x28
push 2
pop eax
mov edx, eax
add ecx, esi
call fcn.00422bbe
imul ecx, dword [ebx + 8], 0x28
mov esi, eax
mov edi, dword [ebp - 0x1c]
push 2
pop eax
mov edx, eax
add ecx, edi
call fcn.00422bbe
imul edx, esi, 3
cmp byte [ebx], 0x2c
jne 0x429b65
mov dl, byte [edx + eax + 0x530f94]
jmp 0x429b6c
mov dl, byte [edx + eax + 0x530f28]
imul esi, dword [ebx + 0xc], 0x28
mov ecx, 0x3e40
push 2
add esi, edi
mov ax, word [esi + 8]
and ax, cx
movzx ecx, ax
pop eax
cmp dl, al
jne 0x429b8d
xor eax, eax
inc eax
jmp 0x429b99
movzx eax, dl
cdq
push 4
mov dword [esi], eax
mov dword [esi + 4], edx
pop eax
or ecx, eax
movzx eax, cx
jmp 0x429039
imul ecx, dword [ebx + 4], 0x28
mov edx, dword [ebx + 0xc]
add ecx, esi
call fcn.00422bbe
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 - 0x18]
je 0x429bd0
push edx
push eax
jmp 0x428fe0
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x428fed
imul ecx, dword [ebx + 4], 0x28
xor edx, edx
inc edx
add ecx, esi
imul esi, dword [ebx + 8], 0x28
add esi, dword [ebp - 0x1c]
test byte [ecx + 8], dl
jne 0x429c27
xor edx, edx
call fcn.00422bbe
neg eax
mov ecx, 0x2400
sbb eax, eax
inc eax
test word [esi + 8], cx
je 0x429c18
xor ecx, ecx
push ecx
push eax
mov ecx, esi
call fcn.00422eb4
pop ecx
pop ecx
jmp 0x428c0b
mov dword [esi], eax
xor eax, eax
push 4
mov dword [esi + 4], eax
pop eax
jmp 0x428dea
mov ecx, 0x2400
test word [esi + 8], cx
je 0x429c39
mov ecx, esi
jmp 0x4294e0
mov word [esi + 8], dx
mov esi, dword [ebp - 0x1c]
jmp case.0x428b55.86
imul edi, dword [ebx + 4], 0x28
mov ecx, 0x2400
add edi, esi
imul esi, dword [ebx + 8], 0x28
add esi, dword [ebp - 0x1c]
test word [esi + 8], cx
je 0x429c6c
mov ecx, esi
call fcn.00422a68
mov eax, dword [ebp - 0x14]
xor edx, edx
inc edx
jmp 0x429c73
xor edx, edx
inc edx
mov word [esi + 8], dx
test byte [edi + 8], dl
jne 0x42d291
push 4
pop eax
mov ecx, edi
mov word [esi + 8], ax
call fcn.00422b37
not eax
not edx
jmp 0x4299fa
mov edi, dword [edi + 0xc8]
test edi, edi
je 0x429cd7
mov edx, dword [ebp - 0x18]
mov eax, ebx
push 0x14
pop ecx
mov edi, dword [edi + 0x18]
sub eax, dword [edx + 0x68]
cdq
idiv ecx
xor edx, edx
mov ecx, eax
inc edx
mov esi, ecx
and ecx, 7
shr esi, 3
shl edx, cl
movzx eax, byte [esi + edi]
test eax, edx
jne 0x42c664
bts eax, ecx
mov byte [esi + edi], al
mov edi, dword [ebp - 0x18]
mov esi, dword [ebp - 0x1c]
jmp 0x429ce9
mov edi, dword [ebp - 0x18]
mov eax, dword [edi + 0x68]
mov eax, dword [eax + 4]
cmp eax, dword [ebx + 4]
je 0x42c667
mov eax, dword [edi + 0x68]
mov eax, dword [eax + 4]
mov dword [ebx + 4], eax
jmp 0x428b94
imul ecx, dword [ebx + 4], 0x28
mov edx, dword [ebx + 0xc]
add ecx, esi
call fcn.00422bbe
test eax, eax
jmp 0x428bbb
xor edx, edx
xor eax, eax
cmp dword [ebx + 0xc], eax
sete dl
imul ecx, dword [ebx + 4], 0x28
add ecx, esi
call fcn.00422bbe
test eax, eax
je 0x42c667
jmp 0x428b94
imul eax, dword [ebx + 4], 0x28
xor ecx, ecx
inc ecx
test byte [eax + esi + 8], cl
jmp 0x428bbb
imul eax, dword [ebx + 4], 0x28
xor ecx, ecx
inc ecx
test byte [eax + esi + 8], cl
jmp 0x429d23
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
cmp byte [eax + 2], 0
je 0x428b94
imul eax, dword [ebx + 0xc], 0x28
mov ecx, 0x2400
add eax, esi
test word [eax + 8], cx
je 0x429d7b
mov ecx, eax
call fcn.00422a68
jmp 0x42c667
xor ecx, ecx
inc ecx
mov word [eax + 8], cx
jmp 0x42c667
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0x8c]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x50], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x8c], eax
call fcn.00425a4f
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x4296cf
imul edi, dword [ebx + 0xc], 0x28
mov edx, dword [ebp - 0x18]
add edi, esi
mov esi, dword [ebp - 0x50]
mov dword [ebp - 0x5c], edi
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x48]
mov dword [ebp - 0x28], ecx
cmp eax, dword [edx + 0x20]
je 0x429ebc
cmp byte [esi + 2], 0
je 0x429e11
cmp byte [esi], 3
jne 0x429e05
imul edx, dword [esi + 0x20], 0x28
add edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0xc]
mov dword [esi + 0x54], eax
mov ecx, dword [ebp - 0x50]
mov eax, dword [ecx + 0x54]
mov dword [ecx + 0x50], eax
mov eax, dword [ebp - 0x50]
mov ecx, dword [edx + 0x10]
mov dword [eax + 0x4c], ecx
mov ecx, dword [ebp - 0x50]
jmp 0x429e46
mov ecx, edi
call fcn.00422e6a
jmp 0x428e57
mov esi, dword [esi + 0x28]
mov ecx, esi
call fcn.0041c60e
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x50], eax
mov ecx, esi
mov edx, dword [ebp - 0x50]
lea edx, [edx + 0x54]
call fcn.0041ca7f
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x14]
mov dword [ecx + 0x4c], eax
mov ecx, dword [ebp - 0x50]
mov eax, dword [ecx + 0x50]
cmp eax, dword [edx + 0x6c]
ja 0x42d5a0
mov eax, dword [ebp - 0x18]
mov edx, 0x80
mov eax, dword [eax + 0x20]
mov dword [ecx + 0x1c], eax
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x4c]
mov al, byte [ecx]
cmp al, dl
jae 0x429e6d
mov ecx, dword [ebp - 0x28]
movzx eax, al
mov dword [ecx], eax
xor eax, eax
inc eax
jmp 0x429e75
mov edx, dword [ebp - 0x28]
call fcn.0040f05b
movzx ecx, al
mov eax, dword [ebp - 0x50]
mov dword [eax + 0x30], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x50]
mov word [eax + 0x3a], cx
mov esi, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x28]
mov eax, dword [esi + 0x54]
cmp eax, dword [ecx]
jae 0x429f75
xor edx, edx
mov dword [esi + 0x4c], edx
mov eax, dword [ebp - 0x50]
mov dword [eax + 0x54], edx
mov eax, dword [ecx]
cmp eax, 0x18003
ja 0x42a040
mov esi, dword [ebp - 0x50]
cmp eax, dword [esi + 0x50]
ja 0x42a040
movzx eax, word [esi + 0x3a]
mov edx, dword [ebp - 0x8c]
cmp eax, edx
jg 0x42a0bd
mov eax, dword [esi + 0x30]
cmp eax, dword [ecx]
jae 0x42a08e
mov edx, dword [esi + 0x4c]
mov dword [ebp - 0x38], edx
test edx, edx
jne 0x429f1d
push 0xa
xor eax, eax
lea edi, [ebp - 0x190]
pop ecx
rep stosd dword es:[edi], eax
mov ecx, dword [esi + 0x28]
lea eax, [ebp - 0x190]
push eax
mov eax, dword [ebp - 0x28]
push dword [eax]
call fcn.004232a9
mov dword [ebp - 0x20], eax
pop ecx
pop ecx
test eax, eax
jne 0x42d45b
mov edx, dword [ebp - 0x180]
mov esi, dword [ebp - 0x50]
mov dword [ebp - 0x38], edx
movzx ecx, word [esi + 0x3a]
mov eax, dword [ebp - 0x28]
mov edi, dword [esi + 0x30]
mov dword [ebp - 0x74], ecx
add edi, edx
mov eax, dword [eax + ecx*4]
lea ecx, [ecx*4 + 0x58]
mov dword [ebp - 0x3c], eax
xor eax, eax
mov ebx, eax
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
add eax, edx
mov dword [ebp - 0x4c], eax
movzx eax, byte [edi]
mov edx, 0x80
mov dword [ebp - 0x68], eax
mov dword [esi + ecx], eax
mov eax, dword [ebp - 0x68]
cmp eax, edx
jae 0x429f7a
movzx eax, al
inc edi
movzx eax, byte [eax + 0x5324b8]
cdq
add dword [ebp - 0x3c], eax
adc ebx, edx
mov edx, dword [ebp - 0x3c]
jmp 0x429fbf
mov edx, dword [esi + 0x4c]
jmp 0x429f1a
lea edx, [ebp - 0x68]
mov ecx, edi
call fcn.0040f05b
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x68]
movzx eax, al
add edi, eax
mov eax, dword [ebp - 0x50]
mov dword [eax + edx], ecx
mov ecx, 0x80
mov eax, dword [ebp - 0x68]
cmp eax, ecx
jb 0x429fa8
add eax, 0xfffffff4
shr eax, 1
jmp 0x429faf
movzx eax, byte [eax + 0x5324b8]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x2c]
add edx, eax
push 0
pop eax
mov dword [ebp - 0x3c], edx
adc ebx, eax
mov esi, dword [ebp - 0x28]
add ecx, 4
mov eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x74], eax
mov dword [esi + ecx - 0x58], edx
mov esi, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x8c]
jg 0x429fea
cmp edi, esi
jae 0x429fea
mov esi, dword [ebp - 0x50]
jmp 0x429f4a
mov eax, dword [ebp - 0x50]
cmp edi, esi
mov dword [ebp - 0x2c], edi
mov edi, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x7c], ebx
mov ebx, dword [ebp - 0x34]
jb 0x42a012
cmp ecx, esi
ja 0x42a023
cmp edx, dword [eax + 0x50]
jne 0x42a023
mov esi, dword [ebp - 0x7c]
test esi, esi
jne 0x42a020
jmp 0x42a015
mov esi, dword [ebp - 0x7c]
test esi, esi
jb 0x42a05b
ja 0x42a020
cmp edx, dword [eax + 0x50]
jbe 0x42a05b
mov esi, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x28]
xor edx, edx
cmp dword [ecx], edx
jne 0x42a030
mov ecx, esi
jmp 0x42a05e
cmp dword [eax + 0x4c], edx
jne 0x42a040
lea ecx, [ebp - 0x190]
call fcn.00422ac6
mov edx, dword [ebp - 0x54]
mov eax, dword [edx + 0xc]
test eax, eax
jle 0x42d451
imul ebx, eax, 0x14
add ebx, 0xffffffec
add ebx, edx
jmp 0x428e57
mov edx, dword [ebp - 0x74]
sub ecx, dword [ebp - 0x38]
mov word [eax + 0x3a], dx
mov eax, dword [ebp - 0x50]
mov dword [eax + 0x30], ecx
xor eax, eax
mov esi, dword [ebp - 0x50]
cmp dword [esi + 0x4c], eax
jne 0x42a083
lea ecx, [ebp - 0x190]
call fcn.00422ac6
mov esi, dword [ebp - 0x50]
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x68]
jmp 0x42a095
xor eax, eax
mov ecx, eax
mov dword [ebp - 0x68], ecx
movzx eax, word [esi + 0x3a]
cmp eax, edx
jg 0x42a0c4
cmp byte [ebx + 1], 0xf5
mov ecx, edi
jne 0x429e07
mov edx, dword [ebx + 0x10]
mov eax, 0x800
push eax
call fcn.00422fbe
pop ecx
jmp 0x428e57
mov ecx, dword [esi + edx*4 + 0x58]
mov dword [ebp - 0x68], ecx
mov eax, 0x2400
test word [edi + 8], ax
je 0x42a0e2
mov ecx, edi
call fcn.00422e6a
mov esi, dword [ebp - 0x50]
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x68]
mov edi, dword [ebp - 0x28]
mov eax, dword [esi + 0x54]
cmp eax, dword [edi + edx*4 + 4]
mov edi, dword [ebp - 0x5c]
jb 0x42a198
mov eax, dword [esi + 0x4c]
mov esi, dword [ebp - 0x28]
add eax, dword [esi + edx*4]
mov dword [ebp - 0x24], eax
cmp ecx, 0xc
jae 0x42a112
mov edx, ecx
mov ecx, eax
push edi
call fcn.00425bc6
jmp 0x42a0b7
mov al, byte [ebp - 0x64]
lea esi, [ecx - 0xc]
shr esi, 1
mov dword [edi + 0xc], esi
mov byte [edi + 0xa], al
lea edx, [esi + 2]
cmp dword [edi + 0x18], edx
jge 0x42a15d
xor eax, eax
mov ecx, edi
inc eax
mov word [edi + 8], ax
xor eax, eax
push eax
call fcn.0042273c
pop ecx
test eax, eax
je 0x42a163
mov edi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
call fcn.0040c1aa
push str.out_of_memory
push edi
call fcn.004237ef
pop ecx
pop ecx
push 7
jmp 0x42d475
mov eax, dword [edi + 0x14]
mov dword [edi + 0x10], eax
push esi
push dword [ebp - 0x24]
push dword [edi + 0x10]
call fcn.0046b220
mov eax, dword [edi + 0x10]
xor ecx, ecx
add esp, 0xc
mov byte [esi + eax], cl
mov eax, dword [edi + 0x10]
mov byte [esi + eax + 1], cl
inc ecx
mov eax, dword [ebp - 0x68]
and eax, ecx
mov ax, word [eax*2 + 0x531318]
mov word [edi + 8], ax
jmp 0x428e57
mov al, byte [ebp - 0x64]
mov byte [edi + 0xa], al
movzx eax, word [ebx + 2]
mov edx, dword [ebp - 0x68]
test al, 0xc0
je 0x42a1be
cmp edx, 0xc
jb 0x42a1b5
xor ecx, ecx
inc ecx
test cl, dl
je 0x42a1cc
mov ecx, 0x80
test cl, al
jne 0x42a1cc
mov ecx, edx
call fcn.00425a93
test eax, eax
jne 0x42a1d6
mov edx, dword [ebp - 0x68]
mov ecx, 0x545d84
jmp 0x42a10a
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x50]
push edi
push eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [ecx + 0x28]
mov edx, dword [eax + edx*4]
call fcn.004232a9
mov dword [ebp - 0x20], eax
pop ecx
pop ecx
test eax, eax
jne 0x42d45b
mov edx, dword [ebp - 0x68]
mov ecx, dword [edi + 0x10]
push edi
call fcn.00425bc6
pop ecx
mov ecx, 0xefff
and word [edi + 8], cx
jmp 0x428e57
imul esi, dword [ebx + 4], 0x28
mov edi, dword [ebx + 0x10]
add esi, dword [ebp - 0x1c]
mov al, byte [edi]
push dword [ebp - 0x64]
mov dl, al
mov ecx, esi
call fcn.00428933
cmp byte [edi], 0x45
pop ecx
jne 0x42a28d
movzx ecx, word [esi + 8]
push 4
pop eax
mov dword [ebp - 0x24], ecx
test al, cl
je 0x42a28d
mov edx, dword [esi]
xor eax, eax
add edx, eax
mov eax, dword [esi + 4]
adc eax, 0x8000
cmp eax, 0xffff
ja 0x42a26e
jb 0x42a25f
cmp edx, 0xffffffff
ja 0x42a26e
and ecx, 0xfffb
or ecx, 0x20
mov word [esi + 8], cx
jmp 0x42a28d
mov edx, dword [esi + 4]
mov ecx, dword [esi]
call fcn.0047ecf0
mov eax, dword [ebp - 0x24]
push 8
and eax, 0xfffb
movsd qword [esi], xmm0
pop ecx
or eax, ecx
mov word [esi + 8], ax
inc edi
mov al, byte [edi]
test al, al
je 0x42d28e
add esi, 0x28
jmp 0x42a223
imul ecx, dword [ebx + 4], 0x28
xor eax, eax
mov esi, eax
mov edi, dword [ebx + 0x10]
imul eax, dword [ebx + 8], 0x28
xorps xmm0, xmm0
movlpd qword [ebp - 0x48], xmm0
mov dword [ebp - 0x28], esi
add ecx, dword [ebp - 0x1c]
movlpd qword [ebp - 0x80], xmm0
add eax, 0xffffffd8
mov dword [ebp - 0x38], ecx
add eax, ecx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0x93]
mov byte [ebp - 0x2d], al
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x74], eax
test edi, edi
je 0x42a31e
push 4
lea esi, [ecx + 8]
pop ebx
push dword [ebp - 0x64]
mov dl, byte [edi]
lea ecx, [esi - 8]
call fcn.00428933
cmp byte [edi], 0x45
pop ecx
jne 0x42a30f
movzx eax, word [esi]
test bl, al
je 0x42a30f
and eax, 0xfffb
or eax, 0x20
mov word [esi], ax
inc edi
add esi, 0x28
cmp byte [edi], 0
jne 0x42a2ea
mov ebx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x28]
mov edx, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x44]
add edi, 0x1c
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x80]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x7c], edx
movzx edx, word [edi - 0x14]
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x44], edx
test dl, 1
je 0x42a368
inc esi
mov eax, 0x4000
mov dword [ebp - 0x28], esi
and edx, eax
movzx esi, dx
neg esi
sbb esi, esi
and esi, 0xa
mov edx, dword [ebp - 0x28]
jmp 0x42a52e
test dl, 0x24
je 0x42a493
mov eax, dword [edi - 0x18]
xor ecx, ecx
mov esi, dword [edi - 0x1c]
cmp eax, ecx
jg 0x42a38b
jl 0x42a383
cmp esi, ecx
jae 0x42a38b
mov ecx, esi
not eax
not ecx
jmp 0x42a38d
mov ecx, esi
inc dword [ebp - 0x28]
test eax, eax
ja 0x42a424
jb 0x42a39f
cmp ecx, 0x7f
ja 0x42a3cb
xor edx, edx
mov eax, esi
inc edx
and eax, edx
cmp eax, esi
jne 0x42a3bc
xor eax, eax
cmp eax, dword [edi - 0x18]
jne 0x42a3be
cmp byte [ebp - 0x2d], 4
jb 0x42a3be
lea esi, [ecx + 8]
jmp 0x42a3c6
xor eax, eax
add dword [ebp - 0x3c], edx
mov esi, edx
adc dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x4c]
jmp 0x42a360
test eax, eax
ja 0x42a424
jb 0x42a3d9
cmp ecx, 0x7fff
ja 0x42a3f1
push 2
mov ecx, dword [ebp - 0x4c]
pop edx
add dword [ebp - 0x3c], edx
mov esi, edx
push 0
pop eax
adc ecx, eax
mov dword [ebp - 0x4c], ecx
jmp 0x42a360
test eax, eax
ja 0x42a424
jb 0x42a3ff
cmp ecx, 0x7fffff
ja 0x42a412
add dword [ebp - 0x3c], 3
mov ecx, dword [ebp - 0x4c]
push 0
pop eax
adc ecx, eax
mov dword [ebp - 0x4c], ecx
push 3
jmp 0x42a48d
test eax, eax
ja 0x42a424
jb 0x42a420
cmp ecx, 0x7fffffff
ja 0x42a424
push 4
jmp 0x42a3db
cmp eax, 0x7fff
ja 0x42a44b
jb 0x42a432
cmp ecx, 0xffffffff
ja 0x42a44b
add dword [ebp - 0x3c], 6
mov ecx, dword [ebp - 0x4c]
push 0
pop eax
adc ecx, eax
push 5
pop eax
mov dword [ebp - 0x4c], ecx
mov esi, eax
jmp 0x42a360
mov ecx, dword [ebp - 0x4c]
push 8
pop eax
add dword [ebp - 0x3c], eax
push 0
pop eax
adc ecx, eax
mov dword [ebp - 0x4c], ecx
test dl, 0x20
je 0x42a48b
mov edx, dword [edi - 0x18]
mov ecx, esi
call fcn.0047ecf0
mov eax, dword [ebp - 0x44]
push 8
pop ecx
and eax, 0xffdf
movsd qword [edi - 0x1c], xmm0
or eax, ecx
push 7
mov word [edi - 0x14], ax
pop eax
mov esi, eax
jmp 0x42a3c6
push 6
pop esi
jmp 0x42a360
test dl, 8
je 0x42a4b3
mov edx, dword [ebp - 0x28]
push 8
pop esi
inc edx
add eax, esi
push 0
mov dword [ebp - 0x3c], eax
pop eax
adc ecx, eax
push 7
pop eax
mov dword [ebp - 0x4c], ecx
mov esi, eax
jmp 0x42a52b
mov ecx, dword [edi - 0x10]
mov eax, edx
shr eax, 1
and eax, 1
mov dword [ebp - 0x44], ecx
bt edx, 0xe
lea esi, [ecx + 6]
lea esi, [eax + esi*2]
jae 0x42a4fb
mov edx, dword [edi - 0x1c]
mov eax, dword [ebp - 0x3c]
or eax, dword [ebp - 0x4c]
lea esi, [esi + edx*2]
je 0x42a4f2
lea ecx, [edi - 0x1c]
call fcn.004228e0
test eax, eax
jne 0x42a13e
mov ecx, dword [ebp - 0x44]
add ecx, dword [edi - 0x1c]
jmp 0x42a4fb
mov eax, edx
cdq
add dword [ebp - 0x7c], eax
adc dword [ebp - 0x2c], edx
add dword [ebp - 0x3c], ecx
push 0
pop eax
adc dword [ebp - 0x4c], eax
mov edx, eax
xor ecx, ecx
lea edi, [ecx + 1]
mov ecx, esi
shr ecx, 7
jmp 0x42a51a
shrd ecx, edx, 7
inc edi
shr edx, 7
mov eax, ecx
or eax, edx
jne 0x42a512
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x4c]
add edx, edi
mov edi, dword [ebp - 0x5c]
mov dword [ebp - 0x28], edx
mov eax, edi
mov dword [eax], esi
lea eax, [edi - 0x1c]
cmp eax, dword [ebp - 0x38]
je 0x42a548
mov eax, dword [ebp - 0x3c]
sub edi, 0x28
mov esi, dword [ebp - 0x28]
jmp 0x42a33c
cmp edx, 0x7e
jle 0x42a573
mov eax, edx
cdq
push edx
push eax
call fcn.0040f0c1
mov esi, eax
mov eax, dword [ebp - 0x28]
add eax, esi
mov dword [ebp - 0x28], eax
cdq
push edx
push eax
call fcn.0040f0c1
mov edx, dword [ebp - 0x28]
add esp, 0x10
cmp esi, eax
jge 0x42a577
inc edx
mov dword [ebp - 0x28], edx
mov eax, edx
cdq
mov edi, eax
mov ecx, edx
add edi, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x74]
mov esi, edi
adc ecx, dword [ebp - 0x4c]
add esi, dword [ebp - 0x7c]
mov eax, dword [eax + 0x18]
adc ecx, dword [ebp - 0x2c]
cdq
cmp ecx, edx
jg 0x42a5a8
jl 0x42a59d
cmp esi, eax
ja 0x42a5a8
mov ecx, dword [ebp - 0x74]
mov eax, dword [ecx + 0x14]
mov dword [ecx + 0x10], eax
jmp 0x42a5d6
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x6c]
cdq
cmp ecx, edx
jg 0x42d5a0
jl 0x42a5c1
cmp esi, eax
ja 0x42d5a0
mov ecx, dword [ebp - 0x74]
mov edx, edi
call fcn.00422838
test eax, eax
jne 0x42a13e
mov ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x7c]
push 0x10
pop eax
mov word [ecx + 8], ax
mov eax, edx
or eax, dword [ebp - 0x2c]
mov dword [ecx + 0xc], edi
je 0x42a5f5
mov eax, 0x4010
mov dword [ecx], edx
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x28]
mov edx, 0x80
mov esi, dword [ecx + 0x10]
lea edi, [esi + eax]
cmp eax, edx
jae 0x42a610
xor ecx, ecx
mov byte [esi], al
inc ecx
mov eax, ecx
jmp 0x42a622
cdq
mov ecx, esi
push edx
push eax
call fcn.0040ee82
pop ecx
pop ecx
xor ecx, ecx
inc ecx
lea edx, [ecx + 0x7f]
mov ebx, dword [ebp - 0x38]
movzx eax, al
add esi, eax
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x44], eax
cmp eax, edx
jae 0x42a63a
mov byte [esi], al
mov eax, ecx
jmp 0x42a647
xor ecx, ecx
push ecx
push eax
mov ecx, esi
call fcn.0040ee82
pop ecx
pop ecx
push dword [ebp - 0x44]
movzx eax, al
mov edx, ebx
mov ecx, edi
add esi, eax
call fcn.00425aa9
pop ecx
push 1
pop ecx
add ebx, 0x28
add edi, eax
lea edx, [ecx + 0x7f]
cmp ebx, dword [ebp - 0x24]
jbe 0x42a62a
mov ebx, dword [ebp - 0x34]
jmp 0x428e57
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.00420e61
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x4296cf
mov edx, ebx
mov ecx, edi
call fcn.00428a6a
mov ecx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x114]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp 0x428b94
mov eax, dword [ebx + 4]
mov edi, dword [ebx + 0x10]
mov dword [ebp - 0x34], eax
test eax, eax
jne 0x42a796
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp dword [eax + 0xb8], ecx
jg 0x42d463
mov ecx, edi
call fcn.0040e20b
mov esi, eax
xor edx, edx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x44], esi
mov ecx, dword [eax + 0x1d0]
add ecx, dword [eax + 0x1cc]
push ecx
mov ecx, eax
call fcn.0045637b
mov dword [ebp - 0x20], eax
pop ecx
test eax, eax
jne 0x42d45b
xor ecx, ecx
lea eax, [esi + 0x21]
push ecx
mov ecx, dword [ebp - 0x14]
push eax
call fcn.0040bf37
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x42d28e
mov ecx, dword [ebp - 0x44]
lea edx, [esi + 0x20]
inc ecx
mov dword [esi], edx
push ecx
push edi
push edx
call fcn.0046b220
mov edx, dword [ebp - 0x14]
add esp, 0xc
cmp byte [edx + 0x4f], 0
je 0x42a753
xor eax, eax
mov byte [edx + 0x4f], al
inc eax
mov byte [edx + 0x57], al
jmp 0x42a759
inc dword [edx + 0x1cc]
mov eax, dword [edx + 0x1c4]
mov edi, dword [ebp - 0x18]
mov dword [esi + 0x18], eax
mov eax, dword [edx + 0x1d8]
mov ecx, dword [edx + 0x1dc]
mov dword [edx + 0x1c4], esi
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
mov eax, dword [edx + 0x1e0]
mov ecx, dword [edx + 0x1e4]
mov dword [esi + 0x10], eax
mov eax, edx
mov dword [esi + 0x14], ecx
jmp 0x429c3d
xor eax, eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 0x1c4]
jmp 0x42a7b9
mov ecx, dword [esi]
mov edx, edi
call fcn.0040e407
test eax, eax
je 0x42a7d7
inc dword [ebp - 0x28]
mov esi, dword [esi + 0x18]
test esi, esi
jne 0x42a7a6
push edi
mov edi, dword [ebp - 0x18]
push str.no_such_savepoint:__s
push edi
call fcn.004237ef
add esp, 0xc
xor eax, eax
inc eax
jmp 0x4296cf
mov edi, dword [ebp - 0x14]
xor ecx, ecx
mov edx, dword [ebp - 0x34]
xor eax, eax
inc ecx
cmp dword [edi + 0xb8], eax
jle 0x42a7f2
cmp edx, ecx
je 0x42d47b
cmp dword [esi + 0x18], eax
jne 0x42a84e
cmp byte [edi + 0x57], al
je 0x42a84e
mov dword [ebp - 0x2c], ecx
cmp edx, ecx
jne 0x42a857
mov edi, dword [ebp - 0x18]
mov edx, ecx
mov ecx, edi
call fcn.004253e2
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x429783
mov eax, dword [ebp - 0x14]
xor ecx, ecx
inc ecx
mov byte [eax + 0x4f], cl
mov ecx, edi
call fcn.0042543d
push 5
pop ecx
cmp eax, ecx
je 0x42d482
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov byte [eax + 0x57], cl
mov eax, dword [edi + 0x28]
mov dword [ebp - 0x20], eax
xor eax, eax
inc eax
mov dword [ebp - 0x2c], eax
jmp 0x42a94a
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
mov eax, dword [edi + 0x1cc]
sub eax, dword [ebp - 0x28]
push 2
dec eax
pop ecx
mov dword [ebp - 0x28], eax
cmp edx, ecx
jne 0x42a9b5
mov eax, dword [edi + 0x18]
xor ecx, ecx
inc ecx
and eax, ecx
xor ecx, ecx
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x24], ecx
cmp dword [edi + 0x14], ecx
jle 0x42a8cd
xor edx, edx
mov edi, ecx
inc edx
xor eax, edx
mov dword [ebp - 0x44], eax
push eax
mov eax, dword [ebp - 0x14]
mov edx, 0x204
mov ecx, dword [eax + 0x10]
mov ecx, dword [ecx + edi + 4]
call fcn.0041c26e
mov dword [ebp - 0x20], eax
pop ecx
test eax, eax
jne 0x42d45b
mov eax, dword [ebp - 0x24]
push 0x10
pop ecx
add edi, ecx
inc eax
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x24], eax
cmp eax, dword [ecx + 0x14]
mov eax, dword [ebp - 0x44]
jl 0x42a88e
mov edx, dword [ebp - 0x34]
mov edi, ecx
xor ecx, ecx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], ecx
cmp dword [edi + 0x14], ecx
jle 0x42a912
mov edi, ecx
push eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x10]
mov ecx, dword [ecx + edi + 4]
call fcn.0041c3e0
mov dword [ebp - 0x20], eax
pop ecx
test eax, eax
jne 0x42d45b
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x34]
inc eax
push 0x10
pop ecx
add edi, ecx
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x14]
cmp eax, dword [ecx + 0x14]
mov eax, dword [ebp - 0x28]
jl 0x42a8da
mov edi, ecx
cmp dword [ebp - 0x5c], 0
je 0x42a947
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x42a93a
xor edx, edx
inc edx
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 0x42a922
mov ecx, edi
call fcn.0043b97c
xor eax, eax
inc eax
or dword [edi + 0x18], eax
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x1c4]
cmp ecx, esi
je 0x42a97e
mov edi, eax
mov eax, dword [ecx + 0x18]
mov edx, ecx
mov ecx, edi
mov dword [edi + 0x1c4], eax
call fcn.0040bcf5
dec dword [edi + 0x1cc]
mov ecx, dword [edi + 0x1c4]
cmp ecx, esi
jne 0x42a959
mov edi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x34]
xor eax, eax
inc eax
cmp edx, eax
jne 0x42a9bf
mov ecx, dword [ebp - 0x14]
mov edx, esi
mov eax, dword [esi + 0x18]
mov dword [ecx + 0x1c4], eax
call fcn.0040bcf5
cmp dword [ebp - 0x2c], 0
jne 0x4296c4
mov ecx, dword [ebp - 0x14]
mov eax, ecx
mov edx, dword [ebp - 0x34]
dec dword [ecx + 0x1cc]
jmp 0x42aa00
xor ecx, ecx
mov dword [ebp - 0x5c], ecx
jmp 0x42a8d0
cmp dword [ebp - 0x2c], 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 - 0x18]
mov dword [esi + 0x1e0], eax
mov eax, esi
mov dword [eax + 0x1e4], ecx
je 0x42aa00
push 2
pop ecx
cmp edx, ecx
jne 0x4296c4
mov ecx, dword [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.0045637b
mov dword [ebp - 0x20], eax
pop ecx
test eax, eax
jne 0x4296cf
jmp 0x4296c7
mov edx, dword [ebx + 8]
xor ecx, ecx
mov dword [ebp - 0x38], ecx
test edx, edx
je 0x42aa3b
mov eax, dword [eax + 0x20]
and eax, 0x100000
or eax, ecx
jne 0x42d4a3
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 0x42aaf9
lea eax, [ebp - 0x38]
mov ecx, esi
push eax
call fcn.0041b796
mov dword [ebp - 0x20], eax
pop ecx
test eax, eax
jne 0x42d4a7
xor ecx, ecx
cmp dword [ebx + 8], ecx
je 0x42ab03
mov edx, 0x80
test byte [edi + 0x98], dl
mov edx, dword [ebp - 0x14]
je 0x42ab06
cmp byte [edx + 0x4f], cl
je 0x42aa93
cmp dword [edx + 0xb4], 1
jle 0x42ab06
mov eax, dword [edi + 0x30]
test eax, eax
jne 0x42aaaf
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.0045637b
mov dword [ebp - 0x20], eax
pop ecx
test eax, eax
jne 0x42aad0
mov edx, dword [edi + 0x30]
mov ecx, esi
call fcn.0041c3aa
mov dword [ebp - 0x20], 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 0x42aafc
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
jmp 0x42ab06
mov edx, dword [ebp - 0x14]
cmp word [ebx + 2], cx
je 0x4296c7
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebx + 0xc]
jne 0x42ab30
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 0x4296c4
mov edx, dword [edi + 0x7c]
mov ecx, dword [ebp - 0x14]
call fcn.0040bd26
mov ecx, dword [ebp - 0x14]
mov edx, str.database_schema_has_changed
call fcn.0040c09f
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 - 0x38]
je 0x42ab6b
mov ecx, dword [ebp - 0x14]
call fcn.0043b918
mov eax, dword [edi + 0x98]
xor ecx, ecx
and eax, 0xfffffffd
inc ecx
or eax, ecx
mov dword [edi + 0x98], eax
push 0x11
jmp 0x42d475
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.00420dce
pop ecx
mov edx, ebx
mov ecx, edi
call fcn.00428a6a
mov ecx, eax
mov eax, dword [ebp - 0x104]
jmp 0x428ca5
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.00420e10
xor edx, edx
mov dword [ebp - 0x20], eax
inc edx
pop ecx
cmp dword [ebx + 8], edx
jne 0x42abee
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 0x42ac02
push 2
pop eax
cmp dword [ebx + 8], eax
jne 0x42abff
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 0x4296c4
mov ecx, dword [eax + 4]
jmp 0x42ac24
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 0x42ac10
and dword [edi + 0x98], 0xfffffffc
jmp 0x4296c4
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x42ac4d
mov eax, dword [esi + 0x34]
cmp eax, dword [ebx + 8]
je 0x42ad4d
mov cl, byte [ebp - 0x2d]
mov eax, dword [edi + 0x98]
xor edx, edx
and al, 3
inc edx
cmp al, dl
je 0x42d4c8
mov esi, dword [ebx + 0xc]
xor eax, eax
mov edi, dword [ebp - 0x14]
mov edx, dword [ebx + 8]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x38], eax
mov eax, esi
shl eax, 4
add eax, dword [edi + 0x10]
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x44], esi
mov edi, dword [eax + 4]
mov dword [ebp - 0x2c], edi
cmp cl, 0x62
jne 0x42acb4
movzx edi, word [ebx + 2]
mov eax, dword [eax + 0xc]
push 8
pop ecx
and edi, ecx
mov al, byte [eax + 0x4c]
push 4
pop ecx
or edi, ecx
mov ecx, dword [ebp - 0x18]
cmp al, byte [ecx + 0x93]
jae 0x42acb8
mov byte [ecx + 0x93], al
jmp 0x42acb8
xor eax, eax
mov edi, eax
push 0x10
pop eax
test byte [ebx + 2], al
je 0x42acd5
imul esi, edx, 0x28
add esi, dword [ebp - 0x1c]
mov ecx, esi
call fcn.00422c4e
mov eax, dword [esi]
mov esi, dword [ebp - 0x44]
mov dword [ebp - 0x24], eax
mov al, byte [ebx + 1]
cmp al, 0xf7
jne 0x42ace8
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x38], eax
movzx eax, word [eax + 8]
jmp 0x42acf4
cmp al, 0xfd
jne 0x42acf1
mov eax, dword [ebx + 0x10]
jmp 0x42acf4
mov eax, dword [ebp - 0x5c]
mov edx, dword [ebx + 4]
xor ecx, ecx
push ecx
mov ecx, dword [ebp - 0x18]
push esi
push eax
call fcn.004287b9
mov esi, eax
add esp, 0xc
test esi, esi
je 0x42a13e
mov ecx, dword [ebp - 0x2c]
xor eax, eax
inc eax
push 4
mov byte [esi + 2], al
pop eax
push dword [esi + 0x28]
or dword [esi + 8], eax
mov eax, dword [ebp - 0x24]
mov edx, eax
push dword [ebp - 0x38]
mov dword [esi + 0x34], eax
push edi
call fcn.0041c517
mov edi, dword [ebp - 0x18]
add esp, 0xc
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x38]
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 0x4296c4
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 - 0x38], eax
mov ecx, edi
push 0xffffffffffffffff
movsx eax, word [eax + 0x38]
push eax
call fcn.004287b9
mov edi, eax
add esp, 0xc
test edi, edi
je 0x42a13e
mov esi, dword [edi + 8]
xor eax, eax
mov edx, dword [ebp - 0x38]
inc eax
push dword [edi + 0x28]
mov byte [edi + 2], al
or esi, eax
mov dword [edi + 8], esi
mov ecx, dword [edx + 0x2c]
mov dword [edi + 0x2c], ecx
mov al, byte [edx + 4]
mov byte [edi + 4], al
mov eax, dword [ebp - 0x38]
mov edx, dword [edx + 0x34]
mov dword [edi + 0x34], edx
push ecx
mov eax, dword [eax + 8]
xor eax, esi
and eax, 4
xor eax, esi
mov dword [edi + 8], eax
push 4
pop eax
push eax
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 0xc]
call fcn.0041c517
add esp, 0xc
mov dword [ebp - 0x20], eax
jmp 0x428e57
mov eax, dword [edi + 0x60]
mov edx, dword [ebx + 4]
mov esi, dword [eax + edx*4]
xor eax, eax
test esi, esi
je 0x42ae11
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], eax
mov dword [esi + 0x1c], eax
test ecx, ecx
je 0x42aef3
mov edx, dword [esi + 0x34]
push eax
call fcn.00420bb6
pop ecx
mov dword [ebp - 0x20], eax
jmp 0x42aef6
push eax
push 0xffffffffffffffff
push dword [ebx + 8]
mov ecx, edi
call fcn.004287b9
mov esi, eax
add esp, 0xc
test esi, esi
je 0x42a141
xor eax, eax
lea edi, [esi + 0xc]
push 0x41e
inc eax
xor edx, edx
or dword [esi + 8], eax
movzx eax, word [ebx + 2]
push 5
pop ecx
or eax, ecx
push eax
mov eax, dword [ebp - 0x14]
push edi
push eax
mov ecx, dword [eax]
call fcn.0041ab0f
add esp, 0x10
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x42aed6
mov ecx, dword [edi]
lea edx, [eax + 1]
push eax
call fcn.0041b796
mov dword [ebp - 0x20], eax
pop ecx
test eax, eax
jne 0x42aed6
mov eax, dword [ebx + 0x10]
mov ecx, dword [edi]
mov dword [ebp - 0x44], eax
mov dword [esi + 0x2c], eax
test eax, eax
je 0x42aeb5
movzx eax, word [ebx + 2]
push 2
pop edx
or eax, edx
lea edx, [esi + 0x34]
push eax
call fcn.00420a32
mov dword [ebp - 0x20], eax
pop ecx
test eax, eax
jne 0x42aeb1
push dword [esi + 0x28]
mov edx, dword [esi + 0x34]
push dword [ebp - 0x44]
mov ecx, dword [edi]
push 4
pop eax
push eax
call fcn.0041c517
add esp, 0xc
mov dword [ebp - 0x20], eax
xor eax, eax
jmp 0x42aed3
push dword [esi + 0x28]
xor eax, eax
xor edx, edx
push eax
push 4
pop eax
inc edx
push eax
mov dword [esi + 0x34], edx
call fcn.0041c517
mov dword [ebp - 0x20], eax
add esp, 0xc
xor eax, eax
inc eax
mov byte [esi + 4], al
mov edi, dword [ebp - 0x18]
xor ecx, ecx
push 8
pop eax
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 - 0x20]
test eax, eax
jne 0x4296cf
inc eax
mov byte [esi + 2], al
jmp 0x428c0b
mov edx, dword [ebx + 4]
xor eax, eax
inc eax
mov ecx, edi
push eax
push 0xffffffffffffffff
push dword [ebx + 8]
call fcn.004287b9
add esp, 0xc
test eax, eax
je 0x42a141
mov ecx, dword [ebx + 0x10]
mov dword [eax + 0x2c], ecx
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x14]
push eax
call fcn.0042e932
pop ecx
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x4296cf
jmp 0x428b94
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 - 0x18]
mov dword [edx + 0x14], eax
je 0x42c667
jmp 0x428c0b
mov edx, dword [ebx + 4]
mov ecx, edi
push 3
push 0xffffffffffffffff
push dword [ebx + 0xc]
call fcn.004287b9
mov esi, eax
add esp, 0xc
test esi, esi
je 0x42a141
xor eax, eax
inc eax
mov byte [esi + 2], al
mov ecx, dword [ebx + 8]
mov dword [esi + 0x20], ecx
mov byte [esi + 4], al
call fcn.004198a2
mov dword [esi + 0x28], eax
jmp 0x428c0b
mov eax, dword [ebx + 4]
mov ecx, edi
mov edx, dword [edi + 0x60]
mov edx, dword [edx + eax*4]
call fcn.00424b63
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x60]
mov dword [eax + ecx*4], edx
jmp 0x428b94
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov edi, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0x28], ecx
mov word [edi + 2], cx
mov dword [edi + 0x1c], ecx
cmp byte [edi + 4], cl
je 0x42b0fb
imul esi, dword [ebx + 0xc], 0x28
push 2
pop ecx
add esi, dword [ebp - 0x1c]
movzx eax, word [esi + 8]
mov dword [ebp - 0x44], eax
and al, 0x2e
cmp al, cl
jne 0x42b011
xor edx, edx
mov ecx, esi
call fcn.00428884
mov ecx, esi
call fcn.00422b37
movzx ecx, word [esi + 8]
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x38], eax
mov word [esi + 8], dx
test cl, 0x24
jne 0x42b099
test cl, 8
jne 0x42b063
xor eax, eax
inc eax
test al, cl
jne 0x42c664
cmp dword [ebp - 0x3c], 0x18
jae 0x42c664
mov ecx, dword [edi + 0x28]
lea edx, [ebp - 0x70]
call fcn.0041ccfe
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x42d45b
jmp 0x42b1d6
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x38]
call fcn.0047ecf0
movsd xmm1, qword [esi]
comisd xmm0, xmm1
jbe 0x42b085
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
inc ecx
test cl, al
je 0x42b099
dec eax
jmp 0x42b096
comisd xmm1, xmm0
jbe 0x42b099
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
inc ecx
test cl, al
jne 0x42b099
inc eax
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x70]
xor edx, edx
push eax
xor eax, eax
lea esi, [edi + 0x28]
mov ecx, dword [esi]
push eax
push dword [ebp - 0x2c]
push dword [ebp - 0x38]
call fcn.0041cd5a
mov ecx, dword [ebp - 0x38]
add esp, 0x10
mov dword [edi + 0x40], ecx
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x20], eax
mov dword [edi + 0x44], ecx
test eax, eax
jne 0x42d45b
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x70]
cmp eax, 0x18
jl 0x42b19a
test ecx, ecx
js 0x42b18b
jne 0x42b0f1
cmp eax, 0x19
je 0x42b18b
xor eax, eax
mov dword [ebp - 0x70], eax
jmp 0x42b1e3
lea esi, [edi + 0x28]
mov eax, dword [esi]
push 0
mov al, byte [eax + 3]
and al, 2
mov byte [ebp - 0x2d], al
pop eax
setne al
mov dword [ebp - 0x28], eax
mov eax, dword [edi + 0x2c]
mov dword [ebp - 0x128], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x120], ax
mov eax, edx
xor edx, edx
mov byte [ebp - 0x11a], cl
inc edx
and al, dl
lea edx, [ebp - 0x128]
neg al
sbb al, al
and al, 0xfe
inc al
mov byte [ebp - 0x11e], al
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x124], eax
lea eax, [ebp - 0x70]
push eax
push ecx
push ecx
push ecx
mov ecx, dword [esi]
call fcn.0041cd5a
add esp, 0x10
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x42d45b
cmp byte [ebp - 0x2d], al
je 0x42b0cc
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x28], edx
cmp byte [ebp - 0x11a], al
je 0x42b1d9
jmp 0x42b0cf
xor eax, eax
push eax
mov dword [ebp - 0x70], eax
push dword [esi]
call fcn.0041d20f
jmp 0x42b1bb
test ecx, ecx
jg 0x42b1ae
jne 0x42b1a5
cmp eax, 0x16
je 0x42b1ae
mov ecx, dword [esi]
call fcn.0041d0e9
jmp 0x42b1d3
xor eax, eax
push eax
mov dword [ebp - 0x70], eax
push dword [esi]
call fcn.0041d31f
mov dword [ebp - 0x20], eax
pop ecx
pop ecx
test eax, eax
je 0x42b1d6
cmp eax, 0x65
jne 0x42d45b
xor eax, eax
mov dword [ebp - 0x20], eax
inc eax
mov dword [ebp - 0x70], eax
mov edx, dword [ebp - 0x28]
cmp dword [ebp - 0x70], 0
jne 0x42c664
mov esi, dword [ebp - 0x1c]
test edx, edx
je 0x42d282
push 0x14
pop eax
add ebx, eax
jmp 0x429878
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 0x428b94
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
test byte [eax + 8], 8
jne 0x428b94
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
imul esi, dword [ebx + 0xc], 0x28
mov edi, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0x24], edi
add esi, dword [ebp - 0x1c]
cmp dword [ebx + 0x10], ecx
jle 0x42b26c
mov eax, dword [edi + 0x2c]
lea edi, [ebp - 0x168]
mov dword [ebp - 0x168], eax
mov ax, word [ebx + 0x10]
mov dword [ebp - 0x164], esi
mov esi, dword [ebp - 0x24]
mov word [ebp - 0x160], ax
mov dword [ebp - 0x5c], ecx
jmp 0x42b2b1
mov eax, 0x4000
test word [esi + 8], ax
je 0x42b286
mov ecx, esi
call fcn.004228e0
test eax, eax
jne 0x42a13e
mov ecx, dword [edi + 0x2c]
call fcn.00425d46
mov edi, eax
mov dword [ebp - 0x5c], edi
test edi, edi
je 0x42a13e
mov edx, dword [esi + 0xc]
push edi
push dword [esi + 0x10]
mov esi, dword [ebp - 0x24]
mov ecx, dword [esi + 0x2c]
call fcn.00425d9c
pop ecx
pop ecx
xor ecx, ecx
mov byte [edi + 0xa], cl
cmp byte [ebx], 0x1b
mov dword [ebp - 0x24], ecx
jne 0x42b2ef
movzx eax, word [edi + 8]
mov edx, ecx
xor ecx, ecx
cmp cx, ax
jae 0x42b2ed
mov ecx, dword [edi + 4]
mov dword [ebp - 0x44], eax
add ecx, 8
test byte [ecx], 1
jne 0x42b2e7
movzx eax, ax
inc edx
add ecx, 0x28
cmp edx, eax
mov eax, dword [ebp - 0x44]
jl 0x42b2d2
jmp 0x42b2ed
xor eax, eax
inc eax
mov dword [ebp - 0x24], eax
xor ecx, ecx
lea eax, [ebp - 0xf4]
mov edx, edi
push eax
push ecx
push ecx
push ecx
mov ecx, dword [esi + 0x28]
call fcn.0041cd5a
mov edx, dword [ebp - 0x5c]
add esp, 0x10
mov dword [ebp - 0x20], eax
test edx, edx
je 0x42b31b
mov ecx, dword [ebp - 0x14]
call fcn.0040bcf5
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x42d45b
mov eax, dword [ebp - 0xf4]
xor ecx, ecx
mov edi, dword [ebp - 0x18]
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0xf4]
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 0x42b358
test ecx, ecx
jmp 0x429888
cmp dword [ebp - 0x24], eax
jne 0x42c667
test ecx, ecx
jmp 0x42af6e
imul esi, dword [ebx + 0xc], 0x28
add esi, dword [ebp - 0x1c]
test byte [esi + 8], 0x24
jne 0x42b3ae
push 0xa
pop ecx
push dword [ebp - 0x64]
lea edi, [ebp - 0xd8]
mov dl, 0x43
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0xd8]
call fcn.00428933
pop ecx
push 4
pop eax
test byte [ebp - 0xd0], al
je 0x42c664
mov edi, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xd4]
jmp 0x42b3bc
mov esi, dword [ebp - 0x1c]
imul eax, dword [ebx + 0xc], 0x28
mov edi, dword [eax + esi]
mov edx, dword [eax + esi + 4]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
xor eax, eax
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0xe4], eax
lea eax, [ebp - 0xe4]
push eax
xor eax, eax
push eax
push edx
push edi
xor edx, edx
call fcn.0041cd5a
xor ecx, ecx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x24]
add esp, 0x10
mov dword [esi + 0x40], edi
mov dword [esi + 0x44], eax
mov word [esi + 2], cx
mov dword [esi + 0x1c], ecx
mov eax, dword [ebp - 0xe4]
mov dword [esi + 0x20], eax
cmp dword [ebp - 0xe4], ecx
je 0x42b42a
cmp dword [ebx + 8], ecx
jne 0x42c664
mov ecx, 0x159cf
call fcn.00468418
mov dword [ebp - 0x20], eax
jmp 0x42b42d
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x18]
jmp 0x4296c7
mov edx, ebx
mov ecx, edi
call fcn.00428a6a
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 0x428b94
xorps xmm0, xmm0
xor eax, eax
mov edx, ebx
movlpd qword [ebp - 0x60], xmm0
mov ecx, edi
mov dword [ebp - 0x2c], eax
call fcn.00428a6a
mov edx, dword [ebx + 4]
mov ecx, dword [edi + 0x60]
push 2
mov dword [ebp - 0x24], eax
pop eax
mov edi, dword [ecx + edx*4]
mov dword [ebp - 0x44], edi
test byte [edi + 8], al
jne 0x42b4f4
mov ecx, dword [edi + 0x28]
lea edx, [ebp - 0x2c]
call fcn.0041ccfe
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x42d45b
cmp dword [ebp - 0x2c], eax
je 0x42b4bf
inc eax
mov dword [ebp - 0x60], eax
xor eax, eax
mov dword [ebp - 0x5c], eax
jmp 0x42b4f4
mov ecx, dword [edi + 0x28]
call fcn.0041c5fe
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
cmp edx, 0x7fffffff
jl 0x42b4e4
jg 0x42b4dc
cmp eax, 0xffffffff
jb 0x42b4e4
push 2
pop eax
or dword [edi + 8], eax
jmp 0x42b4f4
xor ecx, ecx
inc ecx
add eax, ecx
push 0
pop ecx
adc edx, ecx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x42b57a
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0xc8]
test eax, eax
jne 0x42b55f
imul esi, ecx, 0x28
add esi, dword [ebp - 0x1c]
mov ecx, esi
call fcn.00422c4e
mov ecx, dword [esi]
mov edx, dword [esi + 4]
cmp ecx, 0xffffffff
jne 0x42b52b
cmp edx, 0x7fffffff
je 0x42b5d8
push 2
pop eax
test byte [edi + 8], al
jne 0x42b5d8
mov edi, dword [ebp - 0x5c]
xor eax, eax
inc eax
add ecx, eax
push 0
pop eax
adc edx, eax
cmp edi, edx
jg 0x42b56f
jl 0x42b551
mov eax, dword [ebp - 0x60]
cmp eax, ecx
jae 0x42b572
mov eax, ecx
mov edi, edx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edi
jmp 0x42b572
mov eax, ecx
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x42b55d
imul esi, dword [ebx + 0xc], 0x28
add esi, dword [eax + 0x10]
jmp 0x42b50e
mov eax, dword [ebp - 0x60]
mov dword [esi + 4], edi
mov edi, dword [ebp - 0x44]
mov dword [esi], eax
push 2
pop eax
test byte [edi + 8], al
je 0x42b5e0
xor eax, eax
mov esi, eax
lea eax, [ebp - 0x60]
push eax
push 8
pop eax
push eax
call fcn.0040d97f
mov eax, dword [ebp - 0x5c]
xor edx, edx
mov ecx, dword [ebp - 0x60]
inc edx
push 0
and eax, 0x3fffffff
add ecx, edx
pop edx
adc eax, edx
mov dword [ebp - 0x60], ecx
lea edx, [ebp - 0x2c]
mov dword [ebp - 0x5c], eax
push edx
xor edx, edx
push edx
push eax
push ecx
mov ecx, dword [edi + 0x28]
call fcn.0041cd5a
add esp, 0x18
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x42d45b
cmp dword [ebp - 0x2c], eax
jne 0x42b5e0
inc esi
cmp esi, 0x64
jl 0x42b586
push 0xd
pop eax
jmp 0x42d45b
mov edx, dword [ebp - 0x24]
xor eax, eax
mov byte [edi + 3], al
mov dword [edi + 0x1c], eax
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp 0x428e57
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
imul edx, dword [ebx + 8], 0x28
mov edi, dword [eax + ecx*4]
imul eax, dword [ebx + 0xc], 0x28
mov ecx, dword [ebp - 0x1c]
add edx, esi
cmp byte [ebx + 1], 0xfa
mov esi, dword [eax + esi]
mov eax, dword [eax + ecx + 4]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0xd0], esi
mov dword [ebp - 0xcc], eax
jne 0x42b653
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0xf0], 0
je 0x42b653
mov eax, dword [ebp - 0x14]
movsx ecx, byte [edi + 1]
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8]
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x44]
jmp 0x42b658
xor ecx, ecx
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x24], ecx
xor ecx, ecx
inc ecx
test byte [ebx + 2], cl
je 0x42b669
mov ecx, dword [ebp - 0x18]
inc dword [ecx + 0x2c]
test byte [ebx + 2], 0x20
je 0x42b678
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x28], esi
mov dword [ecx + 0x2c], eax
mov eax, dword [edx + 0x10]
movzx ecx, word [ebx + 2]
mov dword [ebp - 0xc8], eax
mov eax, dword [edx + 0xc]
push 0x10
mov dword [ebp - 0xbc], eax
pop eax
test al, cl
je 0x42b69a
mov esi, dword [edi + 0x20]
jmp 0x42b69e
xor eax, eax
mov esi, eax
mov eax, 0x4000
test word [edx + 8], ax
push 0
pop eax
je 0x42b6b8
mov eax, dword [edx]
mov dword [ebp - 0xb8], eax
xor eax, eax
jmp 0x42b6be
mov dword [ebp - 0xb8], eax
and ecx, 0xa
mov dword [ebp - 0xd8], eax
push esi
push ecx
mov ecx, dword [edi + 0x28]
lea edx, [ebp - 0xd8]
call fcn.004201b3
pop ecx
pop ecx
xor ecx, ecx
mov dword [ebp - 0x20], eax
mov byte [edi + 3], cl
mov dword [edi + 0x1c], ecx
test eax, eax
jne 0x42d45b
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x42d28e
push dword [ebp - 0xcc]
push dword [ebp - 0xd0]
push dword [eax]
push dword [ebp - 0x5c]
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 0x428e57
cmp byte [ebx + 1], 0xfa
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x44], eax
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
jne 0x42b781
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp dword [eax + 0xf0], ecx
je 0x42b781
movsx ecx, byte [esi + 1]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov edi, dword [ebx + 0x10]
push 2
mov eax, dword [eax + ecx*8]
mov dword [ebp - 0x24], eax
pop eax
test byte [ebx + 2], al
je 0x42b788
cmp byte [esi + 4], 0
je 0x42b788
mov ecx, dword [esi + 0x28]
call fcn.0041c5fe
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], edx
jmp 0x42b788
xor eax, eax
mov dword [ebp - 0x24], eax
mov edi, eax
mov dl, byte [ebx + 2]
mov ecx, dword [esi + 0x28]
call fcn.00420536
xor ecx, ecx
mov dword [ebp - 0x20], eax
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x20], ecx
test eax, eax
jne 0x42d45b
inc eax
test byte [ebp - 0x44], al
je 0x42d28e
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
inc dword [eax + 0x2c]
mov eax, dword [ecx + 0xf0]
test eax, eax
je 0x42d28a
test byte [edi + 0x24], 0x20
jne 0x42d28a
push dword [esi + 0x44]
push dword [esi + 0x40]
push dword [edi]
push dword [ebp - 0x24]
push 9
push dword [ecx + 0xec]
call eax
jmp 0x42b727
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.0x428b55.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 - 0xf8], eax
lea eax, [ebp - 0xf8]
push eax
push dword [ebx + 0x10]
add edx, esi
call fcn.00430171
mov dword [ebp - 0x20], eax
pop ecx
pop ecx
test eax, eax
jne 0x4296cf
cmp dword [ebp - 0xf8], eax
jmp 0x428bbb
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.0043011b
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x4296cf
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 0x428b94
mov edx, ebx
mov ecx, edi
call fcn.00428a6a
mov ecx, dword [edi + 0x60]
mov esi, eax
mov edx, dword [ebx + 4]
mov ecx, dword [ecx + edx*4]
mov edi, dword [ecx + 0x28]
mov ecx, edi
call fcn.0041c5c8
mov ecx, dword [ebp - 0x14]
mov eax, dword [edi + 0x2c]
cmp eax, dword [ecx + 0x6c]
ja 0x42d5a0
push esi
push eax
xor edx, edx
mov ecx, edi
call fcn.004232a9
mov dword [ebp - 0x20], eax
pop ecx
pop ecx
test eax, eax
jne 0x42d45b
cmp dword [ebx + 0xc], eax
jne 0x42d28e
mov eax, 0x1000
test word [esi + 8], ax
je 0x42d28e
mov ecx, esi
call fcn.0042289a
mov edi, dword [ebp - 0x18]
test eax, eax
jne 0x42a141
jmp 0x428c0b
mov edx, ebx
mov ecx, edi
call fcn.00428a6a
mov edx, dword [ebx + 4]
mov edi, eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x60]
mov esi, dword [ecx + edx*4]
cmp byte [esi + 2], 0
je 0x42b90c
xor eax, eax
inc eax
jmp 0x42a18f
cmp byte [esi + 3], 0
je 0x42b91a
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 0x44]
jmp 0x42b97a
push 2
pop eax
cmp byte [esi], al
jne 0x42b95b
mov ecx, dword [esi + 0x28]
lea edx, [ebp - 0xf0]
push edx
push ecx
mov esi, dword [ecx]
mov eax, dword [esi]
call dword [eax + 0x30]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x18]
mov edx, esi
mov dword [ebp - 0x20], eax
call fcn.00426c7b
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x42d45b
mov edx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xf0]
jmp 0x42b986
mov ecx, esi
call fcn.00425a3b
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x42d45b
cmp byte [esi + 2], al
jne 0x42b904
mov ecx, dword [esi + 0x28]
call fcn.0041c5fe
mov dword [ebp - 0xec], edx
mov dword [ebp - 0xf0], eax
mov dword [edi], eax
mov dword [edi + 4], edx
jmp 0x428e57
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 0x42d28e
mov esi, dword [esi + 0x28]
push dword [esi + 0x10]
call fcn.0040bc87
xor eax, eax
mov dword [esi + 0x10], eax
inc eax
pop ecx
mov byte [esi], al
jmp 0x428c0b
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
xor eax, eax
cmp byte [ebp - 0x2d], 0x82
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0xdc], eax
jne 0x42b9eb
or dword [esi + 0x20], 0xffffffff
cmp byte [ecx], al
je 0x42d28e
lea edx, [ebp - 0xdc]
call fcn.0041ccfe
mov dword [ebp - 0x20], eax
xor ecx, ecx
mov al, byte [ebp - 0xdc]
mov byte [esi + 2], al
mov eax, dword [ebp - 0x20]
mov byte [esi + 3], cl
mov dword [esi + 0x1c], ecx
test eax, eax
jne 0x4296cf
cmp dword [ebx + 8], ecx
jle 0x42d28e
cmp dword [ebp - 0xdc], ecx
jmp 0x429888
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0xe0]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + 0x28]
mov ecx, esi
call fcn.0041ccd2
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x4296cf
cmp dword [ebp - 0xe0], eax
jne 0x42c667
mov ecx, esi
call fcn.0041d0f1
xor ecx, ecx
cmp edx, ecx
jl 0x42ba86
jg 0x42ba6c
cmp eax, ecx
jb 0x42ba86
push edx
push eax
call fcn.0040f43c
cwde
pop ecx
pop ecx
cmp eax, dword [ebx + 0xc]
jge 0x42ba86
xor eax, eax
inc eax
mov dword [ebp - 0xe0], eax
jmp 0x42ba8c
mov eax, dword [ebp - 0xe0]
test eax, eax
jmp 0x429888
inc dword [edi + 0xac]
mov eax, dword [edi + 0x60]
lea edx, [ebp - 0xac]
mov ecx, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
xor eax, eax
inc eax
mov dword [ebp - 0xac], eax
cmp byte [esi], al
jne 0x42babe
mov ecx, esi
call fcn.00430016
jmp 0x42bace
mov ecx, dword [esi + 0x28]
call fcn.0041ccd2
xor ecx, ecx
mov byte [esi + 3], cl
mov dword [esi + 0x1c], ecx
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x4296cf
mov al, byte [ebp - 0xac]
mov byte [esi + 2], al
cmp dword [ebp - 0xac], 0
jmp 0x429888
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.00430066
jmp 0x42bb17
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 - 0x20], eax
xor ecx, ecx
mov dword [esi + 0x1c], ecx
test eax, eax
jne 0x42bb36
mov byte [esi + 2], cl
movzx eax, word [ebx + 2]
inc dword [edi + eax*4 + 0xa4]
jmp 0x42cf68
cmp eax, 0x65
jne 0x4296cf
mov eax, ecx
mov dword [ebp - 0x20], eax
xor eax, eax
inc eax
mov byte [esi + 2], al
jmp 0x42c4b0
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
imul esi, dword [ebx + 8], 0x28
mov edi, dword [eax + ecx*4]
xor eax, eax
inc eax
add esi, dword [ebp - 0x1c]
test byte [ebx + 2], al
je 0x42bb6d
mov eax, dword [ebp - 0x18]
inc dword [eax + 0x2c]
mov eax, 0x4000
test word [esi + 8], ax
je 0x42bb87
mov ecx, esi
call fcn.004228e0
test eax, eax
jne 0x42d45b
cmp byte [ebx], 0x83
jne 0x42bb9a
mov edx, esi
mov ecx, edi
call fcn.0042f486
mov esi, dword [ebp - 0x1c]
jmp 0x42bbf9
mov eax, dword [esi + 0xc]
cdq
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
mov eax, dword [esi + 0x10]
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0xd8], eax
imul eax, dword [ebx + 0xc], 0x28
push 0x10
pop ecx
add eax, esi
mov dword [ebp - 0xc4], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0xc0], ax
movzx eax, word [ebx + 2]
test cl, al
je 0x42bbdd
mov ecx, dword [edi + 0x20]
jmp 0x42bbdf
xor ecx, ecx
push ecx
mov ecx, dword [edi + 0x28]
lea edx, [ebp - 0xd8]
and eax, 0xa
push eax
call fcn.004201b3
pop ecx
pop ecx
xor ecx, ecx
mov dword [edi + 0x1c], ecx
mov edi, dword [ebp - 0x18]
jmp 0x42af38
mov eax, dword [edi + 0x60]
lea edx, [ebp - 0x148]
mov ecx, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [esi + 0x2c]
mov edi, dword [esi + 0x28]
mov dword [ebp - 0x148], eax
mov ax, word [ebx + 0xc]
mov word [ebp - 0x140], ax
imul eax, dword [ebx + 8], 0x28
mov byte [ebp - 0x13e], cl
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x144], eax
lea eax, [ebp - 0x108]
push eax
push ecx
push ecx
push ecx
mov ecx, edi
call fcn.0041cd5a
add esp, 0x10
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x42d45b
cmp dword [ebp - 0x108], eax
jne 0x42bc7a
push 4
pop eax
mov dl, al
mov ecx, edi
call fcn.00420536
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x42d45b
xor ecx, ecx
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x20], ecx
jmp 0x428e57
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 0x42bcac
mov ecx, esi
call fcn.00425a01
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x4296cf
jmp 0x42bcb1
xor eax, eax
mov dword [ebp - 0x20], eax
cmp byte [esi + 2], 0
jne 0x42bd3c
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x100]
xorps xmm0, xmm0
movlpd qword [ebp - 0x100], xmm0
mov edx, dword [esi + 0x28]
push eax
call fcn.00426a38
mov dword [ebp - 0x20], eax
pop ecx
test eax, eax
jne 0x4296cf
cmp byte [ebx], 0x86
jne 0x42bd1d
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 - 0x100]
mov ecx, dword [ebp - 0xfc]
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 0x428c0b
mov edx, ebx
mov ecx, edi
call fcn.00428a6a
mov ecx, dword [ebp - 0x100]
mov edx, dword [ebp - 0xfc]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp 0x428c0b
imul eax, dword [ebx + 8], 0x28
mov ecx, 0x2400
mov esi, dword [ebp - 0x1c]
add eax, esi
test word [eax + 8], cx
je 0x42bd5c
mov ecx, eax
call fcn.00422a68
jmp 0x428b94
xor ecx, ecx
inc ecx
jmp 0x4294a8
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
cmp byte [ebp - 0x2d], 0x27
mov edx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x14]
mov eax, dword [edx + 0x2c]
mov dword [ebp - 0x158], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x150], ax
sbb al, al
mov byte [ebp - 0x14e], al
imul eax, dword [ebx + 0xc], 0x28
add eax, esi
mov dword [ebp - 0x154], eax
xor eax, eax
mov dword [ebp - 0xa8], eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x158]
push eax
call fcn.00426b2d
pop ecx
pop ecx
xor ecx, ecx
mov dword [ebp - 0x20], eax
inc ecx
test byte [ebx], cl
mov ecx, dword [ebp - 0xa8]
je 0x42bdcd
neg ecx
jmp 0x42bdd1
mov eax, dword [ebp - 0x20]
inc ecx
mov dword [ebp - 0xa8], ecx
test eax, eax
jne 0x4296cf
test ecx, ecx
jg 0x42c667
jmp 0x428b94
mov edx, ebx
mov ecx, edi
call fcn.00428a6a
xor ecx, ecx
mov dword [ebp - 0x44], eax
inc ecx
mov word [eax + 8], cx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0xc0]
inc ecx
cmp dword [eax + 0xb4], ecx
jg 0x42d4d2
mov eax, dword [ebx + 0xc]
xor ecx, ecx
mov esi, dword [ebx + 4]
mov dword [ebp - 0xa4], ecx
mov ecx, eax
mov dword [ebp - 0x24], eax
add ecx, ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x10]
mov edi, dword [eax + ecx*8 + 4]
mov ecx, edi
call fcn.00419480
lea eax, [ebp - 0xa4]
mov edx, esi
push eax
mov ecx, edi
call fcn.00420c1e
pop ecx
mov ecx, edi
mov dword [ebp - 0x20], eax
call fcn.004194f9
mov ecx, dword [ebp - 0x44]
push 4
pop eax
mov word [ecx + 8], ax
mov eax, dword [ebp - 0xa4]
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0x20]
mov dword [ecx + 4], edx
test eax, eax
jne 0x42d45b
cmp dword [ebp - 0xa4], eax
je 0x42d28e
push dword [ebx + 4]
mov edx, dword [ebp - 0x24]
push dword [ebp - 0xa4]
mov ecx, dword [ebp - 0x14]
call fcn.0043d8a4
mov al, byte [ebp - 0x24]
pop ecx
inc al
pop ecx
mov byte [ebp - 0x69], al
jmp 0x428e57
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.00420bb6
pop ecx
xor ecx, ecx
mov dword [ebp - 0x20], eax
cmp dword [ebx + 0xc], ecx
je 0x42af3b
mov edx, dword [ebp - 0x24]
add dword [edi + 0x2c], edx
mov ecx, dword [ebx + 0xc]
test ecx, ecx
jle 0x42af3b
imul ecx, ecx, 0x28
mov eax, edx
cdq
add dword [ecx + esi], eax
adc dword [ecx + esi + 4], edx
mov eax, dword [ebp - 0x20]
jmp 0x42af3b
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 0x42bf23
mov edx, dword [ecx + 0x28]
mov ecx, dword [ebp - 0x14]
call fcn.0042ec9e
jmp 0x428b94
mov ecx, dword [ecx + 0x28]
call fcn.00420c0d
jmp 0x42af38
mov edx, ebx
mov ecx, edi
call fcn.00428a6a
mov edx, dword [ebx + 4]
mov esi, dword [ebx + 0xc]
add edx, edx
mov dword [ebp - 0x44], eax
xor eax, eax
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x10]
mov edi, dword [ecx + edx*8 + 4]
mov ecx, edi
call fcn.00419480
push esi
lea edx, [ebp - 0x9c]
mov ecx, edi
call fcn.00420827
pop ecx
mov ecx, edi
mov dword [ebp - 0x20], eax
call fcn.004194f9
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x18]
test eax, eax
jne 0x4296cf
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x44]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x428c0b
mov al, byte [eax + 0x5a]
mov ecx, dword [ebp - 0x14]
inc al
mov byte [ecx + 0x5a], al
xor eax, eax
push eax
push eax
push eax
push dword [ebx + 0x10]
push ecx
call fcn.00447636
mov ecx, dword [ebp - 0x14]
add esp, 0x14
dec byte [ecx + 0x5a]
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x4296d2
jmp 0x42b7fc
cmp dword [ebx + 0x10], 0
mov esi, dword [ebx + 4]
jne 0x42c013
mov eax, dword [eax + 0x10]
mov ecx, esi
add ecx, ecx
push dword [eax + ecx*8 + 0xc]
call fcn.0044057f
xor eax, eax
mov edx, esi
pop ecx
mov ecx, dword [ebp - 0x14]
inc eax
push eax
lea eax, [edi + 0x7c]
mov esi, ecx
push eax
and dword [ecx + 0x18], 0xffffffef
call fcn.0044ac54
pop ecx
pop ecx
xor ecx, ecx
mov dword [ebp - 0x20], eax
inc ecx
or dword [esi + 0x18], ecx
and dword [edi + 0x98], 0xfffffffc
jmp 0x42c0cc
mov ecx, dword [ebp - 0x14]
push dword [ebx + 0x10]
mov dword [ebp - 0xc8], eax
lea eax, [edi + 0x7c]
mov dword [ebp - 0xc4], eax
xor eax, eax
mov dword [ebp - 0xc0], esi
add esi, esi
mov dword [ebp - 0xb8], 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.0040d7ac
mov esi, eax
add esp, 0x14
test esi, esi
je 0x42d4e3
mov eax, dword [ebp - 0x14]
xor ecx, ecx
inc ecx
mov byte [eax + 0xa5], cl
xor ecx, ecx
push ecx
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0xb4], ecx
lea ecx, [ebp - 0xc8]
push ecx
push fcn.0044aabe
push esi
push eax
call fcn.00447636
add esp, 0x14
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x42c0b5
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x42c0b5
cmp dword [ebp - 0xb4], eax
jne 0x42c0b5
mov ecx, 0x15f51
call fcn.00468418
mov dword [ebp - 0x20], eax
mov edx, esi
mov esi, dword [ebp - 0x14]
mov ecx, esi
call fcn.0040bcf5
xor eax, eax
mov byte [esi + 0xa5], al
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x42d4e9
jmp 0x428c0b
mov edx, dword [ebx + 4]
mov ecx, eax
call fcn.0043a485
jmp 0x42af38
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, eax
call fcn.0043bb60
jmp 0x428fb9
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, eax
call fcn.0043b7f4
jmp 0x428fb9
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, eax
call fcn.004530f3
jmp 0x428fb9
imul edi, dword [ebx + 0xc], 0x28
lea eax, [ebp - 0x10c]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebx + 0x10]
push eax
add edx, 4
mov ecx, dword [ecx + 0x10]
add edi, esi
imul esi, dword [ebx + 4], 0x28
mov eax, dword [edi]
add esi, dword [ebp - 0x1c]
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.00421733
mov ecx, eax
add esp, 0xc
mov eax, 0x2400
mov dword [ebp - 0x44], ecx
test word [esi + 8], ax
je 0x42c173
mov ecx, esi
call fcn.00422a68
mov ecx, dword [ebp - 0x44]
jmp 0x42c17a
xor eax, eax
inc eax
mov word [esi + 8], ax
mov eax, dword [ebp - 0x10c]
test eax, eax
je 0x42c1aa
test ecx, ecx
je 0x42a13e
dec eax
cdq
sub dword [edi], eax
push fcn.0040bc87
sbb dword [edi + 4], edx
xor eax, eax
inc eax
mov edx, ecx
push eax
push 0xffffffffffffffff
mov ecx, esi
call fcn.004230a2
add esp, 0xc
push 2
pop eax
test byte [esi + 8], al
je 0x42d28e
mov al, byte [ebp - 0x64]
cmp byte [esi + 0xa], al
je 0x42d28e
mov dl, al
mov ecx, esi
call fcn.0040dc2d
jmp 0x428e57
imul esi, dword [ebx + 4], 0x28
imul edi, dword [ebx + 8], 0x28
push 0x10
pop eax
add esi, dword [ebp - 0x1c]
add edi, dword [ebp - 0x1c]
test byte [esi + 8], al
jne 0x42c1f5
mov ecx, esi
call fcn.00422f09
test eax, eax
jne 0x42a13e
push dword [edi + 4]
mov ecx, dword [esi + 0x10]
push dword [edi]
call fcn.0041323a
pop ecx
jmp 0x42a0b7
imul esi, dword [ebx + 4], 0x28
push 0x10
pop eax
add esi, dword [ebp - 0x1c]
test byte [esi + 8], al
je 0x42c24c
mov ecx, dword [esi + 0x10]
lea edx, [ebp - 0x130]
call fcn.00413456
test eax, eax
je 0x42c24c
imul ecx, dword [ebx + 0xc], 0x28
push dword [ebp - 0x12c]
mov esi, dword [ebp - 0x1c]
push dword [ebp - 0x130]
add ecx, esi
call fcn.00422ed6
pop ecx
pop ecx
xor ecx, ecx
jmp 0x42c4b3
mov eax, 0x2400
test word [esi + 8], ax
je 0x42c263
mov ecx, esi
call fcn.00422a68
jmp 0x42cf68
xor eax, eax
inc eax
mov word [esi + 8], ax
jmp 0x42cf68
imul esi, dword [ebx + 4], 0x28
imul edi, dword [ebx + 0xc], 0x28
mov eax, dword [ebx + 0x10]
push 0x10
pop ecx
add esi, dword [ebp - 0x1c]
add edi, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
test byte [esi + 8], cl
jne 0x42c29d
mov ecx, esi
call fcn.00422f09
test eax, eax
jne 0x42a13e
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x42c2bf
push dword [edi + 4]
mov ecx, dword [esi + 0x10]
mov edx, eax
push dword [edi]
call fcn.004134a4
pop ecx
pop ecx
test eax, eax
jne 0x42c664
mov eax, dword [ebp - 0x24]
test eax, eax
js 0x428e57
jmp 0x42c1f5
imul esi, dword [ebx + 0xc], 0x28
xor eax, eax
mov edi, dword [ebx + 0x10]
mov dword [ebp - 0x38], edi
add esi, dword [ebp - 0x1c]
cmp word [ebx + 2], ax
je 0x42c2fd
mov eax, dword [ebp - 0x18]
mov ecx, dword [edi + 0x14]
mov eax, dword [eax + 0xc8]
jmp 0x42c2f9
cmp dword [eax + 0x1c], ecx
je 0x428e57
mov eax, dword [eax + 4]
test eax, eax
jne 0x42c2ed
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov eax, dword [eax + 0xd0]
cmp eax, dword [ecx + 0x94]
jge 0x42d502
push 0x10
pop eax
test byte [esi + 8], al
jne 0x42c401
mov edx, dword [edi + 0xc]
mov eax, dword [edi + 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 [edi + 4]
add eax, 7
add ecx, edx
mov eax, eax
test eax, eax
jns 0x42c34b
add eax, 7
sar eax, 3
lea eax, [eax + ecx*4]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x44], eax
cdq
push edx
push eax
call fcn.0040bedc
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x42a13e
mov ecx, esi
call fcn.00422ac6
mov ecx, dword [ebp - 0x24]
mov eax, 0x410
sub ebx, dword [ebp - 0x54]
mov word [esi + 8], ax
mov eax, dword [ebp - 0x44]
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 0x18]
mov dword [esi + 0x10], edi
mov dword [esi + 0x24], 0x4244d6
mov esi, dword [ebp - 0x38]
mov dword [edi], eax
mov dword [edi + 0x3c], ecx
push 0x14
mov eax, dword [esi + 0xc]
mov dword [edi + 0x40], eax
mov eax, ebx
cdq
pop ebx
idiv ebx
mov ebx, dword [ebp - 0x18]
mov dword [edi + 0x30], eax
mov eax, dword [ebx + 0x58]
mov dword [edi + 0x10], eax
mov eax, dword [ebx + 0x18]
mov dword [edi + 0x38], eax
mov eax, dword [ebx + 0x60]
mov dword [edi + 0x14], eax
mov eax, dword [ebx + 0x1c]
mov dword [edi + 0x2c], eax
mov eax, dword [ebx + 0x68]
mov dword [edi + 8], eax
mov eax, dword [ebx + 0x6c]
mov dword [edi + 0x34], eax
mov eax, dword [esi + 0x14]
mov dword [edi + 0x1c], eax
lea eax, [ecx + 2]
imul ecx, eax, 0x28
lea eax, [edi + 0x50]
add ecx, edi
cmp eax, ecx
je 0x42c40a
mov edx, dword [ebp - 0x14]
mov esi, 0x80
mov word [eax + 8], si
mov dword [eax + 0x20], edx
add eax, 0x28
cmp eax, ecx
jne 0x42c3f1
jmp 0x42c407
mov edi, dword [esi + 0x10]
mov ebx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x14]
lea edx, [edi + 0x50]
xor eax, eax
mov dword [ebp - 0x1c], edx
inc eax
add dword [ebx + 0xd0], eax
mov eax, dword [ebx + 0xc8]
mov dword [edi + 4], eax
mov ecx, dword [ecx + 0x2c]
mov eax, dword [ebp - 0x14]
push 7
mov eax, dword [eax + 0x28]
mov dword [edi + 0x20], eax
mov dword [edi + 0x24], ecx
mov eax, dword [ebx + 0x2c]
mov dword [edi + 0x44], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x64]
mov dword [edi + 0x48], eax
mov eax, dword [ebx + 0xdc]
mov dword [edi + 0x28], eax
xor eax, eax
mov dword [ebx + 0xdc], eax
mov dword [ebx + 0x2c], eax
mov dword [ebx + 0x58], edx
mov dword [ebx + 0xc8], edi
mov ecx, dword [edi + 0x3c]
mov dword [ebx + 0x18], ecx
movzx eax, word [edi + 0x40]
imul ecx, ecx, 0x28
mov dword [ebx + 0x1c], eax
add ecx, edx
mov dword [ebx + 0x60], ecx
mov eax, dword [esi + 0xc]
pop ebx
lea ecx, [ecx + eax*4]
mov dword [edi + 0x18], ecx
mov eax, dword [esi + 4]
add eax, ebx
cdq
and edx, ebx
add eax, edx
sar eax, 3
push eax
xor eax, eax
push eax
push ecx
call fcn.0046b980
mov ecx, dword [esi]
add esp, 0xc
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x54], ecx
lea ebx, [ecx - 0x14]
mov dword [edi + 0x68], ecx
mov eax, dword [esi + 4]
mov dword [edi + 0x6c], eax
xor ecx, ecx
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x110], ecx
jne 0x42d760
mov edx, dword [ebp - 0x84]
cmp dword [ebp - 0xa0], edx
jb 0x429b00
mov eax, dword [eax + 0x148]
test eax, eax
je 0x42d282
mov ecx, dword [ebp - 0x14]
add edx, dword [ecx + 0x150]
push dword [ecx + 0x14c]
mov dword [ebp - 0x84], edx
call eax
pop ecx
test eax, eax
jne 0x42d576
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xa0], edx
jae 0x42c4d4
jmp case.0x428b55.86
mov edx, ebx
mov ecx, edi
call fcn.00428a6a
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]
call fcn.00422fbe
jmp 0x429c12
mov eax, dword [eax + 0x20]
xor ecx, ecx
and eax, 0x80000
or eax, ecx
mov eax, dword [ebx + 8]
cdq
je 0x42c575
mov ecx, dword [ebp - 0x14]
add dword [ecx + 0x1e0], eax
mov eax, ecx
adc dword [eax + 0x1e4], edx
jmp case.0x428b55.86
cmp dword [ebx + 4], ecx
je 0x42c590
mov ecx, dword [ebp - 0x14]
add dword [ecx + 0x1d8], eax
mov eax, ecx
adc dword [eax + 0x1dc], edx
jmp case.0x428b55.86
add dword [edi + 0x40], eax
adc dword [edi + 0x44], edx
jmp 0x428b94
xor ecx, ecx
cmp dword [ebx + 4], ecx
je 0x42c5b9
mov ecx, dword [ebp - 0x14]
mov eax, dword [eax + 0x1d8]
or eax, dword [ecx + 0x1dc]
jne 0x42b7fc
jmp 0x42c5c8
mov eax, dword [edi + 0x40]
or eax, dword [edi + 0x44]
jne 0x428b94
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x1e0]
or eax, dword [ecx + 0x1e4]
je 0x42c667
jmp 0x42b7fc
mov eax, dword [edi + 0xc8]
test eax, eax
jne 0x42c628
imul edi, dword [ebx + 4], 0x28
add edi, esi
mov ecx, edi
call fcn.00422c4e
imul esi, dword [ebx + 8], 0x28
add esi, dword [ebp - 0x1c]
mov ecx, esi
call fcn.00422c4e
mov ecx, dword [esi + 4]
mov eax, dword [esi]
cmp dword [edi + 4], ecx
jg 0x42d28e
jl 0x42c61c
cmp dword [edi], eax
jae 0x42d28e
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x428e57
mov eax, ecx
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x42c626
imul edi, dword [ebx + 4], 0x28
add edi, dword [eax + 0x10]
jmp 0x42c5ef
imul ecx, dword [ebx + 4], 0x28
xor edx, edx
add ecx, esi
mov edi, dword [ecx + 4]
mov esi, dword [ecx]
cmp edi, edx
jl 0x42d39f
jg 0x42c657
cmp esi, edx
jbe 0x42d39f
mov eax, dword [ebx + 0xc]
cdq
sub esi, eax
mov dword [ecx], esi
sbb edi, edx
mov dword [ecx + 4], edi
mov edi, dword [ebp - 0x18]
imul eax, dword [ebx + 8], 0x14
mov ebx, dword [ebp - 0x54]
add ebx, 0xffffffec
add ebx, eax
jmp 0x428c0b
imul esi, dword [ebx + 4], 0x28
mov edx, ebx
imul edi, dword [ebx + 0xc], 0x28
mov ecx, dword [ebp - 0x18]
add esi, dword [ebp - 0x1c]
add edi, dword [ebp - 0x1c]
call fcn.00428a6a
mov ecx, dword [esi]
xor edx, edx
mov esi, dword [esi + 4]
mov dword [ebp - 0x2c], eax
cmp esi, edx
jl 0x42c6ef
jg 0x42c6a4
cmp ecx, edx
jbe 0x42c6ef
mov eax, dword [edi + 4]
mov edx, dword [edi]
xor edi, edi
mov dword [ebp - 0x38], eax
cmp eax, edi
jl 0x42c6ba
jg 0x42c6cb
xor eax, eax
cmp edx, eax
ja 0x42c6cb
xorps xmm0, xmm0
movlpd qword [ebp - 0x48], xmm0
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x38], eax
or edi, 0xffffffff
mov eax, 0x7fffffff
sub edi, ecx
sbb eax, esi
cmp eax, dword [ebp - 0x38]
jl 0x42c6ec
jg 0x42c6e2
cmp edi, edx
jb 0x42c6ec
mov eax, dword [ebp - 0x2c]
add ecx, edx
adc esi, dword [ebp - 0x38]
jmp 0x42c6f4
mov eax, dword [ebp - 0x2c]
or ecx, 0xffffffff
or esi, ecx
mov dword [eax], ecx
mov dword [eax + 4], esi
jmp 0x428e57
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 0x428c0b
xor eax, eax
cmp esi, eax
jl 0x42c667
jg 0x42c727
cmp edx, eax
jbe 0x42c667
sub edx, 1
mov dword [ecx], edx
sbb esi, eax
mov dword [ecx + 4], esi
jmp 0x42c667
imul edx, dword [ebx + 4], 0x28
add edx, esi
mov ecx, dword [edx + 4]
mov eax, dword [edx]
cmp ecx, 0x80000000
jl 0x42c75a
jg 0x42c74f
test eax, eax
je 0x42c75a
sub eax, 1
mov dword [edx], eax
sbb ecx, 0
mov dword [edx + 4], ecx
or eax, ecx
jmp 0x429d23
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.0040bf37
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x42a141
mov eax, dword [ebp - 0x24]
xor edx, edx
add eax, 7
mov dword [esi + 8], edx
push 0x14
lea ecx, [esi + eax*4]
xor eax, eax
inc eax
mov dword [esi], ecx
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x14]
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x18], edx
mov eax, dword [ebx + 0x10]
mov dword [esi + 4], eax
mov eax, ebx
sub eax, dword [ebp - 0x54]
cdq
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 - 0x1c]
mov dword [ebp - 0x44], edx
cmp dword [esi + 8], edx
je 0x42c815
movzx ecx, byte [esi + 0x19]
sub ecx, 1
mov dword [esi + 8], edx
js 0x42c815
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 - 0x1c]
mov dword [edi], eax
sub edi, edx
sub ecx, 1
jns 0x42c7fb
mov edx, dword [ebp - 0x44]
mov edi, dword [ebp - 0x18]
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 0x42c830
call dword [ecx + 0x1c]
jmp 0x42c833
call dword [ecx + 0x10]
mov eax, dword [esi + 0x14]
add esp, 0xc
test eax, eax
je 0x42d28e
jle 0x42c864
mov ecx, dword [esi]
xor eax, eax
lea edx, [eax + 1]
call fcn.00423377
push eax
push 0x537924
push edi
call fcn.004237ef
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0x20], eax
cmp byte [esi + 0x18], 0
je 0x42c8aa
mov eax, dword [ebx - 0x10]
test eax, eax
je 0x42c8a3
imul eax, eax, 0x28
mov ecx, 0x2400
add eax, dword [ebp - 0x1c]
test word [eax + 8], cx
je 0x42c892
xor ecx, ecx
push ecx
inc ecx
push ecx
mov ecx, eax
call fcn.00422eb4
pop ecx
pop ecx
jmp 0x42c8a3
xor ecx, ecx
inc ecx
mov dword [eax], ecx
xor ecx, ecx
push 4
mov dword [eax + 4], ecx
pop ecx
mov word [eax + 8], cx
xor eax, eax
mov byte [esi + 0x18], al
jmp 0x42c8ac
xor eax, eax
mov ecx, dword [esi]
mov edx, 0x2400
test word [ecx + 8], dx
jne 0x42c8be
cmp dword [ecx + 0x18], eax
je 0x42c8c3
call fcn.00422a98
mov eax, dword [esi]
xor ecx, ecx
inc ecx
mov word [eax + 8], cx
xor eax, eax
mov dword [esi + 0x14], eax
jmp 0x4296c4
imul esi, dword [ebx + 4], 0x28
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
add esi, ecx
test eax, eax
je 0x42c900
push edx
imul edx, eax, 0x28
add edx, ecx
mov ecx, esi
call fcn.00422a29
imul esi, dword [ebx + 0xc], 0x28
pop ecx
add esi, dword [ebp - 0x1c]
jmp 0x42c907
mov ecx, esi
call fcn.004229c1
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x42d520
push 2
pop eax
test byte [esi + 8], al
je 0x42c92b
mov al, byte [ebp - 0x64]
cmp byte [esi + 0xa], al
je 0x42c92b
mov dl, al
mov ecx, esi
call fcn.0040dc2d
mov ecx, esi
call fcn.00422f7a
test eax, eax
jne 0x42d5a3
jmp 0x428c0b
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.00467503
add esp, 0xc
mov dword [ebp - 0x20], eax
test eax, eax
je 0x42c97f
push 5
pop ecx
cmp eax, ecx
jne 0x4296cf
xor eax, eax
mov dword [ebp - 0x20], eax
inc eax
mov dword [ebp - 0x10], eax
imul esi, dword [ebx + 0xc], 0x28
mov ecx, 0x2400
push 4
pop ebx
add esi, dword [ebp - 0x1c]
xor eax, eax
mov edi, eax
mov eax, dword [ebp + edi*4 - 0x10]
cdq
test word [esi + 8], cx
je 0x42c9af
push edx
push eax
mov ecx, esi
call fcn.00422eb4
pop ecx
pop ecx
mov ecx, 0x2400
jmp 0x42c9b8
mov dword [esi], eax
mov dword [esi + 4], edx
mov word [esi + 8], bx
inc edi
add esi, 0x28
cmp edi, 3
jl 0x42c992
jmp 0x42a669
mov edx, ebx
mov ecx, edi
call fcn.00428a6a
mov edx, dword [ebx + 4]
mov dword [ebp - 0x24], eax
add edx, edx
mov eax, dword [ebp - 0x14]
cmp dword [ebx + 0xc], 0xffffffff
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx + edx*8 + 4]
mov dword [ebp - 0x44], eax
mov ecx, dword [eax + 4]
mov edi, dword [ecx]
movzx edx, byte [edi + 5]
mov esi, edx
mov dword [ebp - 0x2c], edx
cmovne esi, dword [ebx + 0xc]
cmp byte [edi + 0x10], 3
jae 0x42ca15
mov eax, dword [edi + 0x40]
xor ecx, ecx
cmp dword [eax], ecx
je 0x42ca17
cmp dword [edi + 0x4c], ecx
jg 0x42ca15
jl 0x42ca17
cmp dword [edi + 0x48], ecx
jbe 0x42ca17
mov esi, edx
cmp byte [edi + 0xf], 0
mov ecx, 0x536cb0
jne 0x42ca28
mov ecx, dword [edi + 0xa8]
push 5
pop eax
cmp esi, eax
jne 0x42ca58
test ecx, ecx
je 0x42caa5
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42ca36
sub ecx, edx
test ecx, 0x3fffffff
je 0x42caa2
mov ecx, edi
call fcn.00416fc7
mov edx, dword [ebp - 0x2c]
test eax, eax
je 0x42caa5
push 5
pop eax
cmp esi, edx
je 0x42caa7
cmp edx, eax
je 0x42ca64
cmp esi, eax
jne 0x42caa7
mov eax, dword [ebp - 0x14]
cmp byte [eax + 0x4f], 0
je 0x42d53d
xor ecx, ecx
inc ecx
cmp dword [eax + 0xb4], ecx
jg 0x42d53d
push 5
pop ecx
cmp edx, ecx
jne 0x42cad1
mov edx, eax
mov ecx, edi
call fcn.004170a0
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x42caae
mov edx, esi
mov ecx, edi
call fcn.00416efe
jmp 0x42caea
mov edx, dword [ebp - 0x2c]
mov esi, edx
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x42cab1
mov esi, dword [ebp - 0x2c]
mov edx, esi
mov ecx, edi
call fcn.00416efe
mov esi, dword [ebp - 0x24]
mov ecx, 0xa02
mov word [esi + 8], cx
cmp eax, 6
jne 0x42cb02
xor eax, eax
mov ecx, eax
jmp 0x42cb0b
push 4
pop eax
cmp edx, eax
jne 0x42cae4
push 2
pop eax
mov edx, eax
mov ecx, edi
call fcn.00416efe
cmp dword [ebp - 0x20], 0
jne 0x42caae
mov ecx, dword [ebp - 0x44]
xor edx, edx
push 5
pop eax
cmp esi, eax
sete dl
inc edx
call fcn.00421be0
mov dword [ebp - 0x20], eax
jmp 0x42caaa
mov ecx, dword [eax*4 + 0x5319ac]
xor eax, eax
mov dword [esi + 0x10], ecx
test ecx, ecx
jne 0x42cb16
mov ecx, eax
jmp 0x42cb28
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42cb19
sub ecx, edx
and ecx, 0x3fffffff
mov al, byte [ebp - 0x64]
mov dword [esi + 0xc], ecx
xor ecx, ecx
inc ecx
mov byte [esi + 0xa], cl
cmp al, cl
je 0x42b42a
mov dl, al
mov ecx, esi
call fcn.0040dc2d
jmp 0x42b42a
mov eax, dword [ebx + 8]
test eax, eax
je 0x42cb58
imul eax, eax, 0x28
add eax, esi
jmp 0x42cb5a
xor eax, eax
mov edx, dword [ebp - 0x14]
lea ecx, [edi + 0x7c]
push eax
push dword [ebx + 4]
call fcn.0045519d
pop ecx
jmp 0x42af37
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
call fcn.0041bec3
mov dword [ebp - 0x20], eax
test eax, eax
je 0x42d282
cmp eax, 0x65
jne 0x4296cf
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x42c667
xor eax, eax
cmp dword [ebx + 4], eax
jne 0x42cbda
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 8]
mov edx, dword [ecx + 4]
test edx, edx
je 0x42b7fc
lea esi, [eax + 1]
mov eax, dword [edx + 0x98]
mov ecx, esi
xor ecx, eax
and ecx, 3
xor ecx, eax
mov dword [edx + 0x98], ecx
mov edx, dword [edx + 8]
test edx, edx
jne 0x42cbb9
jmp 0x428c0b
mov ecx, dword [ebx + 8]
mov eax, dword [edi + 0x98]
inc ecx
xor ecx, eax
and ecx, 3
xor ecx, eax
mov dword [edi + 0x98], ecx
jmp 0x428b94
mov al, byte [ebx + 0xc]
mov byte [ebp - 0x110], al
test al, al
jne 0x42cc17
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20]
and eax, 0x400
mov dword [ebp - 0x48], eax
jne 0x428b94
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 4]
push dword [ebp - 0x110]
mov edx, dword [ebx + 8]
add eax, eax
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00421af5
mov dword [ebp - 0x20], eax
pop ecx
test eax, eax
je 0x428b94
cmp al, 6
jne 0x4296cf
push dword [ebx + 0x10]
push str.database_table_is_locked:__s
jmp 0x42d532
mov esi, dword [ebx + 0x10]
mov ecx, eax
mov edx, esi
call fcn.004562ab
mov dword [ebp - 0x20], eax
test esi, esi
je 0x4296c7
mov edx, dword [esi + 8]
mov ecx, edi
call fcn.00426c7b
jmp 0x4296c4
imul edx, dword [ebx + 8], 0x28
lea edi, [ebp - 0xd8]
push 0xa
xor eax, eax
pop ecx
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0xd8]
add edx, esi
mov dword [ebp - 0xb8], eax
call fcn.0042300f
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0xd8]
xor eax, eax
lea edx, [eax + 1]
call fcn.00423377
mov edi, dword [ebp - 0x18]
test eax, eax
je 0x42ccd1
mov edx, dword [ebx + 4]
lea ecx, [edi + 0x7c]
push ecx
mov ecx, dword [ebp - 0x14]
push eax
call fcn.00455f2f
pop ecx
pop ecx
mov dword [ebp - 0x20], eax
mov eax, 0x2400
test dword [ebp - 0xd0], eax
jne 0x42cceb
cmp dword [ebp - 0xc0], 0
je 0x42befb
lea ecx, [ebp - 0xd8]
call fcn.00422a98
jmp 0x42befb
mov eax, dword [eax + 0xc0]
mov ecx, dword [ebp - 0x14]
inc eax
mov dword [ecx + 0xc0], eax
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
call fcn.004561b9
pop ecx
mov ecx, dword [ebp - 0x14]
dec dword [ecx + 0xc0]
jmp 0x42bfba
xor eax, eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebx + 0x10]
mov esi, dword [eax + 8]
test esi, esi
je 0x42d56f
mov edi, dword [esi]
test edi, edi
je 0x42d56c
lea eax, [ebp - 0x2c]
push eax
push esi
call dword [edi + 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x18]
mov edx, esi
mov dword [ebp - 0x20], eax
call fcn.00426c7b
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x42d45b
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x18]
push 2
mov dword [eax], esi
mov edx, dword [ebx + 4]
pop eax
push eax
xor eax, eax
push 0xffffffffffffffff
push eax
call fcn.004287b9
add esp, 0xc
test eax, eax
je 0x42d560
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0x28], ecx
inc dword [esi + 4]
jmp 0x428e57
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
imul edx, dword [ebx + 0xc], 0x28
mov edi, dword [edi + 0x5c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x38], eax
add edx, esi
mov esi, dword [eax + 0x28]
mov ecx, dword [edx + 0x28]
mov eax, dword [esi]
mov dword [ebp - 0x5c], eax
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [edx]
mov dword [ebp - 0x44], eax
xor eax, eax
test ecx, ecx
jle 0x42cdd4
add edx, 0x50
mov dword [edi + eax*4], edx
inc eax
add edx, 0x28
cmp eax, ecx
jl 0x42cdc9
push edi
mov edi, dword [ebp - 0x24]
push ecx
push dword [ebx + 0x10]
push dword [ebp - 0x44]
push esi
call dword [edi + 0x20]
mov edx, dword [ebp - 0x5c]
add esp, 0x14
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
call fcn.00426c7b
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x42d45b
push esi
call dword [edi + 0x28]
pop ecx
mov ecx, dword [ebp - 0x38]
xor edx, edx
mov byte [ecx + 2], dl
test eax, eax
je 0x428e57
jmp 0x42c664
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
imul esi, dword [ebx + 0xc], 0x28
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x44], eax
add esi, dword [ebp - 0x1c]
cmp byte [eax + 2], 0
je 0x42ce49
mov eax, 0x2400
test word [esi + 8], ax
jne 0x429c32
xor eax, eax
inc eax
jmp 0x428dea
mov eax, dword [eax + 0x28]
lea edi, [ebp - 0xd0]
push 8
mov eax, dword [eax]
mov dword [ebp - 0x5c], 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 - 0xd0], esi
inc ecx
test byte [ebx + 2], cl
je 0x42ce85
mov ecx, esi
call fcn.00422e6a
xor eax, eax
mov dword [esi], eax
mov eax, 0x4001
jmp 0x42ce97
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 - 0xd0]
push dword [ebx + 8]
push eax
mov eax, dword [ebp - 0x44]
push dword [eax + 0x28]
mov eax, dword [ebp - 0x24]
call dword [eax + 0x2c]
mov edi, dword [ebp - 0x18]
add esp, 0xc
mov edx, dword [ebp - 0x5c]
mov ecx, edi
mov dword [ebp - 0x20], eax
call fcn.00426c7b
cmp dword [ebp - 0xbc], 0
jle 0x42ceec
push esi
call fcn.00426fd8
pop ecx
push eax
push 0x537924
push edi
call fcn.004237ef
mov eax, dword [ebp - 0xbc]
add esp, 0xc
mov dword [ebp - 0x20], eax
push 2
pop eax
test byte [esi + 8], al
je 0x42cf05
mov al, byte [ebp - 0x64]
cmp byte [esi + 0xa], al
je 0x42cf05
mov dl, al
mov ecx, esi
call fcn.0040dc2d
mov ecx, esi
call fcn.00422f7a
test eax, eax
jne 0x42d5a3
jmp 0x4296c4
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov edi, dword [eax + ecx*4]
cmp byte [edi + 2], 0
jne 0x429878
mov eax, dword [edi + 0x28]
push eax
mov esi, dword [eax]
mov ecx, dword [esi]
mov dword [ebp - 0x44], ecx
call dword [ecx + 0x24]
pop ecx
mov ecx, dword [ebp - 0x18]
mov edx, esi
mov dword [ebp - 0x20], eax
call fcn.00426c7b
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x42d45b
mov eax, dword [ebp - 0x44]
push dword [edi + 0x28]
call dword [eax + 0x28]
mov edi, dword [ebp - 0x18]
pop ecx
test eax, eax
jne 0x42c4ae
mov esi, dword [ebp - 0x1c]
imul eax, dword [ebx + 8], 0x14
mov ebx, dword [ebp - 0x54]
add ebx, 0xffffffec
add ebx, eax
jmp 0x42c245
mov edi, dword [eax + 0x20]
mov ecx, 0x4000000
or dword [eax + 0x20], ecx
and edi, ecx
mov ecx, dword [ebp - 0x14]
mov eax, dword [eax + 0x24]
push 2
mov dword [ecx + 0x24], eax
imul esi, dword [ebx + 4], 0x28
mov eax, dword [ebx + 0x10]
add esi, dword [ebp - 0x1c]
mov ecx, dword [eax + 8]
pop eax
mov dword [ebp - 0x24], ecx
test byte [esi + 8], al
je 0x42cfc6
xor eax, eax
inc eax
cmp byte [esi + 0xa], al
je 0x42cfc6
mov dl, al
mov ecx, esi
call fcn.0040dc2d
test eax, eax
jne 0x42d45b
mov ecx, dword [ebp - 0x24]
push dword [esi + 0x10]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x4c]
mov dword [ebp - 0x20], eax
pop ecx
pop ecx
test edi, edi
jne 0x42cfe8
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x24]
and dword [ecx + 0x20], 0xfbffffff
mov dword [ecx + 0x24], eax
mov edi, dword [ebp - 0x18]
mov ecx, edi
mov edx, dword [ebp - 0x24]
call fcn.00426c7b
jmp 0x42ac28
cmp byte [eax + 0x51], 0
jne 0x42a141
mov eax, dword [ebx + 0x10]
mov esi, dword [eax + 8]
mov dword [ebp - 0x44], esi
test esi, esi
je 0x42d56f
mov edi, dword [esi]
test edi, edi
je 0x42d56c
mov edx, dword [ebx + 8]
xor ecx, ecx
mov eax, dword [ebp - 0x14]
cmp dword [edi + 0x34], ecx
je 0x42d39f
mov al, byte [eax + 0x56]
mov byte [ebp - 0x2d], al
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x5c]
mov dword [ebp - 0x24], eax
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x1c]
test edx, edx
jle 0x42d05b
mov esi, dword [ebp - 0x24]
mov dword [esi + ecx*4], eax
add eax, 0x28
inc ecx
cmp ecx, edx
jl 0x42d04d
mov esi, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x14]
mov al, byte [ebx + 2]
mov byte [ecx + 0x56], al
lea eax, [ebp - 0x138]
push eax
push dword [ebp - 0x24]
push edx
push esi
call dword [edi + 0x34]
mov ecx, dword [ebp - 0x14]
add esp, 0x10
mov edi, dword [ebp - 0x18]
mov edx, esi
mov dword [ebp - 0x20], eax
mov al, byte [ebp - 0x2d]
mov byte [ecx + 0x56], al
mov ecx, edi
call fcn.00426c7b
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x42d0be
xor ecx, ecx
cmp dword [ebx + 4], ecx
je 0x42d0b6
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x134]
mov dword [edx + 0x28], eax
mov eax, edx
mov dword [eax + 0x2c], ecx
mov eax, dword [ebp - 0x20]
inc dword [edi + 0x2c]
jmp 0x4296c7
cmp al, 0x13
jne 0x42d0b6
mov eax, dword [ebx + 0x10]
cmp byte [eax + 0x10], 0
je 0x42d0b3
movzx ecx, word [ebx + 2]
push 4
pop eax
cmp cx, ax
jne 0x42d586
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x428c0b
mov edx, ebx
mov ecx, edi
call fcn.00428a6a
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebx + 4]
add edx, edx
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx + 0x2c]
mov dword [eax], ecx
xor ecx, ecx
jmp 0x428cc3
mov edx, ebx
mov ecx, edi
call fcn.00428a6a
mov edx, dword [ebx + 4]
mov edi, eax
mov eax, dword [ebp - 0x14]
add edx, edx
mov esi, dword [ebx + 0xc]
mov ecx, dword [eax + 0x10]
xor eax, eax
mov ecx, dword [ecx + edx*8 + 4]
mov edx, eax
test esi, esi
je 0x42d13c
mov eax, dword [ecx + 4]
mov edx, dword [eax + 0x2c]
cmp edx, esi
cmovb edx, esi
call fcn.0041b39f
cdq
jmp 0x42b986
movzx eax, word [ebx + 2]
xor ecx, ecx
mov dword [ebp - 0x44], eax
push ecx
mov ecx, dword [ebp - 0x14]
lea eax, [eax*4 + 0x1c]
push eax
call fcn.0040bf37
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x42a141
xor eax, eax
mov dword [esi], eax
mov eax, ebx
mov ecx, dword [ebx + 0x10]
sub eax, dword [ebp - 0x54]
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 - 0x44]
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 edi, dword [ebx + 0xc], 0x28
mov esi, dword [ebx + 0x10]
add edi, dword [ebp - 0x1c]
cmp dword [esi], edi
je 0x42d1d5
movzx ecx, byte [esi + 0x19]
sub ecx, 1
mov dword [esi], edi
js 0x42d1d5
lea edx, [ecx + 7]
lea edx, [esi + edx*4]
mov eax, dword [ebx + 8]
add eax, ecx
imul eax, eax, 0x28
push 4
add eax, dword [ebp - 0x1c]
mov dword [edx], eax
pop eax
sub edx, eax
sub ecx, 1
jns 0x42d1be
mov ax, word [edi + 8]
mov ecx, 0x3e40
and ax, cx
xor ecx, ecx
inc ecx
or ax, cx
mov word [edi + 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 0x42d253
jle 0x42d22a
xor eax, eax
mov ecx, edi
lea edx, [eax + 1]
call fcn.00423377
push eax
push 0x537924
push dword [ebp - 0x18]
call fcn.004237ef
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0x20], eax
push dword [ebx + 4]
mov edx, dword [ebp - 0x18]
push dword [esi + 0x10]
mov ecx, dword [ebp - 0x14]
lea edx, [edx + 0xdc]
call fcn.00425861
xor eax, eax
mov dword [esi + 0x14], eax
mov eax, dword [ebp - 0x20]
pop ecx
pop ecx
test eax, eax
jne 0x42d45b
movzx eax, word [edi + 8]
test al, 0x12
je 0x42d28e
push 2
pop ecx
test cl, al
je 0x42d273
mov al, byte [ebp - 0x64]
cmp byte [edi + 0xa], al
je 0x42d273
mov dl, al
mov ecx, edi
call fcn.0040dc2d
mov ecx, edi
call fcn.00422f7a
mov edi, dword [ebp - 0x18]
jmp 0x42c932
mov eax, dword [ebp - 0x14]
jmp 0x429b00
mov eax, ecx
jmp 0x42d291
mov eax, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
jmp 0x429b00
mov cl, byte [eax + 0x58]
test cl, 0x41
je 0x42d351
push 0x10
pop eax
test byte [edi + 0x98], al
jne 0x42d351
mov eax, dword [ebx + 0x10]
test eax, eax
jne 0x42d2c9
mov eax, dword [edi + 0xc0]
test eax, eax
je 0x42d351
test cl, 0x40
mov ecx, dword [ebp - 0x14]
je 0x42d2fd
mov edi, dword [ecx + 0xcc]
mov edx, eax
mov ecx, dword [ebp - 0x18]
call fcn.004284ca
mov esi, eax
mov eax, dword [ebp - 0x14]
push esi
push dword [eax + 0xd0]
call edi
push esi
call fcn.0040bc87
mov edi, dword [ebp - 0x18]
add esp, 0xc
jmp 0x42d33b
xor edx, edx
inc edx
push eax
cmp dword [ecx + 0xbc], edx
jle 0x42d340
push str.____s
push ecx
call fcn.0040d7ac
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.0040bd26
mov esi, dword [ebp - 0x1c]
jmp 0x42d351
push edi
push dword [ecx + 0xd0]
push edx
call dword [ecx + 0xcc]
add esp, 0x10
mov eax, dword [ebx + 4]
cmp eax, dword [0x542be0]
jl 0x42d390
cmp byte [ebx], 0xa8
je 0x428b94
xor eax, eax
inc eax
mov ecx, eax
cmp dword [edi + 0x6c], eax
jle 0x42d38e
push 0x14
pop esi
mov eax, esi
xor ebx, ebx
mov edx, dword [edi + 0x68]
cmp byte [eax + edx], 0x11
jne 0x42d383
mov dword [eax + edx + 4], ebx
inc ecx
add eax, esi
cmp ecx, dword [edi + 0x6c]
jl 0x42d376
mov ebx, dword [ebp - 0x34]
xor eax, eax
inc eax
mov dword [ebx + 4], eax
inc dword [edi + 0xbc]
jmp 0x42c667
mov edi, dword [ebp - 0x18]
jmp 0x429c3d
mov edi, dword [ebp - 0x18]
mov dword [edi + 0x28], ecx
mov al, byte [ebx + 8]
mov byte [edi + 0x92], al
mov dword [edi + 0x24], esi
test ecx, ecx
je 0x42d427
movzx eax, word [ebx + 2]
test ax, ax
je 0x42d3fc
push dword [eax*4 + 0x5317b0]
push str._s_constraint_failed
push edi
call fcn.004237ef
add esp, 0xc
cmp dword [ebx + 0x10], 0
je 0x42d40d
push dword [ebx + 0x10]
push dword [edi + 0x7c]
push str._z:__s
push dword [ebp - 0x14]
call fcn.0040d7ac
add esp, 0x10
mov dword [edi + 0x7c], eax
jmp 0x42d40d
push dword [ebx + 0x10]
push 0x537924
push edi
call fcn.004237ef
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.0040d94a
add esp, 0x14
mov ecx, edi
call fcn.0042543d
mov edx, dword [ebp - 0x14]
push 5
pop ecx
mov dword [ebp - 0x20], eax
cmp eax, ecx
je 0x42d49b
push 0x65
pop eax
xor ecx, ecx
cmp dword [edi + 0x28], ecx
push 1
pop ecx
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x429786
mov ecx, 0x152d5
call fcn.00468418
mov edi, dword [ebp - 0x18]
jmp 0x4296cf
push str.cannot_open_savepoint___SQL_statements_in_progress
mov edi, dword [ebp - 0x18]
push edi
call fcn.004237ef
pop ecx
pop ecx
push 5
pop eax
jmp 0x4296cf
push str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x42d468
mov eax, ebx
sub eax, dword [ebp - 0x54]
push 0x14
cdq
pop esi
idiv esi
mov dword [edi + 0x24], eax
xor eax, eax
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x20], ecx
mov byte [edx + 0x4f], al
mov dword [edi + 0x28], ecx
jmp 0x429786
push 8
jmp 0x42d475
push 0x14
cmp al, 5
jne 0x42d782
mov eax, ebx
sub eax, dword [ebp - 0x54]
cdq
pop ecx
idiv ecx
mov dword [edi + 0x24], eax
mov eax, dword [ebp - 0x20]
mov dword [edi + 0x28], eax
jmp 0x429783
mov eax, 0x204
jmp 0x4296cf
push 6
pop eax
push 2
pop ecx
mov byte [edi + 0x92], cl
jmp 0x4296cf
push 7
pop eax
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x14]
call fcn.0043b97c
mov eax, dword [ebp - 0x20]
cmp eax, 7
je 0x42a141
jmp 0x4296cf
mov edi, dword [ebp - 0x18]
xor eax, eax
inc eax
push str.too_many_levels_of_trigger_recursion
push edi
mov dword [ebp - 0x20], eax
call fcn.004237ef
pop ecx
pop ecx
mov eax, dword [ebp - 0x20]
jmp 0x4296cf
xor eax, eax
mov ecx, esi
lea edx, [eax + 1]
call fcn.00423377
push eax
push 0x537924
push edi
call fcn.004237ef
add esp, 0xc
jmp 0x42d518
mov edi, dword [ebp - 0x18]
xor eax, eax
push 5
inc eax
mov ecx, str.out_of
pop edx
mov dword [ebp - 0x20], eax
cmp esi, edx
mov eax, str.into
cmovne eax, ecx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
jmp 0x42d532
push dword [ebp - 0x2c]
call dword [edi + 0x1c]
pop ecx
jmp 0x42a13e
mov edi, dword [ebp - 0x18]
push 6
jmp 0x42d475
or ecx, 0xffffffff
mov dword [ebp - 0x84], ecx
push 9
jmp 0x42d475
push 5
pop edx
movzx eax, cl
cmp cx, dx
push 2
pop ecx
cmove eax, ecx
mov byte [edi + 0x92], al
jmp 0x42d518
mov edi, dword [ebp - 0x18]
push str.string_or_blob_too_big
push edi
call fcn.004237ef
pop ecx
pop ecx
push 0x12
jmp 0x42d475
xor edx, edx
mov ecx, edi
call fcn.004253e2
test eax, eax
jne 0x4296cf
lea edx, [eax + 1]
mov ecx, edi
call fcn.004253c5
mov eax, dword [edi + 0x20]
push 2
pop ecx
add eax, ecx
xor ecx, ecx
inc ecx
or eax, ecx
mov dword [edi + 0x20], eax
imul eax, dword [ebx + 4], 0x28
add esi, eax
xor eax, eax
mov dword [edi + 0x78], esi
mov edi, eax
cmp dword [ebx + 8], eax
jle 0x42d634
mov eax, 0x1000
test word [esi + 8], ax
je 0x42d60e
mov ecx, esi
call fcn.0042289a
test eax, eax
jne 0x42a13e
mov ax, word [esi + 8]
mov ecx, 0x202
and ax, cx
push 2
pop ecx
cmp ax, cx
jne 0x42d629
mov ecx, esi
call fcn.00422854
inc edi
add esi, 0x28
cmp edi, dword [ebx + 8]
jl 0x42d5f4
xor eax, eax
mov edi, dword [ebp - 0x14]
cmp byte [edi + 0x51], 0
jne 0x42a13e
push 4
pop ecx
test byte [edi + 0x58], cl
mov edi, dword [ebp - 0x18]
je 0x42d661
push eax
mov eax, dword [ebp - 0x14]
push edi
push dword [eax + 0xd0]
push ecx
call dword [eax + 0xcc]
add esp, 0x10
mov eax, ebx
mov dword [ebp - 0x20], 0x64
sub eax, dword [ebp - 0x54]
push 0x14
cdq
pop ecx
idiv ecx
inc eax
mov dword [edi + 0x24], eax
jmp 0x429783
mov edx, dword [ebx + 4]
lea esi, [eax + 0x4f]
movzx eax, byte [esi]
mov edi, dword [ebx + 8]
mov dword [ebp - 0x9c], edx
cmp edx, eax
je 0x42d736
test edi, edi
je 0x42d6b1
mov ecx, dword [ebp - 0x14]
mov edx, 0x204
call fcn.00466abc
mov edi, dword [ebp - 0x18]
xor ecx, ecx
inc ecx
mov al, cl
jmp 0x42d6ec
test edx, edx
je 0x42d6cc
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp dword [eax + 0xb8], ecx
jle 0x42d6cc
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x42d468
mov edi, dword [ebp - 0x18]
xor eax, eax
mov ecx, edi
lea edx, [eax + 1]
call fcn.004253e2
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x429783
mov al, byte [ebp - 0x9c]
mov ecx, edi
mov byte [esi], al
call fcn.0042543d
push 5
pop ecx
cmp eax, ecx
jne 0x42d718
mov eax, ebx
sub eax, dword [ebp - 0x54]
cdq
push 0x14
pop esi
idiv esi
mov dword [edi + 0x24], eax
xor eax, eax
inc eax
sub al, byte [ebp - 0x9c]
jmp 0x42d492
mov ecx, dword [ebp - 0x14]
call fcn.0046668e
push 0x65
pop eax
xor ecx, ecx
cmp dword [edi + 0x28], ecx
push 1
pop ecx
cmovne eax, ecx
mov dword [ebp - 0x20], eax
jmp 0x429783
test edi, edi
mov eax, str.cannot_commit___no_transaction_is_active
mov edi, dword [ebp - 0x18]
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.004237ef
pop ecx
pop ecx
jmp 0x42a7cf
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 - 0x20], eax
mov dword [edi + 0x28], eax
call fcn.00466bc8
jmp 0x42d52c
mov ecx, dword [ebp - 0x14]
jmp 0x4296d4
add dword [edi + 0xb4], esi
xor eax, eax
cmp dword [edi + 0xa0], eax
je 0x42d7a1
mov ecx, edi
call fcn.004243e4
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x20]
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.00469944
leave
ret