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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1f4
mov eax, dword [0x540024]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
mov byte [ebp - 0x75], cl
mov dword [ebp - 0x84], ecx
mov eax, dword [edi + 0x68]
mov ebx, eax
mov esi, dword [edi + 0x58]
mov dword [ebp - 0x60], eax
mov eax, dword [edi]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x9c], ecx
mov ecx, edi
mov dword [ebp - 0x44], edi
mov al, byte [eax + 0x4e]
mov byte [ebp - 0x6c], al
mov dword [ebp - 0x18], esi
call fcn.0042406b
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp dword [eax + 0x148], edx
je 0x428619
mov ecx, dword [eax + 0x150]
mov eax, dword [edi + 0xb4]
div ecx
mov eax, dword [ebp - 0x14]
sub ecx, edx
xor edx, edx
jmp 0x42861c
or ecx, 0xffffffff
push 7
mov dword [ebp - 0x80], ecx
pop ecx
cmp dword [edi + 0x28], ecx
je 0x42d0b6
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 0x42c15c
imul ebx, dword [edi + 0x24], 0x14
xorps xmm0, xmm0
mov dword [ebp - 0x120], 0x3e40
movsd qword [ebp - 0x168], xmm0
add ebx, dword [ebp - 0x60]
mov cl, byte [ebx]
inc dword [ebp - 0x9c]
movzx edx, cl
mov dword [ebp - 0x2c], ebx
mov byte [ebp - 0x31], cl
mov dword [ebp - 0x28], edx
cmp edx, 0xa8
ja case.0x428682.86
jmp dword [edx*4 + 0x42d352]
imul ecx, dword [ebx + 4], 0x28
push 4
pop eax
push 0x14
add ecx, esi
pop esi
mov word [ecx + 8], ax
mov eax, ebx
sub eax, dword [ebp - 0x60]
cdq
idiv esi
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x42cf30
imul eax, dword [ebx + 4], 0x28
mov ecx, 0x80
imul ebx, dword [eax + esi], 0x14
mov word [eax + esi + 8], cx
add ebx, dword [ebp - 0x60]
jmp 0x428733
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 0x42cf30
jmp 0x428733
imul ecx, dword [ebx + 4], 0x28
mov edx, dword [ebp - 0x60]
lea ebx, [edx - 0x14]
imul eax, dword [ecx + esi], 0x14
imul eax, dword [eax + edx + 8], 0x14
add ebx, eax
mov eax, 0x80
mov word [ecx + esi + 8], ax
jmp 0x428733
imul esi, dword [ebx + 4], 0x28
sub ebx, dword [ebp - 0x60]
push 4
pop eax
push 0x14
add esi, dword [ebp - 0x18]
mov word [esi + 8], ax
mov eax, ebx
cdq
pop ebx
idiv ebx
mov ecx, dword [esi]
imul ebx, ecx, 0x14
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
add ebx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
push 0x14
pop ecx
add ebx, ecx
jmp 0x428662
imul eax, dword [ebx + 0xc], 0x28
xor ecx, ecx
inc ecx
test byte [eax + esi + 8], cl
je 0x428733
mov eax, ebx
sub eax, dword [ebp - 0x60]
push 0x14
pop ecx
cdq
idiv ecx
mov ecx, dword [ebx + 4]
mov esi, eax
test ecx, ecx
jne 0x42cf3f
mov edx, dword [edi + 0xc8]
test edx, edx
je 0x42cf3f
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x14]
dec dword [edi + 0xd0]
mov dword [edi + 0xc8], eax
mov eax, dword [edi + 0x2c]
add dword [ecx + 0x68], eax
mov dword [ecx + 0x64], eax
mov ecx, edx
call fcn.00424890
mov edx, dword [edi + 0x68]
push 4
pop ecx
mov dword [ebp - 0x60], edx
cmp dword [ebx + 8], ecx
jne 0x4287ab
imul eax, eax, 0x14
mov eax, dword [eax + edx + 8]
dec eax
mov esi, dword [edi + 0x58]
imul ebx, eax, 0x14
mov dword [ebp - 0x18], esi
add ebx, edx
jmp 0x428733
mov edx, ebx
mov ecx, edi
call fcn.00428581
mov ecx, eax
mov eax, dword [ebx + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x428733
mov edx, ebx
mov ecx, edi
call fcn.00428581
mov ecx, dword [ebx + 0x10]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [eax], edx
mov dword [eax + 4], ecx
jmp 0x428733
mov edx, ebx
mov ecx, edi
call fcn.00428581
push 8
pop ecx
mov word [eax + 8], cx
mov ecx, dword [ebx + 0x10]
movsd xmm0, qword [ecx]
movsd qword [eax], xmm0
jmp 0x428733
mov edx, ebx
mov ecx, edi
call fcn.00428581
mov edx, dword [ebx + 0x10]
mov esi, eax
test edx, edx
jne 0x428827
xor eax, eax
mov ecx, eax
jmp 0x428841
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x24], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42882f
sub ecx, dword [ebp - 0x24]
and ecx, 0x3fffffff
xor eax, eax
cmp byte [ebp - 0x6c], 1
mov dword [ebx + 4], ecx
je 0x4288ba
push eax
xor eax, eax
mov ecx, esi
inc eax
push eax
push 0xffffffffffffffff
call fcn.00422d95
add esp, 0xc
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x42c556
push 2
pop eax
test byte [esi + 8], al
je 0x428887
mov al, byte [ebp - 0x6c]
cmp byte [esi + 0xa], al
je 0x428887
mov dl, al
mov ecx, esi
call fcn.0040dd9e
test eax, eax
jne 0x42d0b6
xor eax, eax
mov dword [esi + 0x18], eax
mov eax, 0x800
or word [esi + 8], ax
cmp byte [ebx + 1], 0xf9
jne 0x4288aa
mov edx, dword [ebx + 0x10]
test edx, edx
je 0x4288aa
mov ecx, dword [ebp - 0x14]
call fcn.0040bcca
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 0x42c556
mov byte [ebx], 0x48
mov edx, ebx
mov ecx, edi
call fcn.00428581
mov esi, eax
mov eax, 0xa02
mov word [esi + 8], ax
mov ecx, dword [ebx + 0x10]
mov al, byte [ebp - 0x6c]
mov dword [esi + 0x10], ecx
mov ecx, dword [ebx + 4]
mov dword [esi + 0xc], ecx
mov byte [esi + 0xa], al
mov eax, dword [ebx + 0xc]
test eax, eax
jle 0x428730
mov edi, dword [ebp - 0x18]
imul ecx, eax, 0x28
movzx eax, word [ebx + 2]
cdq
cmp dword [ecx + edi], eax
mov edi, dword [ebp - 0x44]
jne 0x428730
mov eax, dword [ebp - 0x18]
cmp dword [ecx + eax + 4], edx
jne 0x428730
mov eax, 0xa10
mov word [esi + 8], ax
jmp 0x428730
mov edx, ebx
mov ecx, edi
call fcn.00428581
mov ecx, dword [ebx + 0xc]
mov esi, 0x101
mov edx, dword [ebx + 8]
mov dword [ebp - 0x28], ecx
xor ecx, ecx
inc ecx
cmp dword [ebx + 4], 0
cmovne ecx, esi
and dword [eax + 0xc], 0
lea esi, [eax + 8]
movzx ecx, cx
mov eax, dword [ebp - 0x28]
sub eax, edx
mov dword [ebp - 0x24], ecx
mov word [esi], cx
mov dword [ebp - 0x28], eax
test eax, eax
jle 0x428730
xor edx, edx
mov ebx, 0x2400
lea esi, [esi + 0x28]
test word [esi], bx
je 0x42898c
lea ecx, [esi - 8]
call fcn.0042270e
mov eax, dword [ebp - 0x28]
xor edx, edx
mov ecx, dword [ebp - 0x24]
dec eax
mov word [esi], cx
mov dword [esi + 4], edx
mov dword [ebp - 0x28], eax
test eax, eax
jg 0x428974
mov ebx, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x44]
jmp 0x428730
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 0x428702
mov edx, ebx
mov ecx, edi
call fcn.00428581
mov edx, dword [ebx + 0x10]
mov esi, eax
xor eax, eax
mov ecx, esi
push eax
push eax
push dword [ebx + 4]
call fcn.00422d95
add esp, 0xc
mov al, byte [ebp - 0x6c]
mov byte [esi + 0xa], al
jmp 0x428730
imul ecx, dword [ebx + 4], 0x28
mov esi, dword [edi + 0x64]
add ecx, 0xffffffd8
add esi, ecx
mov ecx, esi
call fcn.00422c6d
test eax, eax
jne 0x42c556
imul edx, dword [ebx + 8], 0x28
mov eax, 0x2400
add edx, dword [ebp - 0x18]
mov dword [ebp - 0x24], edx
test word [edx + 8], ax
je 0x428a25
mov ecx, edx
call fcn.0042270e
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 0x42899d
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x64], eax
imul eax, dword [ebx + 4], 0x28
add eax, esi
imul esi, dword [ebx + 8], 0x28
mov dword [ebp - 0x20], eax
add esi, dword [ebp - 0x18]
mov edx, eax
mov ecx, esi
call fcn.00422d73
mov eax, 0x1000
test word [esi + 8], ax
je 0x428a84
mov ecx, esi
call fcn.00422542
test eax, eax
jne 0x42d0b6
mov eax, dword [ebp - 0x20]
add esi, 0x28
add eax, 0x28
sub dword [ebp - 0x64], 1
mov dword [ebp - 0x20], eax
jne 0x428a61
jmp 0x428730
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x20], eax
imul eax, dword [ebx + 4], 0x28
add eax, esi
imul esi, dword [ebx + 8], 0x28
add esi, dword [ebp - 0x18]
push 0x1000
mov edx, eax
mov dword [ebp - 0x64], eax
mov ecx, esi
call fcn.00422cb1
mov eax, 0x1000
pop ecx
test word [esi + 8], ax
je 0x428ada
mov ecx, esi
call fcn.00422542
test eax, eax
jne 0x42d0b6
mov ecx, dword [ebp - 0x20]
mov eax, ecx
dec ecx
mov dword [ebp - 0x20], ecx
test eax, eax
je 0x428730
mov eax, dword [ebp - 0x64]
add esi, 0x28
add eax, 0x28
jmp 0x428aae
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.00422cb1
pop ecx
jmp 0x428733
imul ecx, dword [ebx + 8], 0x28
mov edi, 0x2400
imul eax, dword [ebx + 4], 0x28
add ecx, esi
mov edx, dword [eax + esi]
test word [ecx + 8], di
mov eax, dword [eax + esi + 4]
mov edi, dword [ebp - 0x44]
je 0x428b3c
push eax
push edx
call fcn.00422b73
pop ecx
jmp 0x428b0d
mov dword [ecx], edx
mov dword [ecx + 4], eax
push 4
pop eax
mov word [ecx + 8], ax
jmp 0x428733
imul edx, dword [ebx + 4], 0x28
imul ecx, dword [ebx + 8], 0x28
add edx, esi
add ecx, esi
mov dword [ebp - 0x28], edx
imul esi, dword [ebx + 0xc], 0x28
mov dword [ebp - 0x2c], ecx
movzx eax, word [edx + 8]
mov dword [ebp - 0x30], eax
mov al, byte [ecx + 8]
or al, byte [ebp - 0x30]
add esi, dword [ebp - 0x18]
test al, 1
je 0x428b96
mov eax, 0x2400
test word [esi + 8], ax
je 0x428b8e
mov ecx, esi
call fcn.0042270e
jmp 0x428730
xor eax, eax
inc eax
jmp 0x428923
mov eax, dword [ebp - 0x30]
test al, 0x12
jne 0x428bcb
mov dl, byte [ebp - 0x6c]
xor eax, eax
mov ecx, dword [ebp - 0x28]
push eax
call fcn.004225f1
pop ecx
test eax, eax
jne 0x42d0b6
mov eax, dword [ebp - 0x28]
mov ecx, 0xfffd
mov ax, word [eax + 8]
and ax, cx
movzx edx, ax
mov dword [ebp - 0x30], edx
jmp 0x428bf6
test eax, 0x4000
je 0x428bf9
mov ecx, edx
call fcn.00422588
test eax, eax
jne 0x42d0b6
mov eax, dword [ebp - 0x28]
mov ecx, 0xfffd
mov ax, word [eax + 8]
and ax, cx
movzx eax, ax
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x2c]
movzx eax, word [ecx + 8]
mov dword [ebp - 0x20], eax
test al, 0x12
jne 0x428c2f
mov dl, byte [ebp - 0x6c]
xor eax, eax
push eax
call fcn.004225f1
pop ecx
test eax, eax
jne 0x42d0b6
mov edx, dword [ebp - 0x2c]
mov ecx, 0xfffd
mov ax, word [edx + 8]
and ax, cx
movzx eax, ax
mov dword [ebp - 0x20], eax
jmp 0x428c3f
bt eax, 0xe
jae 0x428c3c
call fcn.00422588
jmp 0x428c10
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x14]
add ecx, dword [edx + 0xc]
mov dword [ebp - 0x24], ecx
cmp ecx, dword [eax + 0x6c]
jg 0x42c556
xor eax, eax
cmp esi, edx
lea edx, [ecx + 3]
mov ecx, esi
sete al
push eax
call fcn.004223f2
pop ecx
test eax, eax
jne 0x42d0b6
mov ax, word [esi + 8]
mov ecx, 0x3e40
and ax, cx
push 2
pop ecx
or ax, cx
mov word [esi + 8], ax
mov eax, dword [ebp - 0x2c]
cmp esi, eax
je 0x428caa
push dword [eax + 0xc]
push dword [eax + 0x10]
push dword [esi + 0x10]
call fcn.004694e0
mov eax, dword [ebp - 0x2c]
add esp, 0xc
mov ecx, dword [ebp - 0x20]
mov word [eax + 8], cx
mov ecx, dword [ebp - 0x28]
mov eax, dword [eax + 0xc]
add eax, dword [esi + 0x10]
push dword [ecx + 0xc]
push dword [ecx + 0x10]
push eax
call fcn.004694e0
mov eax, dword [ebp - 0x28]
xor edx, edx
mov ecx, dword [ebp - 0x30]
add esp, 0xc
mov word [eax + 8], cx
mov eax, dword [esi + 0x10]
mov ecx, dword [ebp - 0x24]
mov byte [ecx + eax], dl
mov eax, dword [esi + 0x10]
mov byte [ecx + eax + 1], dl
mov eax, dword [esi + 0x10]
mov byte [ecx + eax + 2], dl
mov eax, 0x200
or word [esi + 8], ax
mov dword [esi + 0xc], ecx
jmp 0x4289e0
imul eax, dword [ebx + 4], 0x28
add eax, esi
mov ecx, eax
mov dword [ebp - 0x30], eax
call fcn.00428552
mov esi, dword [ebp - 0x2c]
movzx ebx, ax
imul eax, dword [esi + 8], 0x28
add eax, dword [ebp - 0x18]
mov ecx, eax
mov dword [ebp - 0x38], eax
call fcn.00428552
movzx ecx, ax
imul eax, dword [esi + 0xc], 0x28
and cl, bl
mov esi, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x2c]
push 4
pop edx
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x38]
mov ax, word [eax + 8]
or ax, word [esi + 8]
movzx eax, ax
test dl, cl
je 0x428f47
mov eax, esi
mov edx, dword [eax]
mov esi, dword [eax + 4]
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x94], eax
movzx eax, byte [ebx]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x98], ecx
sub eax, 0x67
je 0x428e9d
sub eax, 1
je 0x428df3
sub eax, 1
je 0x428de4
sub eax, 1
mov eax, edx
je 0x428db7
or eax, esi
je 0x428fc6
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x428da1
xor eax, eax
mov esi, eax
lea edx, [eax + 1]
push esi
push edx
push dword [ebp - 0x28]
push ecx
call fcn.0047b4c0
mov dword [ebp - 0x98], eax
jmp 0x428f29
or eax, esi
je 0x428fc6
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x428dd7
xor eax, eax
cmp ecx, eax
jne 0x428dd7
cmp dword [ebp - 0x28], 0x80000000
je 0x428e0a
push esi
push edx
push dword [ebp - 0x28]
push ecx
call fcn.0047b410
jmp 0x428dac
push esi
push edx
lea ecx, [ebp - 0x98]
call fcn.0040f416
jmp 0x428e00
push esi
push edx
lea ecx, [ebp - 0x98]
call fcn.0040f3c8
pop ecx
pop ecx
test eax, eax
je 0x428f2f
mov esi, dword [ebp - 0x30]
mov ecx, esi
call fcn.00422842
mov ecx, dword [ebp - 0x38]
movsd qword [ebp - 0x40], xmm0
call fcn.00422842
movzx eax, byte [ebx]
sub eax, 0x67
je 0x428f7a
sub eax, 1
je 0x428f73
sub eax, 1
je 0x428f6c
sub eax, 1
je 0x428f53
mov ecx, esi
call fcn.004227e2
mov ecx, dword [ebp - 0x38]
mov esi, eax
mov dword [ebp - 0x24], edx
call fcn.004227e2
mov dword [ebp - 0x98], eax
mov ecx, esi
mov eax, dword [ebp - 0x24]
or ecx, eax
mov dword [ebp - 0x94], edx
je 0x428fc6
mov ecx, esi
and ecx, eax
cmp ecx, 0xffffffff
jne 0x428e83
xor eax, eax
lea esi, [eax + 1]
push eax
push esi
push edx
push dword [ebp - 0x98]
call fcn.0047b4c0
mov ecx, eax
call fcn.0047c980
jmp 0x428f7f
xor eax, eax
cmp esi, eax
jl 0x428ed8
jg 0x428ea9
cmp edx, eax
jb 0x428ed8
cmp dword [ebp - 0x28], eax
jl 0x428f1c
jg 0x428eb4
cmp ecx, eax
jbe 0x428f1c
or eax, 0xffffffff
sub eax, ecx
mov dword [ebp - 0x24], eax
mov eax, 0x7fffffff
sbb eax, dword [ebp - 0x28]
cmp eax, esi
jg 0x428f1c
jl 0x428e0a
cmp dword [ebp - 0x24], edx
jae 0x428f1c
jmp 0x428e0a
cmp dword [ebp - 0x28], eax
jg 0x428f1c
jl 0x428ee3
cmp ecx, eax
jae 0x428f1c
xor ecx, ecx
mov eax, edx
inc ecx
add eax, ecx
mov ecx, esi
mov dword [ebp - 0x54], eax
push 0
pop eax
adc ecx, eax
inc eax
sub eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
mov eax, 0x80000000
sbb eax, dword [ebp - 0x28]
cmp eax, ecx
jg 0x428e0a
jl 0x428f19
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x54]
ja 0x428e0a
mov ecx, dword [ebp - 0x20]
add ecx, edx
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x98], ecx
adc edx, esi
mov dword [ebp - 0x94], edx
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x94]
push 4
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp 0x428faa
xor edx, edx
inc edx
test dl, al
jne 0x428fc9
jmp 0x428e0d
movsd xmm1, qword [ebp - 0x40]
ucomisd xmm1, qword [ebp - 0x168]
lahf
test ah, 0x44
jnp 0x428fc6
divsd xmm0, xmm1
jmp 0x428f7f
mulsd xmm0, qword [ebp - 0x40]
jmp 0x428f7f
subsd xmm0, qword [ebp - 0x40]
jmp 0x428f7f
addsd xmm0, qword [ebp - 0x40]
movsd qword [ebp - 0x40], xmm0
mov esi, 0x7ff00000
mov ecx, dword [ebp - 0x3c]
mov eax, ecx
and eax, esi
cmp eax, esi
jne 0x428fa1
mov eax, dword [ebp - 0x40]
and ecx, 0xfffff
or eax, ecx
jne 0x428fc6
mov edx, dword [ebp - 0x64]
push 8
movsd qword [edx], xmm0
mov ax, word [edx + 8]
mov ecx, 0x3e40
and ax, cx
pop ecx
or ax, cx
movzx eax, ax
mov word [edx + 8], ax
jmp 0x428730
xor edx, edx
inc edx
mov eax, dword [ebp - 0x64]
mov ecx, 0x2400
test word [eax + 8], cx
je 0x428fde
mov ecx, eax
jmp 0x428b84
mov word [eax + 8], dx
jmp 0x428730
mov eax, dword [ebx + 4]
test eax, eax
je 0x428733
imul eax, eax, 0x28
mov ecx, 0x2400
add eax, esi
test word [eax + 8], cx
je 0x42900d
xor ecx, ecx
push ecx
push ecx
mov ecx, eax
jmp 0x428b34
xor ecx, ecx
push 4
mov dword [eax], ecx
mov dword [eax + 4], ecx
pop ecx
mov word [eax + 8], cx
jmp 0x428733
imul ecx, dword [ebx + 8], 0x28
imul esi, dword [ebx + 4], 0x28
mov eax, dword [ebp - 0x18]
imul edx, dword [ebx + 0xc], 0x28
add ecx, eax
add esi, eax
add edx, eax
mov al, byte [ecx + 8]
or al, byte [esi + 8]
mov dword [ebp - 0x20], edx
test al, 1
je 0x429058
mov eax, 0x2400
test word [edx + 8], ax
je 0x42b65d
mov ecx, edx
jmp 0x428b84
call fcn.004227e2
mov ecx, esi
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x2c], edx
call fcn.004227e2
mov cl, byte [ebx]
mov esi, eax
cmp cl, 0x63
jne 0x429082
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
and ecx, esi
and eax, edx
jmp 0x429154
cmp cl, 0x64
jne 0x429096
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
or ecx, esi
or eax, edx
jmp 0x429154
mov eax, esi
or eax, edx
je 0x42914e
xor eax, eax
cmp edx, eax
jg 0x4290ec
jl 0x4290ac
cmp esi, eax
jae 0x4290c7
mov al, 0xcb
sub al, cl
mov cl, al
cmp edx, 0xffffffff
jl 0x4290ea
jg 0x4290be
cmp esi, 0xffffffc0
jbe 0x4290ea
neg esi
push 0
pop eax
adc edx, eax
neg edx
cmp edx, eax
jl 0x4290d2
jg 0x4290ec
cmp esi, 0x40
jae 0x4290ec
mov eax, dword [ebp - 0x28]
cmp cl, 0x65
mov edx, dword [ebp - 0x2c]
mov ecx, esi
jne 0x429114
call fcn.0047b5c0
mov ecx, eax
mov eax, edx
jmp 0x429154
xor eax, eax
cmp dword [ebp - 0x2c], eax
jg 0x429104
jl 0x4290f8
cmp dword [ebp - 0x28], eax
jae 0x429104
cmp cl, 0x65
je 0x429104
or ecx, 0xffffffff
or eax, ecx
jmp 0x429154
xorps xmm0, xmm0
movlpd qword [ebp - 0x40], xmm0
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x40]
jmp 0x429154
call fcn.0047b5e0
mov ecx, eax
mov eax, edx
xor edx, edx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x2c], edx
jg 0x429154
jl 0x429131
cmp dword [ebp - 0x28], edx
jae 0x429154
push 0x40
pop ecx
sub ecx, esi
or eax, 0xffffffff
or edx, 0xffffffff
call fcn.0047b5c0
mov ecx, dword [ebp - 0x24]
or ecx, eax
mov eax, dword [ebp - 0x54]
jmp 0x42908f
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x20]
push 4
mov dword [edx + 4], eax
mov ax, word [edx + 8]
mov dword [edx], ecx
mov ecx, 0x3e40
and ax, cx
pop ecx
or ax, cx
jmp 0x428fbd
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0x18]
mov ecx, esi
call fcn.004228f9
mov eax, dword [ebx + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
jmp 0x428730
imul esi, dword [ebx + 4], 0x28
push 4
pop edx
add esi, dword [ebp - 0x18]
movzx eax, word [esi + 8]
mov ecx, eax
test dl, al
jne 0x4291d2
push dword [ebp - 0x6c]
mov dl, 0x43
mov ecx, esi
call fcn.00428440
movzx eax, word [esi + 8]
pop ecx
push 4
pop edx
mov ecx, eax
test dl, al
jne 0x4291d2
xor eax, eax
cmp dword [ebx + 8], eax
jne 0x42cf30
mov ecx, dword [ebp - 0x14]
push 0x14
pop esi
mov eax, esi
jmp 0x429240
mov eax, 0x3e40
and ecx, eax
push 4
pop eax
or ecx, eax
mov word [esi + 8], cx
jmp 0x428730
imul ecx, dword [ebx + 4], 0x28
add ecx, esi
test byte [ecx + 8], 0x24
je case.0x428682.86
call fcn.0042291e
jmp 0x428733
imul esi, dword [ebx + 4], 0x28
mov eax, 0x4000
add esi, dword [ebp - 0x18]
test word [esi + 8], ax
je 0x42921c
mov ecx, esi
call fcn.00422588
jmp 0x42921e
xor eax, eax
push dword [ebp - 0x6c]
mov dl, byte [ebx + 8]
mov ecx, esi
mov dword [ebp - 0x1c], eax
call fcn.00422a5e
pop ecx
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x428730
mov ecx, dword [ebp - 0x14]
push 0x14
pop esi
cmp byte [ecx + 0x51], 0
push 7
pop ecx
cmovne eax, ecx
xor ecx, ecx
mov dword [ebp - 0x1c], eax
cmp dword [edi + 0x7c], ecx
jne 0x429274
cmp eax, 0xc0a
je 0x429274
mov ecx, eax
call fcn.00464d51
push eax
push 0x535b5c
push edi
call fcn.004234d1
mov eax, dword [ebp - 0x1c]
add esp, 0xc
mov ecx, dword [ebp - 0x14]
mov edx, eax
mov dword [edi + 0x28], eax
call fcn.0040e3ec
mov eax, ebx
sub eax, dword [ebp - 0x60]
cdq
idiv esi
push dword [edi + 0x7c]
push dword [edi + 0xc0]
push eax
push str.statement_aborts_at__d:___s___s
push dword [ebp - 0x1c]
call fcn.0040dad6
add esp, 0x14
mov ecx, edi
call fcn.0042509c
cmp dword [ebp - 0x1c], 0xc0a
jne 0x4292bb
mov ecx, dword [ebp - 0x14]
call fcn.0040c17a
xor eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov al, byte [ebp - 0x75]
test al, al
je 0x4292d4
mov ecx, dword [ebp - 0x14]
movzx edx, al
dec edx
call fcn.0043af4f
mov edx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x80]
cmp esi, ecx
jb 0x42d331
mov eax, dword [edx + 0x148]
test eax, eax
je 0x42d331
add ecx, dword [edx + 0x150]
push dword [edx + 0x14c]
mov dword [ebp - 0x80], ecx
call eax
mov edx, dword [ebp - 0x14]
pop ecx
test eax, eax
je 0x4292dd
or ecx, 0xffffffff
push 9
mov dword [ebp - 0x80], ecx
mov ecx, edx
pop eax
jmp 0x42923d
imul edx, dword [ebx + 0xc], 0x28
imul ecx, dword [ebx + 4], 0x28
add edx, esi
add ecx, esi
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], ecx
movzx esi, word [edx + 8]
movzx eax, word [ecx + 8]
mov ecx, esi
mov edx, ecx
mov dword [ebp - 0x38], eax
or edx, eax
mov dword [ebp - 0x28], ecx
xor eax, eax
inc eax
test al, dl
je 0x4293c0
movzx eax, word [ebx + 2]
mov edx, 0x80
test dl, al
je 0x42938b
mov al, byte [ebp - 0x28]
xor edx, edx
and al, byte [ebp - 0x38]
inc edx
test dl, al
je 0x429378
test ecx, 0x100
jne 0x429378
mov esi, dword [ebp - 0x2c]
xor eax, eax
jmp 0x4294da
mov esi, dword [ebp - 0x2c]
not ecx
and ecx, edx
lea ecx, [ecx*2 - 1]
jmp 0x4294dc
test al, 0x20
je 0x4293b0
imul ecx, dword [ebx + 8], 0x28
xor edx, edx
mov esi, dword [ebp - 0x18]
inc edx
mov dword [ebp - 0x84], edx
mov ax, word [ecx + esi + 8]
and ax, word [ebp - 0x120]
jmp 0x4289b9
push 0x10
pop ecx
test cl, al
jne 0x42cf30
jmp 0x428730
mov al, byte [ebx + 2]
and al, 0x47
cmp al, 0x43
jb 0x42945f
push 2
pop eax
mov ecx, esi
mov esi, dword [ebp - 0x2c]
test al, dl
je 0x42941b
mov al, byte [ebp - 0x38]
push 2
and al, 0x2e
pop ecx
cmp al, cl
jne 0x4293f8
xor edx, edx
mov ecx, esi
call fcn.0042838c
mov ecx, dword [ebp - 0x30]
movzx eax, word [ecx + 8]
mov dword [ebp - 0x28], eax
mov al, byte [ebp - 0x28]
movzx ecx, word [ebp - 0x28]
and al, 0x2e
push 2
pop edx
cmp al, dl
jne 0x42941b
mov ecx, dword [ebp - 0x30]
xor edx, edx
call fcn.0042838c
mov edx, dword [ebp - 0x30]
movzx ecx, word [edx + 8]
jmp 0x42941e
mov edx, dword [ebp - 0x30]
mov al, byte [esi + 8]
and al, cl
push 4
pop ecx
test cl, al
je 0x4294cc
mov eax, dword [edx + 4]
mov ecx, dword [edx]
cmp eax, dword [esi + 4]
jl 0x429453
jg 0x42943e
cmp ecx, dword [esi]
jbe 0x429448
xor eax, eax
lea ecx, [eax + 1]
jmp 0x4294dc
cmp eax, dword [esi + 4]
jg 0x42945b
jl 0x429453
cmp ecx, dword [esi]
jae 0x42945b
or ecx, 0xffffffff
jmp 0x4294dc
xor eax, eax
jmp 0x4294da
mov esi, dword [ebp - 0x2c]
cmp al, 0x42
jne 0x4294cc
mov al, byte [ebp - 0x38]
push 2
pop ecx
test cl, al
jne 0x42949a
test al, 0x2c
je 0x42949a
mov dl, byte [ebp - 0x6c]
xor eax, eax
inc eax
mov ecx, esi
push eax
call fcn.004225f1
mov ax, word [esi + 8]
xor ax, word [ebp - 0x38]
pop ecx
mov ecx, 0x3e40
and ax, cx
xor word [ebp - 0x38], ax
push 2
pop ecx
mov al, byte [ebp - 0x28]
test cl, al
jne 0x4294cc
test al, 0x2c
je 0x4294cc
mov dl, byte [ebp - 0x6c]
xor eax, eax
mov ecx, dword [ebp - 0x30]
inc eax
push eax
call fcn.004225f1
mov eax, dword [ebp - 0x30]
pop ecx
mov ecx, 0x3e40
mov ax, word [eax + 8]
xor ax, word [ebp - 0x28]
and ax, cx
xor word [ebp - 0x28], ax
push dword [ebx + 0x10]
mov ecx, dword [ebp - 0x30]
mov edx, esi
call fcn.00425c8e
pop ecx
mov ecx, eax
movzx eax, byte [ebx]
test ecx, ecx
jns 0x4294eb
mov al, byte [eax + str.SQLite_format_3]
jmp 0x4294fb
jne 0x4294f5
mov al, byte [eax + 0x52fe94]
jmp 0x4294fb
mov al, byte [eax + 0x52f14c]
movzx edx, al
mov ax, word [ebp - 0x38]
mov word [esi + 8], ax
mov esi, dword [ebp - 0x30]
mov ax, word [ebp - 0x28]
mov word [esi + 8], ax
movzx eax, word [ebx + 2]
test al, 0x20
je 0x429560
imul esi, dword [ebx + 8], 0x28
mov edi, dword [ebp - 0x44]
mov dword [ebp - 0x84], ecx
add esi, dword [ebp - 0x18]
test al, 8
je 0x42953d
xor eax, eax
cmp byte [ebx], 0x35
sete al
cmp eax, edx
je 0x428730
mov cx, word [esi + 8]
mov eax, 0x3e40
and cx, ax
push 4
pop eax
or cx, ax
mov eax, edx
mov word [esi + 8], cx
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x428730
test edx, edx
jmp 0x4293b5
cmp dword [ebp - 0x84], 0
jne 0x42cf30
jmp case.0x428682.86
xor eax, eax
inc eax
test byte [ebx + 2], al
jne 0x429585
xor eax, eax
jmp 0x42958d
mov eax, dword [ebx - 4]
push 4
pop ecx
add eax, ecx
mov esi, dword [ebx + 4]
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x2c], esi
mov esi, dword [ebx + 8]
mov dword [ebp - 0x28], esi
xor esi, esi
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x4c], ecx
test edx, edx
jle 0x428730
lea edx, [ecx + 0x14]
mov dword [ebp - 0x20], edx
test eax, eax
je 0x4295c4
mov ecx, dword [eax + esi*4]
mov dword [ebp - 0x70], ecx
jmp 0x4295c9
mov ecx, esi
mov dword [ebp - 0x70], esi
mov eax, dword [ebp - 0x4c]
push dword [edx]
mov eax, dword [eax + 0x10]
movzx eax, byte [eax + esi]
and eax, 1
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x28]
add eax, ecx
imul edx, eax, 0x28
mov eax, dword [ebp - 0x2c]
add eax, ecx
imul ecx, eax, 0x28
add edx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x18]
call fcn.00425c8e
mov edx, eax
mov dword [ebp - 0x84], edx
pop ecx
test edx, edx
jne 0x42961c
mov edx, dword [ebp - 0x20]
inc esi
push 4
pop eax
add edx, eax
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x20], edx
cmp esi, dword [ebp - 0x24]
jl 0x4295b8
jmp 0x428730
mov eax, dword [ebp - 0x4c]
push 2
pop ecx
mov eax, dword [eax + 0x10]
test byte [esi + eax], cl
mov esi, dword [ebp - 0x18]
je 0x429658
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x70]
add eax, ecx
imul eax, eax, 0x28
test byte [eax + esi + 8], 1
jne 0x429650
mov eax, dword [ebp - 0x28]
add eax, ecx
xor ecx, ecx
imul eax, eax, 0x28
inc ecx
test byte [eax + esi + 8], cl
je 0x429658
neg edx
mov dword [ebp - 0x84], edx
cmp dword [ebp - 0x54], 0
mov eax, dword [ebp - 0x14]
je case.0x428682.86
neg edx
mov dword [ebp - 0x84], edx
jmp case.0x428682.86
mov edx, dword [ebp - 0x84]
test edx, edx
jns 0x429682
imul ebx, dword [ebx + 4], 0x14
jmp 0x42968e
jne 0x42968a
imul ebx, dword [ebx + 8], 0x14
jmp 0x42968e
imul ebx, dword [ebx + 0xc], 0x14
add ebx, dword [ebp - 0x60]
add ebx, 0xffffffec
jmp case.0x428682.86
imul ecx, dword [ebx + 4], 0x28
push 2
pop eax
mov edx, eax
add ecx, esi
call fcn.00422869
imul ecx, dword [ebx + 8], 0x28
mov esi, eax
push 2
pop eax
mov edx, eax
add ecx, dword [ebp - 0x18]
call fcn.00422869
imul ecx, esi, 3
cmp byte [ebx], 0x2c
jne 0x4296cd
mov dl, byte [ecx + eax + 0x52f208]
jmp 0x4296d4
mov dl, byte [ecx + eax + 0x52f1a0]
imul esi, dword [ebx + 0xc], 0x28
mov ecx, 0x3e40
push 2
add esi, dword [ebp - 0x18]
mov ax, word [esi + 8]
and ax, cx
movzx ecx, ax
pop eax
cmp dl, al
jne 0x4296f6
xor eax, eax
inc eax
jmp 0x429702
movzx eax, dl
cdq
push 4
mov dword [esi], eax
mov dword [esi + 4], edx
pop eax
or ecx, eax
movzx eax, cx
jmp 0x428923
imul ecx, dword [ebx + 4], 0x28
mov edx, dword [ebx + 0xc]
add ecx, esi
call fcn.00422869
imul ecx, dword [ebx + 8], 0x28
mov edi, 0x2400
xor eax, dword [ebx + 0x10]
cdq
add ecx, esi
test word [ecx + 8], di
mov edi, dword [ebp - 0x44]
je 0x429739
push edx
push eax
jmp 0x428b34
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x428b41
imul ecx, dword [ebx + 4], 0x28
xor edx, edx
inc edx
add ecx, esi
imul esi, dword [ebx + 8], 0x28
add esi, dword [ebp - 0x18]
test byte [ecx + 8], dl
jne 0x429790
xor edx, edx
call fcn.00422869
neg eax
mov ecx, 0x2400
sbb eax, eax
inc eax
test word [esi + 8], cx
je 0x429781
xor ecx, ecx
push ecx
push eax
mov ecx, esi
call fcn.00422b73
pop ecx
pop ecx
jmp 0x428730
mov dword [esi], eax
xor eax, eax
push 4
mov dword [esi + 4], eax
pop eax
jmp 0x428923
mov ecx, 0x2400
test word [esi + 8], cx
jne 0x428b82
mov word [esi + 8], dx
mov esi, dword [ebp - 0x18]
jmp case.0x428682.86
imul eax, dword [ebx + 4], 0x28
mov ecx, 0x2400
add eax, esi
imul esi, dword [ebx + 8], 0x28
mov dword [ebp - 0x24], eax
add esi, dword [ebp - 0x18]
test word [esi + 8], cx
je 0x4297d5
mov ecx, esi
call fcn.0042270e
mov eax, dword [ebp - 0x24]
xor edx, edx
inc edx
jmp 0x4297dc
xor edx, edx
inc edx
mov word [esi + 8], dx
test byte [eax + 8], dl
jne 0x428730
push 4
pop ecx
mov word [esi + 8], cx
mov ecx, eax
call fcn.004227e2
not eax
not edx
jmp 0x429556
cmp dword [edi + 0xc8], 0
je 0x429848
mov eax, ebx
sub eax, dword [edi + 0x68]
cdq
push 0x14
pop ecx
idiv ecx
xor edx, edx
mov ecx, eax
inc edx
mov eax, dword [edi + 0xc8]
mov esi, ecx
shr esi, 3
and ecx, 7
shl edx, cl
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x24], eax
movzx eax, byte [esi + eax]
test eax, edx
jne 0x42cf30
bts eax, ecx
mov ecx, dword [ebp - 0x24]
mov byte [esi + ecx], al
mov ecx, dword [edi + 0x68]
mov esi, dword [ebp - 0x18]
jmp 0x429857
mov ecx, dword [edi + 0x68]
mov eax, dword [ecx + 4]
cmp eax, dword [ebx + 4]
je 0x42cf30
mov eax, dword [ecx + 4]
mov dword [ebx + 4], eax
jmp 0x428733
imul ecx, dword [ebx + 4], 0x28
mov edx, dword [ebx + 0xc]
add ecx, esi
call fcn.00422869
test eax, eax
jmp 0x4286e0
xor edx, edx
xor eax, eax
cmp dword [ebx + 0xc], eax
sete dl
imul ecx, dword [ebx + 4], 0x28
add ecx, esi
call fcn.00422869
test eax, eax
je 0x42cf30
jmp 0x428733
imul eax, dword [ebx + 4], 0x28
xor ecx, ecx
inc ecx
test byte [eax + esi + 8], cl
jmp 0x4286e0
imul eax, dword [ebx + 4], 0x28
xor ecx, ecx
inc ecx
test byte [eax + esi + 8], cl
jmp 0x42988e
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
cmp byte [eax + 2], 0
je 0x428733
imul eax, dword [ebx + 0xc], 0x28
mov ecx, 0x2400
add eax, esi
test word [eax + 8], cx
je 0x4298e6
mov ecx, eax
call fcn.0042270e
jmp 0x42cf30
xor ecx, ecx
inc ecx
mov word [eax + 8], cx
jmp 0x42cf30
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0x88]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x88], eax
call fcn.00425688
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x42923a
imul ecx, dword [ebx + 0xc], 0x28
add ecx, esi
mov esi, dword [ebp - 0x5c]
mov dword [ebp - 0x30], ecx
mov eax, dword [esi + 0x48]
mov dword [ebp - 0x28], eax
mov eax, dword [esi + 0x1c]
cmp eax, dword [edi + 0x20]
je 0x429a38
cmp byte [esi + 2], 0
je 0x429988
cmp byte [esi], 3
jne 0x42996d
imul edx, dword [esi + 0x20], 0x28
add edx, dword [ebp - 0x18]
mov eax, dword [edx + 0xc]
mov dword [esi + 0x54], eax
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ecx + 0x54]
mov dword [ecx + 0x50], eax
mov eax, dword [ebp - 0x5c]
mov ecx, dword [edx + 0x10]
mov dword [eax + 0x4c], ecx
mov ecx, dword [ebp - 0x5c]
jmp 0x4299c0
mov eax, 0x2400
test word [ecx + 8], ax
jne 0x428b84
xor eax, eax
inc eax
mov word [ecx + 8], ax
jmp 0x428730
mov esi, dword [esi + 0x28]
mov ecx, esi
call fcn.0041c369
mov eax, dword [ebp - 0x5c]
mov ecx, dword [esi + 0x2c]
mov dword [eax + 0x50], ecx
mov ecx, esi
mov edx, dword [ebp - 0x5c]
lea edx, [edx + 0x54]
call fcn.0041c7aa
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x14]
mov dword [ecx + 0x4c], eax
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ecx + 0x50]
cmp eax, dword [edx + 0x6c]
ja 0x42c556
mov eax, dword [edi + 0x20]
mov edx, 0x80
mov dword [ecx + 0x1c], eax
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax + 0x4c]
mov al, byte [ecx]
cmp al, dl
jae 0x4299e4
mov ecx, dword [ebp - 0x28]
movzx eax, al
mov dword [ecx], eax
xor eax, eax
inc eax
jmp 0x4299ec
mov edx, dword [ebp - 0x28]
call fcn.0040f1ac
movzx ecx, al
mov eax, dword [ebp - 0x5c]
mov dword [eax + 0x30], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x5c]
mov word [eax + 0x3a], cx
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x5c]
mov eax, dword [ecx]
cmp dword [esi + 0x54], eax
jae 0x429a30
xor edx, edx
mov dword [esi + 0x4c], edx
mov eax, dword [ebp - 0x5c]
mov dword [eax + 0x54], edx
mov eax, dword [ecx]
cmp eax, 0x18003
ja 0x429bd7
mov esi, dword [ebp - 0x5c]
cmp eax, dword [esi + 0x50]
jbe 0x429a3b
jmp 0x429bd7
mov edx, dword [esi + 0x4c]
mov dword [ebp - 0x4c], edx
jmp 0x429aa8
mov ecx, dword [ebp - 0x28]
movzx eax, word [esi + 0x3a]
mov edx, dword [ebp - 0x88]
cmp eax, edx
jg 0x429c6c
mov eax, dword [ecx]
cmp dword [esi + 0x30], eax
jae 0x429c35
mov ecx, dword [esi + 0x4c]
mov dword [ebp - 0x4c], ecx
test ecx, ecx
jne 0x429aa5
push 0xa
xor eax, eax
lea edi, [ebp - 0x1a0]
pop ecx
rep stosd dword es:[edi], eax
mov ecx, dword [esi + 0x28]
lea eax, [ebp - 0x1a0]
push eax
mov eax, dword [ebp - 0x28]
xor edx, edx
push dword [eax]
call fcn.00422f9d
mov dword [ebp - 0x1c], eax
pop ecx
pop ecx
test eax, eax
jne 0x42d321
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x190]
mov esi, dword [ebp - 0x5c]
mov dword [ebp - 0x4c], eax
mov eax, dword [ecx]
jmp 0x429aa8
mov ecx, dword [ebp - 0x28]
movzx edx, word [esi + 0x3a]
mov edi, dword [esi + 0x30]
add edi, dword [ebp - 0x4c]
mov dword [ebp - 0x70], edx
mov ecx, dword [ecx + edx*4]
mov dword [ebp - 0x38], ecx
xor ecx, ecx
add eax, dword [ebp - 0x4c]
mov ebx, ecx
lea ecx, [edx*4 + 0x58]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x20], ecx
movzx eax, byte [edi]
mov edx, 0x80
mov dword [ebp - 0x74], eax
mov dword [esi + ecx], eax
mov eax, dword [ebp - 0x74]
cmp eax, edx
jae 0x429afa
movzx eax, al
inc edi
movzx eax, byte [eax + 0x530708]
cdq
add dword [ebp - 0x38], eax
adc ebx, edx
mov edx, dword [ebp - 0x38]
jmp 0x429b3f
lea edx, [ebp - 0x74]
mov ecx, edi
call fcn.0040f1ac
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x74]
movzx eax, al
add edi, eax
mov eax, dword [ebp - 0x5c]
mov dword [eax + edx], ecx
mov ecx, 0x80
mov eax, dword [ebp - 0x74]
cmp eax, ecx
jb 0x429b28
add eax, 0xfffffff4
shr eax, 1
jmp 0x429b2f
movzx eax, byte [eax + 0x530708]
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x20]
add edx, eax
push 0
pop eax
mov dword [ebp - 0x38], edx
adc ebx, eax
mov eax, dword [ebp - 0x70]
push 4
pop esi
add ecx, esi
inc eax
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x20], ecx
mov dword [esi + ecx - 0x58], edx
mov esi, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x88]
jg 0x429b6c
cmp edi, esi
jae 0x429b6c
mov esi, dword [ebp - 0x5c]
jmp 0x429acf
mov eax, dword [ebp - 0x5c]
cmp edi, esi
mov dword [ebp - 0x20], edi
mov edi, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x64], ebx
mov ebx, dword [ebp - 0x2c]
jb 0x429b94
cmp ecx, esi
ja 0x429ba5
cmp edx, dword [eax + 0x50]
jne 0x429ba5
mov esi, dword [ebp - 0x64]
test esi, esi
jne 0x429ba2
jmp 0x429b97
mov esi, dword [ebp - 0x64]
test esi, esi
jb 0x429bf2
ja 0x429ba2
cmp edx, dword [eax + 0x50]
jbe 0x429bf2
mov esi, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x28]
xor edx, edx
cmp dword [ecx], edx
jne 0x429bb2
mov ecx, esi
jmp 0x429bf5
cmp dword [eax + 0x4c], edx
jne 0x429bd7
mov eax, 0x2400
test dword [ebp - 0x198], eax
jne 0x429bcc
cmp dword [ebp - 0x188], edx
je 0x429bd7
lea ecx, [ebp - 0x1a0]
call fcn.00422743
mov edx, dword [ebp - 0x60]
mov eax, dword [edx + 0xc]
test eax, eax
jle 0x42cfe6
imul eax, eax, 0x14
lea ebx, [edx - 0x14]
add ebx, eax
jmp 0x428730
mov edx, dword [ebp - 0x70]
sub ecx, dword [ebp - 0x4c]
mov word [eax + 0x3a], dx
mov eax, dword [ebp - 0x5c]
mov dword [eax + 0x30], ecx
xor eax, eax
mov esi, dword [ebp - 0x5c]
cmp dword [esi + 0x4c], eax
jne 0x429c30
mov eax, 0x2400
test dword [ebp - 0x198], eax
jne 0x429c22
cmp dword [ebp - 0x188], 0
je 0x429c30
lea ecx, [ebp - 0x1a0]
call fcn.00422743
mov esi, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x74]
jmp 0x429c3c
xor eax, eax
mov edx, eax
mov dword [ebp - 0x74], edx
movzx eax, word [esi + 0x3a]
cmp eax, dword [ebp - 0x88]
jg 0x429c73
cmp byte [ebx + 1], 0xf5
jne 0x429c64
mov edx, dword [ebx + 0x10]
mov eax, 0x800
mov ecx, dword [ebp - 0x30]
push eax
call fcn.00422cb1
jmp 0x42977b
mov esi, dword [ebp - 0x30]
jmp 0x428b77
mov edx, dword [esi + edx*4 + 0x58]
mov dword [ebp - 0x74], edx
mov ecx, dword [ebp - 0x30]
mov eax, 0x2400
test word [ecx + 8], ax
je 0x429c8c
call fcn.0042270e
mov esi, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x74]
mov edi, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x28]
mov eax, dword [esi + 0x54]
cmp eax, dword [ecx + edi*4 + 4]
mov edi, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x30]
jb 0x429d48
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x88]
mov esi, dword [esi + 0x4c]
add esi, dword [edi + eax*4]
mov edi, dword [ebp - 0x44]
mov dword [ebp - 0x24], esi
cmp edx, 0xc
jae 0x429ccf
push ecx
mov ecx, esi
call fcn.004257ff
jmp 0x42977b
lea eax, [edx - 0xc]
mov dl, byte [ebp - 0x6c]
shr eax, 1
mov byte [ecx + 0xa], dl
mov dword [ebp - 0x20], eax
mov dword [ecx + 0xc], eax
lea edx, [eax + 2]
cmp dword [ecx + 0x18], edx
jge 0x429d0b
xor eax, eax
inc eax
mov word [ecx + 8], ax
xor eax, eax
push eax
call fcn.004223f2
pop ecx
test eax, eax
jne 0x42d0b6
mov esi, dword [ebp - 0x30]
mov eax, dword [ebp - 0x20]
mov edx, dword [esi + 0x10]
jmp 0x429d14
mov edx, dword [ecx + 0x14]
mov esi, dword [ebp - 0x30]
mov dword [ecx + 0x10], edx
push eax
push dword [ebp - 0x24]
push edx
call fcn.004694e0
mov eax, dword [esi + 0x10]
xor edx, edx
mov ecx, dword [ebp - 0x20]
add esp, 0xc
mov byte [ecx + eax], dl
mov eax, dword [esi + 0x10]
mov byte [ecx + eax + 1], dl
xor ecx, ecx
mov eax, dword [ebp - 0x74]
inc ecx
and eax, ecx
mov ax, word [eax*2 + 0x52f588]
jmp 0x428923
mov al, byte [ebp - 0x6c]
mov byte [ecx + 0xa], al
movzx eax, word [ebx + 2]
mov edx, dword [ebp - 0x74]
test al, 0xc0
je 0x429d67
cmp edx, 0xc
jb 0x429d63
test dl, 1
je 0x429d82
test al, al
js 0x429d82
mov eax, 0x80
cmp edx, eax
jb 0x429d77
lea eax, [edx - 0xc]
shr eax, 1
jmp 0x429d7e
movzx eax, byte [edx + 0x530708]
test eax, eax
jne 0x429d8d
push ecx
mov ecx, 0x543dac
jmp 0x429cc5
mov edx, dword [ebp - 0x88]
push ecx
mov ecx, dword [ebp - 0x5c]
push eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [ecx + 0x28]
mov edx, dword [eax + edx*4]
call fcn.00422f9d
mov dword [ebp - 0x1c], eax
pop ecx
pop ecx
test eax, eax
jne 0x42923a
mov esi, dword [ebp - 0x30]
mov edx, dword [ebp - 0x74]
push esi
mov ecx, dword [esi + 0x10]
call fcn.004257ff
mov eax, 0xefff
and word [esi + 8], ax
pop ecx
jmp 0x428730
mov eax, dword [ebx + 0x10]
imul esi, dword [ebx + 4], 0x28
mov dword [ebp - 0x20], eax
mov al, byte [eax]
add esi, dword [ebp - 0x18]
push dword [ebp - 0x6c]
mov dl, al
mov ecx, esi
call fcn.00428440
mov edx, dword [ebp - 0x20]
pop ecx
cmp byte [edx], 0x45
jne 0x429e53
movzx ecx, word [esi + 8]
push 4
pop eax
mov dword [ebp - 0x54], ecx
test al, cl
je 0x429e53
mov eax, dword [esi]
add eax, 0
mov dword [ebp - 0x24], eax
mov eax, dword [esi + 4]
adc eax, 0x8000
cmp eax, 0xffff
ja 0x429e31
jb 0x429e22
cmp dword [ebp - 0x24], 0xffffffff
ja 0x429e31
and ecx, 0xfffb
or ecx, 0x20
mov word [esi + 8], cx
jmp 0x429e53
mov edx, dword [esi + 4]
mov ecx, dword [esi]
call fcn.0047c980
mov eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0x20]
and eax, 0xfffb
push 8
pop ecx
or eax, ecx
movsd qword [esi], xmm0
mov word [esi + 8], ax
inc edx
mov dword [ebp - 0x20], edx
mov al, byte [edx]
test al, al
je 0x428730
add esi, 0x28
jmp 0x429de0
imul edx, dword [ebx + 4], 0x28
xor eax, eax
mov ecx, dword [ebx + 0x10]
xorps xmm0, xmm0
mov dword [ebp - 0x28], eax
imul eax, dword [ebx + 8], 0x28
movlpd qword [ebp - 0x40], xmm0
add edx, esi
movlpd qword [ebp - 0x68], xmm0
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x54], edx
add eax, 0xffffffd8
add eax, edx
mov dword [ebp - 0x24], eax
mov al, byte [edi + 0x93]
mov byte [ebp - 0x31], al
imul eax, dword [ebx + 0xc], 0x28
add eax, esi
mov dword [ebp - 0x70], eax
test ecx, ecx
je 0x429eec
mov ebx, dword [ebp - 0x6c]
lea esi, [edx + 8]
mov edi, ecx
mov al, byte [edi]
push ebx
lea ecx, [esi - 8]
mov dl, al
call fcn.00428440
cmp byte [edi], 0x45
pop ecx
jne 0x429edc
movzx eax, word [esi]
push 4
pop ecx
test cl, al
je 0x429edc
and eax, 0xfffb
or eax, 0x20
mov word [esi], ax
inc edi
add esi, 0x28
mov al, byte [edi]
test al, al
jne 0x429eb6
mov ebx, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x44]
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x3c]
add eax, 0x1c
mov esi, dword [ebp - 0x40]
mov dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x68]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x64], edx
movzx edx, word [eax - 0x14]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x4c], edx
test dl, 1
je 0x429f38
mov esi, dword [ebp - 0x30]
mov eax, 0x4000
and edx, eax
movzx eax, dx
mov edx, dword [ebp - 0x28]
neg eax
sbb eax, eax
and eax, 0xa
inc edx
mov dword [esi], eax
jmp 0x42a129
test dl, 0x24
je 0x42a078
mov esi, dword [eax - 0x1c]
xor ecx, ecx
mov eax, dword [eax - 0x18]
cmp eax, ecx
jg 0x429f5b
jl 0x429f53
cmp esi, ecx
jae 0x429f5b
mov ecx, esi
not eax
not ecx
jmp 0x429f5d
mov ecx, esi
inc dword [ebp - 0x28]
test eax, eax
ja 0x42a000
jb 0x429f6f
cmp ecx, 0x7f
ja 0x429fa7
xor edx, edx
mov eax, esi
inc edx
and eax, edx
cmp eax, esi
jne 0x429f91
mov eax, dword [ebp - 0x30]
xor edx, edx
cmp edx, dword [eax - 0x18]
jne 0x429f91
push 4
pop eax
cmp byte [ebp - 0x31], al
jb 0x429f91
lea eax, [ecx + 8]
jmp 0x429f9f
xor ecx, ecx
inc ecx
add dword [ebp - 0x48], ecx
push 0
pop eax
adc dword [ebp - 0x38], eax
mov eax, ecx
mov ecx, dword [ebp - 0x38]
jmp 0x42a06b
test eax, eax
ja 0x42a000
jb 0x429fb5
cmp ecx, 0x7fff
ja 0x429fcd
push 2
mov ecx, dword [ebp - 0x38]
pop edx
add dword [ebp - 0x48], edx
push 0
pop eax
adc ecx, eax
mov eax, edx
mov dword [ebp - 0x38], ecx
jmp 0x42a06b
test eax, eax
ja 0x42a000
jb 0x429fdb
cmp ecx, 0x7fffff
ja 0x429fee
add dword [ebp - 0x48], 3
mov ecx, dword [ebp - 0x38]
push 0
pop eax
adc ecx, eax
mov dword [ebp - 0x38], ecx
push 3
jmp 0x42a06a
test eax, eax
ja 0x42a000
jb 0x429ffc
cmp ecx, 0x7fffffff
ja 0x42a000
push 4
jmp 0x429fb7
cmp eax, 0x7fff
ja 0x42a021
jb 0x42a00e
cmp ecx, 0xffffffff
ja 0x42a021
add dword [ebp - 0x48], 6
mov ecx, dword [ebp - 0x38]
push 0
pop eax
adc ecx, eax
mov dword [ebp - 0x38], ecx
push 5
jmp 0x42a06a
push 8
pop ecx
add dword [ebp - 0x48], ecx
mov ecx, dword [ebp - 0x38]
push 0
pop eax
adc ecx, eax
mov dword [ebp - 0x38], ecx
test dl, 0x20
je 0x42a068
mov eax, dword [ebp - 0x30]
mov ecx, esi
mov edx, dword [eax - 0x18]
call fcn.0047c980
mov eax, dword [ebp - 0x30]
mov esi, dword [ebp - 0x30]
push 8
pop ecx
movsd qword [eax - 0x1c], xmm0
mov eax, dword [ebp - 0x4c]
and eax, 0xffdf
or eax, ecx
mov ecx, dword [ebp - 0x38]
push 7
mov word [esi - 0x14], ax
pop eax
jmp 0x42a06e
push 6
pop eax
mov esi, dword [ebp - 0x30]
mov edx, dword [ebp - 0x28]
mov dword [esi], eax
jmp 0x42a12c
test dl, 8
je 0x42a09b
mov edx, dword [ebp - 0x28]
inc edx
mov dword [eax], 7
add esi, 8
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x48], esi
adc ecx, 0
mov dword [ebp - 0x38], ecx
jmp 0x42a132
mov ecx, dword [eax - 0x10]
mov eax, edx
shr eax, 1
and eax, 1
mov dword [ebp - 0x3c], ecx
lea eax, [eax + ecx*2]
add eax, 0xc
mov dword [ebp - 0x4c], eax
test edx, 0x4000
je 0x42a0f4
mov esi, dword [ebp - 0x30]
mov edx, dword [esi - 0x1c]
lea eax, [eax + edx*2]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x48]
or eax, dword [ebp - 0x38]
je 0x42a0e5
lea ecx, [esi - 0x1c]
call fcn.00422588
test eax, eax
jne 0x42d0b6
mov ecx, dword [ebp - 0x3c]
add ecx, dword [esi - 0x1c]
jmp 0x42a0ee
mov eax, edx
cdq
add dword [ebp - 0x64], eax
adc dword [ebp - 0x20], edx
mov esi, dword [ebp - 0x48]
mov eax, dword [ebp - 0x4c]
add esi, ecx
push 0
pop edx
adc dword [ebp - 0x38], edx
xor ecx, ecx
mov dword [ebp - 0x48], esi
lea esi, [ecx + 1]
mov ecx, eax
shr ecx, 7
jmp 0x42a113
shrd ecx, edx, 7
inc esi
shr edx, 7
mov eax, ecx
or eax, edx
jne 0x42a10b
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x4c]
add edx, esi
mov dword [ecx], eax
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x30]
mov esi, dword [ebp - 0x48]
add eax, 0xffffffe4
cmp eax, dword [ebp - 0x54]
je 0x42a145
mov eax, dword [ebp - 0x30]
sub eax, 0x28
jmp 0x429f0a
cmp edx, 0x7e
jle 0x42a1ba
xor eax, eax
inc eax
mov dword [ebp - 0x4c], eax
mov eax, edx
cdq
mov esi, eax
shrd esi, edx, 7
shr edx, 7
mov ecx, esi
or ecx, edx
je 0x42a179
mov edi, dword [ebp - 0x4c]
shrd esi, edx, 7
inc edi
shr edx, 7
mov eax, esi
or eax, edx
jne 0x42a165
mov dword [ebp - 0x4c], edi
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x28]
xor ecx, ecx
add eax, dword [ebp - 0x4c]
inc ecx
mov dword [ebp - 0x28], eax
cdq
mov esi, eax
mov dword [ebp - 0x30], ecx
shrd esi, edx, 7
shr edx, 7
mov ecx, esi
or ecx, edx
je 0x42a1af
mov edi, dword [ebp - 0x30]
shrd esi, edx, 7
inc edi
shr edx, 7
mov eax, esi
or eax, edx
jne 0x42a19b
mov dword [ebp - 0x30], edi
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x30]
jge 0x42a1be
inc edx
mov dword [ebp - 0x28], edx
mov esi, dword [ebp - 0x38]
mov eax, edx
cdq
mov ecx, edx
mov dword [ebp - 0x4c], eax
mov edx, dword [ebp - 0x48]
add edx, eax
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x70]
adc esi, ecx
mov dword [ebp - 0x48], edx
mov ecx, edx
add ecx, dword [ebp - 0x64]
mov eax, dword [eax + 0x18]
adc esi, dword [ebp - 0x20]
cdq
cmp esi, edx
jg 0x42a1fa
jl 0x42a1ef
cmp ecx, eax
ja 0x42a1fa
mov ecx, dword [ebp - 0x70]
mov eax, dword [ecx + 0x14]
mov dword [ecx + 0x10], eax
jmp 0x42a22e
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x6c]
cdq
cmp esi, edx
jg 0x42c556
jl 0x42a213
cmp ecx, eax
ja 0x42c556
mov eax, dword [ebp - 0x48]
mov edx, eax
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x48], eax
call fcn.004224e0
test eax, eax
jne 0x42d0b6
mov ecx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x64]
mov dword [ecx + 0xc], eax
push 0x10
pop eax
mov word [ecx + 8], ax
mov eax, edx
or eax, dword [ebp - 0x20]
je 0x42a250
mov eax, 0x4010
mov dword [ecx], edx
mov word [ecx + 8], ax
mov esi, dword [ecx + 0x10]
mov edx, 0x80
mov ecx, dword [ebp - 0x28]
lea eax, [esi + ecx]
mov dword [ebp - 0x20], eax
cmp ecx, edx
jae 0x42a26e
mov byte [esi], cl
xor ecx, ecx
inc ecx
mov eax, ecx
jmp 0x42a283
push dword [ebp - 0x3c]
mov ecx, esi
push dword [ebp - 0x4c]
call fcn.0040efe7
pop ecx
pop ecx
xor ecx, ecx
inc ecx
lea edx, [ecx + 0x7f]
mov edi, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x24]
movzx eax, al
add esi, eax
mov eax, dword [edi + 0x1c]
mov dword [ebp - 0x3c], eax
cmp eax, edx
jae 0x42a29e
mov byte [esi], al
mov eax, ecx
jmp 0x42a2ab
xor ecx, ecx
push ecx
push eax
mov ecx, esi
call fcn.0040efe7
pop ecx
pop ecx
push dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x20]
mov edx, edi
movzx eax, al
add esi, eax
call fcn.004256e2
add dword [ebp - 0x20], eax
add edi, 0x28
pop ecx
push 1
pop ecx
lea edx, [ecx + 0x7f]
cmp edi, ebx
jbe 0x42a28e
jmp 0x42899a
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.00420b3e
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x42923a
mov edx, ebx
mov ecx, edi
call fcn.00428581
mov ecx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x114]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp 0x428733
mov ecx, dword [ebx + 4]
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x20], eax
test ecx, ecx
jne 0x42a40b
mov ecx, dword [ebp - 0x14]
xor edx, edx
cmp dword [ecx + 0xb8], edx
jg 0x42d00c
test eax, eax
jne 0x42a34c
mov esi, edx
jmp 0x42a363
mov esi, eax
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x42a351
sub esi, ecx
mov ecx, dword [ebp - 0x14]
and esi, 0x3fffffff
mov eax, dword [ecx + 0x1d0]
xor edx, edx
add eax, dword [ecx + 0x1cc]
push eax
call fcn.00454d63
mov dword [ebp - 0x1c], eax
pop ecx
test eax, eax
jne 0x42923a
xor ecx, ecx
lea eax, [esi + 0x21]
push ecx
mov ecx, dword [ebp - 0x14]
push eax
call fcn.0040bf12
mov dword [ebp - 0x3c], eax
pop ecx
pop ecx
test eax, eax
je 0x428730
lea ecx, [esi + 1]
push ecx
push dword [ebp - 0x20]
lea edx, [eax + 0x20]
push edx
mov dword [eax], edx
call fcn.004694e0
mov esi, dword [ebp - 0x14]
add esp, 0xc
cmp byte [esi + 0x4f], 0
je 0x42a3c8
xor eax, eax
mov byte [esi + 0x4f], al
inc eax
mov byte [esi + 0x57], al
jmp 0x42a3ce
inc dword [esi + 0x1cc]
mov edx, dword [ebp - 0x3c]
mov eax, dword [esi + 0x1c4]
mov dword [edx + 0x18], eax
mov eax, dword [esi + 0x1d8]
mov ecx, dword [esi + 0x1dc]
mov dword [esi + 0x1c4], edx
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov eax, dword [esi + 0x1e0]
mov ecx, dword [esi + 0x1e4]
mov dword [edx + 0x10], eax
mov eax, esi
mov dword [edx + 0x14], ecx
jmp 0x4297a3
xor ecx, ecx
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x14]
mov esi, dword [ecx + 0x1c4]
test esi, esi
je 0x42d045
mov ecx, dword [esi]
mov edx, eax
call fcn.0040e570
test eax, eax
je 0x42a439
inc dword [ebp - 0x28]
mov esi, dword [esi + 0x18]
mov eax, dword [ebp - 0x20]
jmp 0x42a419
mov ecx, dword [ebp - 0x14]
xor eax, eax
mov edx, dword [ebp - 0x2c]
cmp dword [ecx + 0xb8], eax
jle 0x42a452
inc eax
cmp edx, eax
je 0x42d01d
lea eax, [esi + 0x18]
cmp dword [eax], 0
mov dword [ebp - 0x70], eax
jne 0x42a52c
cmp byte [ecx + 0x57], 0
je 0x42a52c
xor eax, eax
inc eax
mov dword [ebp - 0x4c], eax
cmp edx, eax
jne 0x42a531
mov edx, eax
mov ecx, edi
call fcn.00425041
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x4292d4
mov eax, dword [ebp - 0x14]
xor ecx, ecx
inc ecx
mov byte [eax + 0x4f], cl
mov ecx, edi
call fcn.0042509c
push 5
pop ecx
cmp eax, ecx
je 0x42d024
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov byte [eax + 0x57], cl
mov eax, dword [edi + 0x28]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x1c4]
cmp ecx, esi
je 0x42a4eb
mov edi, dword [ebp - 0x14]
mov eax, dword [ecx + 0x18]
mov edx, ecx
mov ecx, edi
mov dword [edi + 0x1c4], eax
call fcn.0040bcca
mov ecx, dword [edi + 0x1c4]
dec dword [edi + 0x1cc]
cmp ecx, esi
jne 0x42a4c6
mov edi, dword [ebp - 0x44]
mov edx, dword [ebp - 0x2c]
xor eax, eax
inc eax
cmp edx, eax
jne 0x42a63a
mov eax, dword [ebp - 0x70]
mov edx, esi
mov ecx, dword [ebp - 0x14]
mov eax, dword [eax]
mov dword [ecx + 0x1c4], eax
call fcn.0040bcca
cmp dword [ebp - 0x4c], 0
jne 0x42922f
mov edx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x14]
dec dword [edx + 0x1cc]
mov edx, dword [ebp - 0x2c]
jmp 0x42a679
xor eax, eax
mov dword [ebp - 0x4c], eax
mov eax, dword [ecx + 0x1cc]
sub eax, dword [ebp - 0x28]
dec eax
mov dword [ebp - 0x28], eax
mov eax, dword [ecx + 0x14]
cmp edx, 2
jne 0x42a5ac
mov ecx, dword [ecx + 0x18]
and dword [ebp - 0x24], 0
and ecx, 1
mov dword [ebp - 0x64], ecx
test eax, eax
jle 0x42a5b1
xor eax, eax
inc eax
xor ecx, eax
xor eax, eax
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x20], eax
jmp 0x42a569
mov eax, dword [ebp - 0x20]
push ecx
mov ecx, dword [ebp - 0x14]
mov edx, 0x204
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx + eax + 4]
call fcn.0041c011
mov dword [ebp - 0x1c], eax
pop ecx
test eax, eax
jne 0x42923a
mov ecx, dword [ebp - 0x24]
push 0x10
pop eax
add dword [ebp - 0x20], eax
inc ecx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x24], ecx
mov eax, dword [eax + 0x14]
cmp ecx, eax
mov ecx, dword [ebp - 0x3c]
jl 0x42a566
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x2c]
jmp 0x42a5b1
xor ecx, ecx
mov dword [ebp - 0x64], ecx
and dword [ebp - 0x24], 0
test eax, eax
jle 0x42a5fc
xor eax, eax
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x14]
push dword [ebp - 0x28]
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx + eax + 4]
call fcn.0041c17f
mov dword [ebp - 0x1c], eax
pop ecx
test eax, eax
jne 0x42923a
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x24]
push 0x10
pop edx
add eax, edx
inc ecx
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x54], eax
cmp ecx, dword [edx + 0x14]
mov edx, dword [ebp - 0x2c]
jl 0x42a5be
mov ecx, dword [ebp - 0x64]
test ecx, ecx
je 0x42a4b6
mov edx, dword [ebp - 0x14]
mov ecx, dword [edx + 4]
jmp 0x42a621
mov eax, dword [ecx + 0x98]
and eax, 0xfffffffd
or eax, 1
mov dword [ecx + 0x98], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x42a60c
mov ecx, edx
call fcn.0043afa5
mov eax, dword [ebp - 0x14]
xor ecx, ecx
inc ecx
or dword [eax + 0x18], ecx
jmp 0x42a4b9
cmp dword [ebp - 0x4c], 0
mov edi, dword [ebp - 0x14]
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [edi + 0x1d8], eax
mov eax, edi
mov dword [eax + 0x1dc], ecx
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
mov esi, edi
mov edi, dword [ebp - 0x44]
mov dword [esi + 0x1e0], eax
mov dword [esi + 0x1e4], ecx
je 0x42a679
push 2
pop eax
cmp edx, eax
jne 0x42922f
push dword [ebp - 0x28]
mov ecx, esi
call fcn.00454d63
mov dword [ebp - 0x1c], eax
pop ecx
test eax, eax
jne 0x42923a
jmp 0x429232
mov edx, dword [ebx + 8]
xor ecx, ecx
mov dword [ebp - 0x20], ecx
test edx, edx
je 0x42a6b3
mov eax, dword [eax + 0x20]
and eax, 0x100000
or eax, ecx
jne 0x42d05c
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 0x42a771
lea eax, [ebp - 0x20]
mov ecx, esi
push eax
call fcn.0041b567
mov dword [ebp - 0x1c], eax
pop ecx
test eax, eax
jne 0x42d060
xor ecx, ecx
cmp dword [ebx + 8], ecx
je 0x42a77b
mov edx, 0x80
test byte [edi + 0x98], dl
mov edx, dword [ebp - 0x14]
je 0x42a77e
cmp byte [edx + 0x4f], cl
je 0x42a70b
cmp dword [edx + 0xb4], 1
jle 0x42a77e
mov eax, dword [edi + 0x30]
test eax, eax
jne 0x42a727
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.00454d63
mov dword [ebp - 0x1c], eax
pop ecx
test eax, eax
jne 0x42a748
mov edx, dword [edi + 0x30]
mov ecx, esi
call fcn.0041c149
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x1d8]
mov ecx, dword [edx + 0x1dc]
mov dword [edi + 0x48], eax
mov dword [edi + 0x4c], ecx
mov eax, dword [edx + 0x1e0]
mov ecx, dword [edx + 0x1e4]
mov dword [edi + 0x50], eax
mov dword [edi + 0x54], ecx
jmp 0x42a774
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
jmp 0x42a77e
mov edx, dword [ebp - 0x14]
cmp word [ebx + 2], cx
je 0x429232
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebx + 0xc]
jne 0x42a7a8
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 0x42922f
mov edx, dword [edi + 0x7c]
test edx, edx
je 0x42a7b7
mov ecx, dword [ebp - 0x14]
call fcn.0040bcca
mov ecx, dword [ebp - 0x14]
mov edx, str.database_schema_has_changed
call fcn.0040c07a
mov dword [edi + 0x7c], eax
mov eax, dword [ebp - 0x14]
mov edx, dword [ebx + 4]
mov ecx, edx
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x20]
je 0x42a7e7
mov ecx, dword [ebp - 0x14]
call fcn.0043af4f
mov eax, dword [edi + 0x98]
xor ecx, ecx
and eax, 0xfffffffd
inc ecx
or eax, ecx
mov dword [edi + 0x98], eax
push 0x11
jmp 0x42d006
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.00420aab
pop ecx
mov edx, ebx
mov ecx, edi
call fcn.00428581
mov ecx, eax
mov eax, dword [ebp - 0x104]
jmp 0x4287c9
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.00420aed
xor edx, edx
mov dword [ebp - 0x1c], eax
inc edx
pop ecx
cmp dword [ebx + 8], edx
jne 0x42a86a
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 0x42a87e
push 2
pop eax
cmp dword [ebx + 8], eax
jne 0x42a87b
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 0x42922f
mov ecx, dword [eax + 4]
jmp 0x42a8a0
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 0x42a88c
and dword [edi + 0x98], 0xfffffffc
jmp 0x42922f
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x42a8c9
mov eax, dword [esi + 0x34]
cmp eax, dword [ebx + 8]
je 0x42a9c7
mov cl, byte [ebp - 0x31]
mov eax, dword [edi + 0x98]
xor edx, edx
and al, 3
inc edx
cmp al, dl
je 0x42d081
mov edx, dword [ebx + 8]
xor eax, eax
mov esi, dword [ebx + 0xc]
mov dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x64], eax
mov eax, esi
shl eax, 4
add eax, dword [edx + 0x10]
mov dword [ebp - 0x3c], esi
mov edx, dword [eax + 4]
mov dword [ebp - 0x4c], edx
mov edx, dword [ebp - 0x20]
cmp cl, 0x62
jne 0x42a92f
mov eax, dword [eax + 0xc]
movzx ecx, word [ebx + 2]
and ecx, 8
or ecx, 4
mov al, byte [eax + 0x4c]
mov dword [ebp - 0x24], ecx
cmp al, byte [edi + 0x93]
jae 0x42a934
mov byte [edi + 0x93], al
jmp 0x42a934
xor eax, eax
mov dword [ebp - 0x24], eax
push 0x10
pop eax
test byte [ebx + 2], al
je 0x42a951
imul esi, edx, 0x28
add esi, dword [ebp - 0x18]
mov ecx, esi
call fcn.004228f9
mov eax, dword [esi]
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0x20], eax
mov al, byte [ebx + 1]
cmp al, 0xf7
jne 0x42a964
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x64], eax
movzx eax, word [eax + 8]
jmp 0x42a970
cmp al, 0xfd
jne 0x42a96d
mov eax, dword [ebx + 0x10]
jmp 0x42a970
mov eax, dword [ebp - 0x54]
mov edx, dword [ebx + 4]
xor ecx, ecx
push ecx
push esi
push eax
mov ecx, edi
call fcn.004282bd
mov esi, eax
add esp, 0xc
test esi, esi
je 0x42d0b6
mov ecx, dword [ebp - 0x4c]
xor eax, eax
inc eax
push 4
mov byte [esi + 2], al
pop eax
push dword [esi + 0x28]
or dword [esi + 8], eax
push dword [ebp - 0x64]
mov eax, dword [ebp - 0x20]
mov edx, eax
push dword [ebp - 0x24]
mov dword [esi + 0x34], eax
call fcn.0041c2b8
mov dword [ebp - 0x1c], eax
add esp, 0xc
mov eax, dword [ebp - 0x64]
mov dword [esi + 0x2c], eax
cmp byte [ebx + 1], 0xf7
setne al
mov byte [esi + 4], al
mov cl, byte [ebx + 2]
mov eax, dword [esi + 0x28]
and cl, 3
mov byte [eax + 3], cl
jmp 0x42922f
mov ecx, dword [ebx + 8]
mov eax, dword [edi + 0x60]
mov edx, dword [ebx + 4]
mov eax, dword [eax + ecx*4]
xor ecx, ecx
push ecx
mov dword [ebp - 0x20], eax
mov ecx, edi
push 0xffffffffffffffff
movsx eax, word [eax + 0x38]
push eax
call fcn.004282bd
mov esi, eax
add esp, 0xc
test esi, esi
je 0x42d0b6
mov edx, dword [ebp - 0x20]
xor eax, eax
push dword [esi + 0x28]
inc eax
or dword [esi + 8], eax
mov byte [esi + 2], al
mov ecx, dword [edx + 0x2c]
mov dword [esi + 0x2c], ecx
mov al, byte [edx + 4]
mov byte [esi + 4], al
mov eax, dword [ebp - 0x20]
mov edx, dword [edx + 0x34]
mov dword [esi + 0x34], edx
push ecx
mov eax, dword [eax + 8]
xor eax, dword [esi + 8]
and eax, 4
xor dword [esi + 8], eax
push 4
pop eax
push eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0xc]
call fcn.0041c2b8
add esp, 0xc
mov dword [ebp - 0x1c], eax
jmp 0x428730
mov eax, dword [edi + 0x60]
mov edx, dword [ebx + 4]
mov esi, dword [eax + edx*4]
xor eax, eax
test esi, esi
je 0x42aa85
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], eax
mov dword [esi + 0x1c], eax
test ecx, ecx
je 0x42ab95
mov edx, dword [esi + 0x34]
push eax
call fcn.0042088f
pop ecx
mov dword [ebp - 0x1c], eax
jmp 0x42ab98
push eax
push 0xffffffffffffffff
push dword [ebx + 8]
mov ecx, edi
call fcn.004282bd
mov esi, eax
add esp, 0xc
mov dword [ebp - 0x24], esi
test esi, esi
je 0x42d0b6
xor eax, eax
xor edx, edx
inc eax
or dword [esi + 8], eax
lea eax, [esi + 0xc]
movzx ecx, word [ebx + 2]
push 0x41e
or ecx, 5
mov dword [ebp - 0x3c], eax
push ecx
push eax
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [eax]
call fcn.0041a920
add esp, 0x10
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x42ab7b
mov ecx, dword [esi + 0xc]
lea edx, [eax + 1]
push eax
call fcn.0041b567
mov dword [ebp - 0x1c], eax
pop ecx
test eax, eax
jne 0x42ab7b
mov eax, dword [ebx + 0x10]
lea ecx, [esi + 0x34]
mov dword [ebp - 0x20], eax
mov dword [esi + 0x2c], eax
mov dword [ebp - 0x54], ecx
test eax, eax
je 0x42ab58
movzx esi, word [ebx + 2]
push 2
pop eax
or esi, eax
mov eax, dword [ebp - 0x3c]
mov edi, dword [eax]
mov ecx, edi
call fcn.004192e4
mov edx, dword [ebp - 0x54]
mov ecx, edi
push esi
call fcn.00420520
pop ecx
mov ecx, edi
mov dword [ebp - 0x1c], eax
call fcn.00419356
cmp dword [ebp - 0x1c], 0
mov esi, dword [ebp - 0x24]
jne 0x42ab51
push dword [esi + 0x28]
mov edx, dword [esi + 0x34]
push dword [ebp - 0x20]
mov ecx, dword [esi + 0xc]
push 4
pop eax
push eax
call fcn.0041c2b8
add esp, 0xc
mov dword [ebp - 0x1c], eax
mov edi, dword [ebp - 0x44]
xor eax, eax
jmp 0x42ab78
push dword [esi + 0x28]
xor eax, eax
xor edx, edx
push eax
push 4
inc edx
pop eax
mov dword [ecx], edx
mov ecx, dword [esi + 0xc]
push eax
call fcn.0041c2b8
mov dword [ebp - 0x1c], eax
add esp, 0xc
xor eax, eax
inc eax
mov byte [esi + 4], al
push 8
pop eax
xor ecx, ecx
cmp word [ebx + 2], ax
push 4
pop eax
cmovne ecx, eax
mov eax, dword [esi + 8]
and eax, 0xfffffffb
or ecx, eax
mov dword [esi + 8], ecx
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x42923a
inc eax
mov byte [esi + 2], al
jmp 0x428730
mov edx, dword [ebx + 4]
xor eax, eax
inc eax
mov ecx, edi
push eax
push 0xffffffffffffffff
push dword [ebx + 8]
call fcn.004282bd
add esp, 0xc
test eax, eax
je 0x42d0b6
mov ecx, dword [ebx + 0x10]
mov dword [eax + 0x2c], ecx
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x14]
push eax
call fcn.0042e407
pop ecx
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x42923a
jmp 0x428733
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
mov edx, dword [eax + ecx*4]
xor eax, eax
inc eax
mov edi, dword [edx + 0x10]
mov ecx, edi
mov esi, dword [edx + 0x14]
add ecx, eax
mov eax, esi
mov dword [edx + 0x10], ecx
adc eax, 0
or edi, esi
mov edi, dword [ebp - 0x44]
mov dword [edx + 0x14], eax
je 0x42cf30
jmp 0x428730
mov edx, dword [ebx + 4]
mov ecx, edi
push 3
push 0xffffffffffffffff
push dword [ebx + 0xc]
call fcn.004282bd
add esp, 0xc
test eax, eax
je 0x42d0b6
xor edx, edx
inc edx
mov byte [eax + 2], dl
mov ecx, dword [ebx + 8]
mov dword [eax + 0x20], ecx
mov byte [eax + 4], dl
mov dword [eax + 0x28], 0x543c38
jmp 0x428733
mov eax, dword [ebx + 4]
mov ecx, edi
mov edx, dword [edi + 0x60]
mov edx, dword [edx + eax*4]
call fcn.004247e4
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x60]
mov dword [eax + ecx*4], edx
jmp 0x428733
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x20], ecx
mov word [esi + 2], cx
mov dword [esi + 0x1c], ecx
cmp byte [esi + 4], cl
je 0x42ad77
imul esi, dword [ebx + 0xc], 0x28
push 2
pop ecx
add esi, dword [ebp - 0x18]
movzx eax, word [esi + 8]
mov dword [ebp - 0x3c], eax
and al, 0x2e
cmp al, cl
jne 0x42acb3
xor edx, edx
mov ecx, esi
call fcn.0042838c
mov ecx, esi
call fcn.004227e2
movzx ecx, word [esi + 8]
mov dword [ebp - 0x4c], edx
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x64], eax
mov word [esi + 8], dx
test cl, 0x24
jne 0x42ad3e
test cl, 8
jne 0x42ad08
xor eax, eax
inc eax
test al, cl
jne 0x42cf30
cmp dword [ebp - 0x28], 0x18
jae 0x42cf30
mov ecx, dword [ebp - 0x24]
lea edx, [ebp - 0x7c]
mov ecx, dword [ecx + 0x28]
call fcn.0041ca26
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x42923a
jmp 0x42ae6e
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x64]
call fcn.0047c980
movsd xmm1, qword [esi]
comisd xmm0, xmm1
jbe 0x42ad2a
mov eax, dword [ebp - 0x28]
xor ecx, ecx
inc ecx
test cl, al
je 0x42ad3e
dec eax
jmp 0x42ad3b
comisd xmm1, xmm0
jbe 0x42ad3e
mov eax, dword [ebp - 0x28]
xor ecx, ecx
inc ecx
test cl, al
jne 0x42ad3e
inc eax
mov dword [ebp - 0x28], eax
mov esi, dword [ebp - 0x24]
lea eax, [ebp - 0x7c]
push eax
xor eax, eax
xor edx, edx
push eax
push dword [ebp - 0x4c]
mov ecx, dword [esi + 0x28]
push dword [ebp - 0x64]
call fcn.0041ca7a
mov ecx, dword [ebp - 0x64]
add esp, 0x10
mov dword [esi + 0x40], ecx
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x1c], eax
mov dword [esi + 0x44], ecx
test eax, eax
jne 0x42923a
jmp 0x42adfe
mov eax, dword [esi + 0x28]
push 0
mov al, byte [eax + 3]
and al, 2
mov byte [ebp - 0x31], al
pop eax
setne al
mov dword [ebp - 0x20], eax
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0x130], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x128], ax
mov eax, edx
xor edx, edx
mov byte [ebp - 0x122], cl
inc edx
and al, dl
lea edx, [ebp - 0x130]
neg al
sbb al, al
and al, 0xfe
inc al
mov byte [ebp - 0x126], al
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x12c], eax
lea eax, [ebp - 0x7c]
push eax
push ecx
push ecx
push ecx
mov ecx, dword [esi + 0x28]
call fcn.0041ca7a
add esp, 0x10
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x42923a
cmp byte [ebp - 0x31], al
je 0x42adfe
cmp byte [ebp - 0x122], 0
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
je 0x42ae6e
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x7c]
cmp eax, 0x18
jl 0x42ae2b
test ecx, ecx
js 0x42ae1b
jne 0x42ae14
cmp eax, 0x19
je 0x42ae1b
xor eax, eax
mov dword [ebp - 0x7c], eax
jmp 0x42ae78
xor eax, eax
push eax
mov dword [ebp - 0x7c], eax
push dword [esi + 0x28]
call fcn.0041cf51
jmp 0x42ae53
test ecx, ecx
jg 0x42ae45
jne 0x42ae36
cmp eax, 0x16
je 0x42ae45
mov eax, dword [esi + 0x28]
xor ecx, ecx
cmp byte [eax], cl
setne cl
mov dword [ebp - 0x7c], ecx
jmp 0x42ae6e
xor eax, eax
push eax
mov dword [ebp - 0x7c], eax
push dword [esi + 0x28]
call fcn.0041d061
mov dword [ebp - 0x1c], eax
pop ecx
pop ecx
test eax, eax
je 0x42ae6e
cmp eax, 0x65
jne 0x42923a
xor eax, eax
mov dword [ebp - 0x1c], eax
inc eax
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0
jne 0x42cf30
cmp dword [ebp - 0x20], 0
mov esi, dword [ebp - 0x18]
je 0x428733
push 0x14
pop eax
add ebx, eax
jmp 0x428733
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 0x428733
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
test byte [eax + 8], 8
jne 0x428733
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
imul esi, dword [ebx + 0xc], 0x28
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0x20], eax
add esi, dword [ebp - 0x18]
cmp dword [ebx + 0x10], ecx
jle 0x42af03
mov eax, dword [eax + 0x2c]
lea edx, [ebp - 0x178]
mov dword [ebp - 0x178], eax
mov ax, word [ebx + 0x10]
mov dword [ebp - 0x174], esi
mov esi, dword [ebp - 0x20]
mov word [ebp - 0x170], ax
mov dword [ebp - 0x24], ecx
jmp 0x42af4f
mov ecx, 0x4000
test word [esi + 8], cx
je 0x42af20
mov ecx, esi
call fcn.00422588
test eax, eax
jne 0x42d0b6
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x2c]
call fcn.0042597f
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x24], eax
test eax, eax
je 0x42d0b6
mov edx, dword [esi + 0xc]
push eax
push dword [esi + 0x10]
mov esi, dword [ebp - 0x20]
mov ecx, dword [esi + 0x2c]
call fcn.004259ca
mov edx, dword [ebp - 0x3c]
pop ecx
pop ecx
xor ecx, ecx
mov byte [edx + 0xa], cl
cmp byte [ebx], 0x1b
mov dword [ebp - 0x54], ecx
jne 0x42af83
movzx eax, word [edx + 8]
mov dword [ebp - 0x3c], eax
test eax, eax
je 0x42af81
mov eax, dword [edx + 4]
add eax, 8
test byte [eax], 1
jne 0x42af7b
inc ecx
add eax, 0x28
cmp ecx, dword [ebp - 0x3c]
jl 0x42af6b
jmp 0x42af81
xor eax, eax
inc eax
mov dword [ebp - 0x54], eax
xor ecx, ecx
lea eax, [ebp - 0xc4]
push eax
push ecx
push ecx
push ecx
mov ecx, dword [esi + 0x28]
call fcn.0041ca7a
mov ecx, dword [ebp - 0x24]
add esp, 0x10
mov dword [ebp - 0x1c], eax
test ecx, ecx
je 0x42afaf
mov edx, ecx
mov ecx, dword [ebp - 0x14]
call fcn.0040bcca
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x42923a
mov eax, dword [ebp - 0xc4]
xor ecx, ecx
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0xc4]
test eax, eax
sete cl
test eax, eax
setne al
mov byte [esi + 2], al
xor eax, eax
mov byte [esi + 3], al
mov dword [esi + 0x1c], eax
cmp byte [ebx], 0x1d
jne 0x42afe9
test ecx, ecx
jmp 0x4293b5
cmp dword [ebp - 0x54], eax
jne 0x42cf30
test ecx, ecx
jmp 0x42ac10
imul esi, dword [ebx + 0xc], 0x28
add esi, dword [ebp - 0x18]
test byte [esi + 8], 0x24
jne 0x42b042
push 0xa
pop ecx
push dword [ebp - 0x6c]
lea edi, [ebp - 0x1c8]
mov dl, 0x43
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x1c8]
call fcn.00428440
mov edi, dword [ebp - 0x44]
pop ecx
push 4
pop eax
test byte [ebp - 0x1c0], al
je 0x42cf30
mov edx, dword [ebp - 0x1c8]
mov eax, dword [ebp - 0x1c4]
jmp 0x42b050
mov esi, dword [ebp - 0x18]
imul eax, dword [ebx + 0xc], 0x28
mov edx, dword [eax + esi]
mov eax, dword [eax + esi + 4]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], edx
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
xor eax, eax
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0xb4], eax
lea eax, [ebp - 0xb4]
push eax
xor eax, eax
push eax
push dword [ebp - 0x20]
push edx
xor edx, edx
call fcn.0041ca7a
mov dword [ebp - 0x1c], eax
xor ecx, ecx
mov eax, dword [ebp - 0x24]
add esp, 0x10
mov dword [esi + 0x40], eax
mov eax, dword [ebp - 0x20]
mov dword [esi + 0x44], eax
mov word [esi + 2], cx
mov dword [esi + 0x1c], ecx
mov eax, dword [ebp - 0xb4]
mov dword [esi + 0x20], eax
cmp dword [ebp - 0xb4], ecx
je 0x42922f
cmp dword [ebx + 8], ecx
jne 0x42cf30
push 0x53a7b4
push 0x159cf
jmp 0x42cff0
mov edx, ebx
mov ecx, edi
call fcn.00428581
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 0x428733
xorps xmm0, xmm0
xor eax, eax
mov edx, ebx
movlpd qword [ebp - 0x58], xmm0
mov ecx, edi
mov dword [ebp - 0x20], eax
call fcn.00428581
mov edx, dword [ebx + 4]
mov ecx, dword [edi + 0x60]
push 2
mov dword [ebp - 0x3c], eax
pop eax
mov esi, dword [ecx + edx*4]
mov dword [ebp - 0x2c], esi
test byte [esi + 8], al
jne 0x42b191
mov ecx, dword [esi + 0x28]
lea edx, [ebp - 0x20]
call fcn.0041ca26
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x42923a
cmp dword [ebp - 0x20], eax
je 0x42b151
inc eax
mov dword [ebp - 0x58], eax
xor eax, eax
mov dword [ebp - 0x54], eax
jmp 0x42b191
mov esi, dword [esi + 0x28]
mov ecx, esi
call fcn.0041c369
mov ecx, dword [esi + 0x24]
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], ecx
cmp ecx, 0x7fffffff
jl 0x42b181
jg 0x42b176
cmp eax, 0xffffffff
jb 0x42b181
mov eax, dword [ebp - 0x2c]
push 2
pop ecx
or dword [eax + 8], ecx
jmp 0x42b191
xor edx, edx
inc edx
add eax, edx
push 0
pop edx
adc ecx, edx
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], ecx
mov edx, dword [ebx + 0xc]
test edx, edx
je 0x42b215
mov eax, dword [edi + 0xc8]
test eax, eax
jne 0x42b1fb
imul esi, edx, 0x28
add esi, dword [ebp - 0x18]
mov ecx, esi
call fcn.004228f9
mov ecx, dword [esi]
mov edx, dword [esi + 4]
cmp ecx, 0xffffffff
jne 0x42b1c5
cmp edx, 0x7fffffff
je 0x42b279
mov eax, dword [ebp - 0x2c]
test byte [eax + 8], 2
jne 0x42b279
xor eax, eax
inc eax
add ecx, eax
push 0
pop eax
adc edx, eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x24], eax
cmp eax, edx
jg 0x42b20a
jl 0x42b1ef
mov eax, dword [ebp - 0x58]
cmp eax, ecx
jae 0x42b20d
mov eax, ecx
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x58], eax
jmp 0x42b210
mov eax, ecx
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x42b1f9
imul esi, edx, 0x28
add esi, dword [eax + 0x10]
jmp 0x42b1a8
mov eax, dword [ebp - 0x58]
mov edx, dword [ebp - 0x24]
mov dword [esi], eax
mov dword [esi + 4], edx
mov eax, dword [ebp - 0x2c]
push 2
pop ecx
test byte [eax + 8], cl
je 0x42b283
xor eax, eax
mov esi, eax
lea eax, [ebp - 0x58]
push eax
push 8
pop eax
push eax
call fcn.0040db0b
mov eax, dword [ebp - 0x54]
xor edx, edx
mov ecx, dword [ebp - 0x58]
inc edx
push 0
and eax, 0x3fffffff
add ecx, edx
pop edx
adc eax, edx
mov dword [ebp - 0x58], ecx
lea edx, [ebp - 0x20]
mov dword [ebp - 0x54], eax
push edx
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x2c]
push ecx
mov ecx, dword [eax + 0x28]
call fcn.0041ca7a
add esp, 0x18
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x42923a
cmp dword [ebp - 0x20], eax
jne 0x42b280
inc esi
cmp esi, 0x64
jl 0x42b224
push 0xd
jmp 0x42d006
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x3c]
xor ecx, ecx
mov byte [eax + 3], cl
mov dword [eax + 0x1c], ecx
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp 0x428730
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
imul esi, dword [ebx + 8], 0x28
mov edx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x18]
mov ecx, dword [eax + ecx*4]
imul eax, dword [ebx + 0xc], 0x28
add esi, edx
mov dword [ebp - 0x24], ecx
cmp byte [ebx + 1], 0xfa
mov edx, dword [eax + edx]
mov eax, dword [eax + edi + 4]
mov edi, dword [ebp - 0x44]
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x64], eax
mov dword [ebp - 0xf0], edx
mov dword [ebp - 0xec], eax
jne 0x42b2fd
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp dword [eax + 0xf0], edx
je 0x42b2fd
movsx ecx, byte [ecx + 1]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8]
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x54], ecx
jmp 0x42b302
xor eax, eax
mov dword [ebp - 0x54], eax
xor ecx, ecx
mov dword [ebp - 0x20], eax
movzx eax, word [ebx + 2]
inc ecx
mov edx, eax
test cl, al
je 0x42b319
inc dword [edi + 0x2c]
movzx edx, word [ebx + 2]
movzx ecx, dx
test dl, 0x20
je 0x42b334
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
mov dword [ecx + 0x28], eax
mov eax, dword [ebp - 0x64]
mov dword [ecx + 0x2c], eax
movzx ecx, word [ebx + 2]
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xe8], eax
mov eax, dword [esi + 0xc]
push 0x10
mov dword [ebp - 0xdc], eax
pop eax
test al, cl
je 0x42b355
mov edx, dword [ebp - 0x24]
mov edx, dword [edx + 0x20]
jmp 0x42b359
xor eax, eax
mov edx, eax
mov eax, 0x4000
test word [esi + 8], ax
push 0
pop eax
je 0x42b373
mov eax, dword [esi]
mov dword [ebp - 0xd8], eax
xor eax, eax
jmp 0x42b379
mov dword [ebp - 0xd8], eax
mov esi, dword [ebp - 0x24]
and ecx, 0xa
push edx
mov dword [ebp - 0xf8], eax
lea edx, [ebp - 0xf8]
push ecx
mov ecx, dword [esi + 0x28]
call fcn.0041fe8d
pop ecx
pop ecx
xor ecx, ecx
mov dword [ebp - 0x1c], eax
mov byte [esi + 3], cl
mov dword [esi + 0x1c], ecx
test eax, eax
jne 0x42923a
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x428730
push dword [ebp - 0xec]
push dword [ebp - 0xf0]
push dword [eax]
push dword [ebp - 0x20]
push 4
pop eax
test byte [ebx + 2], al
push 0x12
pop eax
push 0x17
pop ecx
cmovne eax, ecx
push eax
mov eax, dword [ebp - 0x14]
push dword [eax + 0xec]
call dword [eax + 0xf0]
add esp, 0x18
jmp 0x428730
cmp byte [ebx + 1], 0xfa
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x20], eax
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0x3c], esi
jne 0x42b450
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp dword [eax + 0xf0], ecx
je 0x42b450
movsx ecx, byte [esi + 1]
mov eax, dword [eax + 0x10]
add ecx, ecx
push 2
mov eax, dword [eax + ecx*8]
mov dword [ebp - 0x54], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x24], eax
pop eax
test byte [ebx + 2], al
je 0x42b458
cmp byte [esi + 4], 0
je 0x42b458
mov esi, dword [esi + 0x28]
mov ecx, esi
call fcn.0041c369
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x24]
mov esi, dword [ebp - 0x3c]
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], ecx
jmp 0x42b458
xor eax, eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x24], eax
mov dl, byte [ebx + 2]
mov ecx, dword [esi + 0x28]
call fcn.0042021c
xor ecx, ecx
mov dword [ebp - 0x1c], eax
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x20], ecx
test eax, eax
jne 0x42923a
inc eax
test byte [ebp - 0x20], al
je 0x428730
mov edx, dword [ebp - 0x14]
inc dword [edi + 0x2c]
mov eax, dword [edx + 0xf0]
test eax, eax
je 0x42ce28
mov ecx, dword [ebp - 0x24]
test byte [ecx + 0x24], 0x20
jne 0x42ce28
push dword [esi + 0x44]
push dword [esi + 0x40]
push dword [ecx]
push dword [ebp - 0x54]
push 9
push dword [edx + 0xec]
call eax
jmp 0x42b3e5
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.0x428682.86
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
imul edx, dword [ebx + 0xc], 0x28
mov ecx, dword [eax + ecx*4]
xor eax, eax
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0xc8]
push eax
push dword [ebx + 0x10]
add edx, esi
call fcn.0042fc0e
mov dword [ebp - 0x1c], eax
pop ecx
pop ecx
test eax, eax
jne 0x42923a
cmp dword [ebp - 0xc8], eax
jmp 0x4286e0
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.0042fbb8
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x42923a
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 0x428733
mov edx, ebx
mov ecx, edi
call fcn.00428581
mov edx, dword [ebx + 4]
mov esi, eax
mov ecx, dword [edi + 0x60]
mov ecx, dword [ecx + edx*4]
mov eax, dword [ecx + 0x28]
mov ecx, eax
mov dword [ebp - 0x3c], eax
call fcn.0041c369
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x2c]
cmp eax, dword [edx + 0x6c]
ja 0x42c556
push esi
push eax
xor edx, edx
call fcn.00422f9d
mov dword [ebp - 0x1c], eax
pop ecx
pop ecx
test eax, eax
jne 0x42923a
cmp dword [ebx + 0xc], eax
jne 0x428730
mov eax, 0x1000
test word [esi + 8], ax
je 0x428730
mov ecx, esi
call fcn.00422542
test eax, eax
mov eax, dword [ebp - 0x14]
jne 0x42d0b9
jmp 0x4297a3
mov edx, ebx
mov ecx, edi
call fcn.00428581
mov edx, dword [ebx + 4]
mov ecx, dword [edi + 0x60]
mov dword [ebp - 0x24], eax
mov esi, dword [ecx + edx*4]
cmp byte [esi + 2], 0
je 0x42b5e2
xor ecx, ecx
inc ecx
mov word [eax + 8], cx
jmp 0x428730
cmp byte [esi + 3], 0
je 0x42b5f3
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x44]
jmp 0x42b675
push 2
pop eax
cmp byte [esi], al
jne 0x42b633
mov ecx, dword [esi + 0x28]
lea edx, [ebp - 0xc0]
push edx
push ecx
mov esi, dword [ecx]
mov eax, dword [esi]
call dword [eax + 0x30]
pop ecx
pop ecx
mov edx, esi
mov dword [ebp - 0x1c], eax
mov ecx, edi
call fcn.00426896
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x42923a
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xc0]
jmp 0x42b681
mov eax, dword [esi + 0x28]
cmp byte [eax], 0
je 0x42b64f
mov ecx, esi
call fcn.0042564e
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x42923a
jmp 0x42b654
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp byte [esi + 2], 0
je 0x42b665
mov edx, dword [ebp - 0x24]
xor eax, eax
inc eax
jmp 0x428fbd
mov esi, dword [esi + 0x28]
mov ecx, esi
call fcn.0041c369
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x24]
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0xc0], eax
mov edx, dword [ebp - 0x24]
jmp 0x42b294
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 0x428730
mov esi, dword [esi + 0x28]
push dword [esi + 0x10]
call fcn.0040bc66
xor eax, eax
mov dword [esi + 0x10], eax
inc eax
pop ecx
mov byte [esi], al
jmp 0x428730
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
xor eax, eax
cmp byte [ebp - 0x31], 0x82
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0x8c], eax
jne 0x42b6e4
or dword [esi + 0x20], 0xffffffff
cmp byte [ecx], al
je 0x428730
lea edx, [ebp - 0x8c]
call fcn.0041ca26
mov dword [ebp - 0x1c], eax
xor ecx, ecx
mov al, byte [ebp - 0x8c]
mov byte [esi + 2], al
mov eax, dword [ebp - 0x1c]
mov byte [esi + 3], cl
mov dword [esi + 0x1c], ecx
test eax, eax
jne 0x42923a
cmp dword [ebx + 8], ecx
jle 0x428730
cmp dword [ebp - 0x8c], ecx
jmp 0x4293b5
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0xa4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + 0x28]
mov ecx, esi
call fcn.0041c9fa
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x42923a
cmp dword [ebp - 0xa4], eax
jne 0x42cf30
mov ecx, esi
call fcn.0041ce33
xor ecx, ecx
cmp edx, ecx
jl 0x42b789
jg 0x42b765
cmp eax, ecx
jb 0x42b789
push edx
push eax
call fcn.0040f57e
pop ecx
pop ecx
mov ecx, dword [ebp - 0xa4]
cwde
cmp eax, dword [ebx + 0xc]
push 1
pop eax
cmovl ecx, eax
mov dword [ebp - 0xa4], ecx
jmp 0x42afe2
mov ecx, dword [ebp - 0xa4]
jmp 0x42afe2
inc dword [edi + 0xac]
mov eax, dword [edi + 0x60]
lea edx, [ebp - 0xa8]
mov ecx, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
xor eax, eax
inc eax
mov dword [ebp - 0xa8], eax
cmp byte [esi], al
jne 0x42b7bf
mov ecx, esi
call fcn.0042fac4
jmp 0x42b7cf
mov ecx, dword [esi + 0x28]
call fcn.0041c9fa
xor ecx, ecx
mov byte [esi + 3], cl
mov dword [esi + 0x1c], ecx
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x42923a
mov al, byte [ebp - 0xa8]
mov byte [esi + 2], al
cmp dword [ebp - 0xa8], 0
jmp 0x4293b5
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.0042fb14
jmp 0x42b818
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
push dword [ebx + 0xc]
mov esi, dword [eax + ecx*4]
push dword [esi + 0x28]
call dword [ebx + 0x10]
pop ecx
pop ecx
mov dword [ebp - 0x1c], eax
xor ecx, ecx
mov dword [esi + 0x1c], ecx
test eax, eax
jne 0x42b837
mov byte [esi + 2], cl
movzx eax, word [ebx + 2]
inc dword [edi + eax*4 + 0xa4]
jmp 0x42caeb
cmp eax, 0x65
jne 0x42923a
mov eax, ecx
mov dword [ebp - 0x1c], eax
xor eax, eax
inc eax
mov byte [esi + 2], al
jmp 0x42c14a
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
imul esi, dword [ebx + 8], 0x28
mov ecx, dword [eax + ecx*4]
xor eax, eax
inc eax
mov dword [ebp - 0x24], ecx
add esi, dword [ebp - 0x18]
test byte [ebx + 2], al
je 0x42b86e
inc dword [edi + 0x2c]
mov eax, 0x4000
test word [esi + 8], ax
je 0x42b88b
mov ecx, esi
call fcn.00422588
test eax, eax
jne 0x42923a
mov ecx, dword [ebp - 0x24]
cmp byte [ebx], 0x83
jne 0x42b89f
mov edx, esi
call fcn.0042efa1
mov esi, dword [ebp - 0x18]
jmp 0x42abda
mov eax, dword [esi + 0xc]
cdq
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xec], edx
mov eax, dword [esi + 0x10]
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0xf8], eax
imul eax, dword [ebx + 0xc], 0x28
push 0x10
pop edx
add eax, esi
mov dword [ebp - 0xe4], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0xe0], ax
movzx eax, word [ebx + 2]
test dl, al
je 0x42b8e2
mov edx, dword [ecx + 0x20]
jmp 0x42b8e4
xor edx, edx
mov ecx, dword [ecx + 0x28]
and eax, 0xa
push edx
push eax
lea edx, [ebp - 0xf8]
call fcn.0041fe8d
pop ecx
pop ecx
mov ecx, dword [ebp - 0x24]
xor edx, edx
mov dword [ecx + 0x1c], edx
jmp 0x42abda
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0x150], eax
mov ax, word [ebx + 0xc]
mov word [ebp - 0x148], ax
imul eax, dword [ebx + 8], 0x28
mov byte [ebp - 0x146], dl
mov dword [ebp - 0x3c], ecx
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x14c], eax
lea eax, [ebp - 0x108]
push eax
push edx
push edx
push edx
lea edx, [ebp - 0x150]
call fcn.0041ca7a
add esp, 0x10
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x42923a
cmp dword [ebp - 0x108], eax
jne 0x42b981
mov ecx, dword [ebp - 0x3c]
push 4
pop eax
mov dl, al
call fcn.0042021c
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x42923a
xor ecx, ecx
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x20], ecx
jmp 0x428730
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 0x42b9b3
mov ecx, esi
call fcn.0042564e
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x42923a
jmp 0x42b9b8
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp byte [esi + 2], 0
jne 0x42ba43
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0xd0]
xorps xmm0, xmm0
movlpd qword [ebp - 0xd0], xmm0
mov edx, dword [esi + 0x28]
push eax
call fcn.00426688
mov dword [ebp - 0x1c], eax
pop ecx
test eax, eax
jne 0x42923a
cmp byte [ebx], 0x86
jne 0x42ba24
mov ecx, dword [ebx + 0xc]
mov eax, dword [edi + 0x60]
mov edx, dword [eax + ecx*4]
xor eax, eax
mov byte [edx + 2], al
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xcc]
mov dword [edx + 0x40], eax
xor eax, eax
inc eax
mov dword [edx + 0x44], ecx
mov byte [edx + 3], al
mov eax, dword [ebx + 0x10]
mov dword [edx + 0x18], eax
mov dword [edx + 0x24], esi
jmp 0x428730
mov edx, ebx
mov ecx, edi
call fcn.00428581
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xcc]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp 0x428730
imul eax, dword [ebx + 8], 0x28
mov ecx, 0x2400
mov esi, dword [ebp - 0x18]
add eax, esi
test word [eax + 8], cx
je 0x42ba63
mov ecx, eax
call fcn.0042270e
jmp 0x428733
xor ecx, ecx
inc ecx
jmp 0x429017
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
cmp byte [ebp - 0x31], 0x27
mov edx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x14]
mov eax, dword [edx + 0x2c]
mov dword [ebp - 0x160], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x158], ax
sbb al, al
mov byte [ebp - 0x156], al
imul eax, dword [ebx + 0xc], 0x28
add eax, esi
mov dword [ebp - 0x15c], eax
xor eax, eax
mov dword [ebp - 0xb0], eax
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp - 0x160]
push eax
call fcn.0042675f
pop ecx
pop ecx
xor ecx, ecx
mov dword [ebp - 0x1c], eax
inc ecx
test byte [ebx], cl
mov ecx, dword [ebp - 0xb0]
je 0x42bad4
neg ecx
jmp 0x42bad8
mov eax, dword [ebp - 0x1c]
inc ecx
mov dword [ebp - 0xb0], ecx
test eax, eax
jne 0x42923a
test ecx, ecx
jg 0x42cf30
jmp 0x428733
mov edx, ebx
mov ecx, edi
call fcn.00428581
mov esi, eax
xor eax, eax
inc eax
mov word [esi + 8], ax
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0xc0]
inc ecx
cmp dword [eax + 0xb4], ecx
jg 0x42d08b
mov eax, dword [ebx + 0xc]
xor ecx, ecx
mov edx, dword [ebx + 4]
mov dword [ebp - 0xac], ecx
lea ecx, [ebp - 0xac]
push ecx
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x24], eax
add eax, eax
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00420a7f
pop ecx
mov dword [ebp - 0x1c], eax
push 4
pop eax
mov word [esi + 8], ax
mov eax, dword [ebp - 0xac]
cdq
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], edx
test eax, eax
jne 0x42923a
cmp dword [ebp - 0xac], eax
je 0x428730
push dword [ebx + 4]
mov edx, dword [ebp - 0x24]
push dword [ebp - 0xac]
mov ecx, dword [ebp - 0x14]
call fcn.0043ce6c
mov al, byte [ebp - 0x24]
pop ecx
inc al
pop ecx
mov byte [ebp - 0x75], al
jmp 0x428730
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.0042088f
pop ecx
xor ecx, ecx
mov dword [ebp - 0x1c], eax
cmp dword [ebx + 0xc], ecx
je 0x42abdd
mov edx, dword [ebp - 0x24]
add dword [edi + 0x2c], edx
mov ecx, dword [ebx + 0xc]
test ecx, ecx
jle 0x42abdd
imul ecx, ecx, 0x28
mov eax, edx
cdq
add dword [ecx + esi], eax
mov eax, dword [ebp - 0x1c]
adc dword [ecx + esi + 4], edx
jmp 0x42abdd
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 0x42bc12
mov edx, dword [ecx + 0x28]
mov ecx, dword [ebp - 0x14]
call fcn.0042e70f
jmp 0x428733
mov ecx, dword [ecx + 0x28]
call fcn.004208e6
jmp 0x42abda
mov edx, ebx
mov ecx, edi
call fcn.00428581
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0xa0]
push dword [ebx + 0xc]
mov esi, eax
shl ecx, 4
xor eax, eax
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x14]
add ecx, dword [eax + 0x10]
mov ecx, dword [ecx + 4]
call fcn.0042070a
mov dword [ebp - 0x1c], eax
pop ecx
test eax, eax
jne 0x42923a
mov eax, dword [ebp - 0xa0]
jmp 0x429555
inc byte [eax + 0x5a]
xor ecx, ecx
push ecx
push ecx
push ecx
push dword [ebx + 0x10]
push eax
call fcn.00446931
mov ecx, dword [ebp - 0x14]
add esp, 0x14
dec byte [ecx + 0x5a]
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x42923d
jmp 0x42b4cc
cmp dword [ebx + 0x10], 0
mov esi, dword [ebx + 4]
jne 0x42bcdc
mov eax, dword [eax + 0x10]
mov ecx, esi
add ecx, ecx
push dword [eax + ecx*8 + 0xc]
call fcn.0043fb38
mov eax, dword [ebp - 0x14]
mov edx, esi
mov esi, dword [ebp - 0x14]
pop ecx
mov ecx, esi
and dword [eax + 0x18], 0xffffffef
xor eax, eax
inc eax
push eax
lea eax, [edi + 0x7c]
push eax
call fcn.00449d8f
pop ecx
pop ecx
xor ecx, ecx
mov dword [ebp - 0x1c], eax
inc ecx
or dword [esi + 0x18], ecx
and dword [edi + 0x98], 0xfffffffc
jmp 0x42bd95
mov ecx, dword [ebp - 0x14]
push dword [ebx + 0x10]
mov dword [ebp - 0xe8], eax
lea eax, [edi + 0x7c]
mov dword [ebp - 0xe4], eax
xor eax, eax
mov dword [ebp - 0xe0], esi
add esi, esi
mov dword [ebp - 0xd8], eax
mov eax, dword [ecx + 0x10]
push str.sqlite_master
push dword [eax + esi*8]
push str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
push ecx
call fcn.0040d938
mov esi, eax
add esp, 0x14
test esi, esi
je 0x42d09c
mov eax, dword [ebp - 0x14]
xor ecx, ecx
inc ecx
mov byte [eax + 0xa5], cl
xor ecx, ecx
push ecx
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0xd4], ecx
lea ecx, [ebp - 0xe8]
push ecx
push fcn.00449bfd
push esi
push eax
call fcn.00446931
add esp, 0x14
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x42bd7e
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x42bd7e
cmp dword [ebp - 0xd4], eax
jne 0x42bd7e
mov ecx, 0x15f51
call fcn.004663d0
mov dword [ebp - 0x1c], eax
mov edx, esi
mov esi, dword [ebp - 0x14]
mov ecx, esi
call fcn.0040bcca
xor eax, eax
mov byte [esi + 0xa5], al
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x42d0a2
jmp 0x428730
mov edx, dword [ebx + 4]
mov ecx, eax
call fcn.00439bd9
jmp 0x42abda
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, eax
call fcn.0043b18d
jmp 0x428b0d
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, eax
call fcn.0043ae41
jmp 0x428b0d
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, eax
call fcn.00451c2b
jmp 0x428b0d
imul eax, dword [ebx + 4], 0x28
imul esi, dword [ebx + 0xc], 0x28
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebx + 0x10]
add edx, 4
add eax, dword [ebp - 0x18]
add esi, dword [ebp - 0x18]
mov ecx, dword [ecx + 0x10]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x10c]
push eax
mov eax, dword [esi]
inc eax
push eax
movzx eax, word [ebx + 2]
push dword [ebx + 8]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00421435
mov ecx, dword [ebp - 0x20]
add esp, 0xc
mov dword [ebp - 0x3c], eax
call fcn.00422b29
mov eax, dword [ebp - 0x10c]
test eax, eax
je 0x42be63
mov ecx, dword [ebp - 0x3c]
test ecx, ecx
je 0x42d0b6
dec eax
cdq
sub dword [esi], eax
push fcn.0040bc66
sbb dword [esi + 4], edx
xor eax, eax
inc eax
mov edx, ecx
mov ecx, dword [ebp - 0x20]
push eax
push 0xffffffffffffffff
call fcn.00422d95
add esp, 0xc
movzx edx, byte [ebp - 0x6c]
mov ecx, dword [ebp - 0x20]
call fcn.004223dd
jmp 0x428730
imul esi, dword [ebx + 4], 0x28
imul eax, dword [ebx + 8], 0x28
push 0x10
pop ecx
add esi, dword [ebp - 0x18]
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x3c], eax
test byte [esi + 8], cl
jne 0x42be9f
mov ecx, esi
call fcn.00422bfc
test eax, eax
jne 0x42d0b6
mov eax, dword [ebp - 0x3c]
push dword [eax + 4]
mov ecx, dword [esi + 0x10]
push dword [eax]
call fcn.00413106
jmp 0x42977a
imul esi, dword [ebx + 4], 0x28
push 0x10
pop eax
add esi, dword [ebp - 0x18]
test byte [esi + 8], al
je 0x42bef5
mov ecx, dword [esi + 0x10]
lea edx, [ebp - 0x138]
call fcn.00413323
test eax, eax
je 0x42bef5
imul ecx, dword [ebx + 0xc], 0x28
push dword [ebp - 0x134]
mov esi, dword [ebp - 0x18]
push dword [ebp - 0x138]
add ecx, esi
call fcn.00422b95
pop ecx
pop ecx
xor ecx, ecx
jmp 0x42c14d
mov ecx, esi
call fcn.00422b29
jmp 0x42caeb
imul esi, dword [ebx + 4], 0x28
imul eax, dword [ebx + 0xc], 0x28
mov ecx, dword [ebx + 0x10]
push 0x10
pop edx
add esi, dword [ebp - 0x18]
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x24], ecx
test byte [esi + 8], dl
jne 0x42bf35
mov ecx, esi
call fcn.00422bfc
test eax, eax
jne 0x42d0b6
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x42bf5b
push dword [eax + 4]
mov edx, ecx
mov ecx, dword [esi + 0x10]
push dword [eax]
call fcn.0041337b
pop ecx
pop ecx
test eax, eax
jne 0x42cf30
cmp dword [ebp - 0x24], eax
jl 0x428730
mov eax, dword [ebp - 0x54]
jmp 0x42be9f
imul eax, dword [ebx + 0xc], 0x28
xor ecx, ecx
mov esi, dword [ebx + 0x10]
mov dword [ebp - 0x64], esi
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
cmp word [ebx + 2], cx
je 0x42bf99
mov ecx, dword [esi + 0x14]
mov eax, dword [edi + 0xc8]
test eax, eax
je 0x42bf96
cmp dword [eax + 0x1c], ecx
je 0x428730
mov eax, dword [eax + 4]
jmp 0x42bf84
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x14]
mov ecx, dword [edi + 0xd0]
cmp ecx, dword [edx + 0x94]
jge 0x42d0d4
push 0x10
pop edx
test byte [eax + 8], dl
jne 0x42c0a4
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 8]
add eax, edx
test edx, edx
lea ecx, [eax + 1]
cmovne ecx, eax
mov dword [ebp - 0x24], ecx
lea eax, [ecx + 2]
imul ecx, eax, 0xa
mov eax, dword [esi + 4]
add eax, 7
add ecx, edx
mov eax, eax
test eax, eax
jns 0x42bfe4
add eax, 7
sar eax, 3
lea eax, [eax + ecx*4]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x3c], eax
cdq
push edx
push eax
call fcn.0040bea4
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x42d0b6
mov ecx, dword [ebp - 0x20]
call fcn.00422771
mov eax, dword [ebp - 0x20]
mov ecx, 0x410
sub ebx, dword [ebp - 0x60]
push 0x14
mov word [eax + 8], cx
mov ecx, dword [ebp - 0x3c]
mov dword [eax + 0xc], ecx
mov ecx, dword [ebp - 0x24]
mov dword [eax + 0x10], esi
mov dword [eax + 0x24], 0x4241bf
mov eax, dword [ebp - 0x64]
mov dword [esi + 0x3c], ecx
mov dword [esi], edi
mov eax, dword [eax + 0xc]
mov dword [esi + 0x40], eax
mov eax, ebx
cdq
pop ebx
idiv ebx
mov ebx, dword [ebp - 0x64]
mov dword [esi + 0x30], eax
mov eax, dword [edi + 0x58]
mov dword [esi + 0x10], eax
mov eax, dword [edi + 0x18]
mov dword [esi + 0x38], eax
mov eax, dword [edi + 0x60]
mov dword [esi + 0x14], eax
mov eax, dword [edi + 0x1c]
mov dword [esi + 0x2c], eax
mov eax, dword [edi + 0x68]
mov dword [esi + 8], eax
mov eax, dword [edi + 0x6c]
mov dword [esi + 0x34], eax
mov eax, dword [ebx + 0x14]
mov dword [esi + 0x1c], eax
lea eax, [ecx + 2]
imul ecx, eax, 0x28
lea eax, [esi + 0x50]
add ecx, esi
cmp eax, ecx
je 0x42c09c
mov edx, dword [ebp - 0x14]
mov ebx, 0x80
mov word [eax + 8], bx
mov dword [eax + 0x20], edx
add eax, 0x28
cmp eax, ecx
jne 0x42c08b
mov ebx, dword [ebp - 0x64]
mov ecx, dword [edi + 0xd0]
jmp 0x42c0aa
mov esi, dword [eax + 0x10]
mov ebx, dword [ebp - 0x64]
lea eax, [ecx + 1]
mov ecx, dword [ebp - 0x14]
mov dword [edi + 0xd0], eax
lea edx, [esi + 0x50]
mov eax, dword [edi + 0xc8]
mov dword [esi + 4], eax
mov eax, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x2c]
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ecx
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x44], eax
mov eax, dword [edi]
push 7
mov dword [ebp - 0x18], edx
mov eax, dword [eax + 0x64]
mov dword [esi + 0x48], eax
mov eax, dword [edi + 0xdc]
mov dword [esi + 0x28], eax
xor eax, eax
mov dword [edi + 0xdc], eax
mov dword [edi + 0x2c], eax
mov dword [edi + 0x58], edx
mov dword [edi + 0xc8], esi
mov ecx, dword [esi + 0x3c]
mov dword [edi + 0x18], ecx
movzx eax, word [esi + 0x40]
imul ecx, ecx, 0x28
mov dword [edi + 0x1c], eax
add ecx, edx
mov dword [edi + 0x60], ecx
mov eax, dword [ebx + 0xc]
lea ecx, [ecx + eax*4]
mov dword [esi + 0x18], ecx
mov eax, dword [ebx + 4]
pop esi
add eax, esi
cdq
and edx, esi
add eax, edx
sar eax, 3
push eax
xor eax, eax
push eax
push ecx
call fcn.00469a60
mov ecx, dword [ebx]
add esp, 0xc
mov dword [edi + 0x68], ecx
mov eax, dword [ebx + 4]
mov dword [ebp - 0x60], ecx
mov dword [edi + 0x6c], eax
lea ebx, [ecx - 0x14]
xor ecx, ecx
mov esi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x110], ecx
je 0x42cb2d
mov ecx, dword [ebp - 0x14]
push 9
pop eax
push 7
cmp byte [ecx + 0x51], 0
pop ecx
cmovne eax, ecx
mov ecx, eax
mov dword [ebp - 0x1c], eax
mov dword [edi + 0x28], eax
call fcn.00464d51
jmp 0x42d0f6
mov edx, ebx
mov ecx, edi
call fcn.00428581
mov esi, dword [edi + 0xc8]
mov ecx, 0x1000
push ecx
imul edx, dword [esi + 0x30], 0x14
mov ecx, dword [esi + 8]
mov ecx, dword [edx + ecx + 4]
add ecx, dword [ebx + 4]
imul edx, ecx, 0x28
mov ecx, eax
add edx, dword [esi + 0x10]
jmp 0x429c5a
mov eax, dword [eax + 0x20]
xor ecx, ecx
and eax, 0x80000
or eax, ecx
mov eax, dword [ebx + 8]
cdq
je 0x42c1d6
mov ecx, dword [ebp - 0x14]
add dword [ecx + 0x1e0], eax
mov eax, ecx
adc dword [eax + 0x1e4], edx
jmp case.0x428682.86
cmp dword [ebx + 4], ecx
je 0x42c1f1
mov ecx, dword [ebp - 0x14]
add dword [ecx + 0x1d8], eax
mov eax, ecx
adc dword [eax + 0x1dc], edx
jmp case.0x428682.86
add dword [edi + 0x40], eax
adc dword [edi + 0x44], edx
jmp 0x428733
xor ecx, ecx
cmp dword [ebx + 4], ecx
je 0x42c21a
mov ecx, dword [ebp - 0x14]
mov eax, dword [eax + 0x1d8]
or eax, dword [ecx + 0x1dc]
jne 0x42b4cc
jmp 0x42c229
mov eax, dword [edi + 0x40]
or eax, dword [edi + 0x44]
jne 0x428733
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x1e0]
or eax, dword [ecx + 0x1e4]
je 0x42cf30
jmp 0x42b4cc
mov ecx, dword [edi + 0xc8]
test ecx, ecx
jne 0x42c28e
imul eax, dword [ebx + 4], 0x28
add eax, esi
mov ecx, eax
mov dword [ebp - 0x24], eax
call fcn.004228f9
imul esi, dword [ebx + 8], 0x28
add esi, dword [ebp - 0x18]
mov ecx, esi
call fcn.004228f9
mov eax, dword [ebp - 0x24]
mov edx, dword [esi + 4]
mov ecx, dword [esi]
cmp dword [eax + 4], edx
jg 0x428730
jl 0x42ba39
cmp dword [eax], ecx
jae 0x428730
jmp 0x42ba39
mov ecx, eax
mov eax, dword [ecx + 4]
test eax, eax
jne 0x42c28c
imul eax, dword [ebx + 4], 0x28
add eax, dword [ecx + 0x10]
jmp 0x42c250
imul ecx, dword [ebx + 4], 0x28
xor edx, edx
add ecx, esi
mov esi, dword [ecx]
cmp dword [ecx + 4], edx
jl 0x428730
jg 0x42c2bd
xor eax, eax
cmp esi, eax
jbe 0x428730
mov eax, dword [ebx + 0xc]
cdq
sub esi, eax
mov eax, dword [ecx + 4]
mov dword [ecx], esi
sbb eax, edx
mov dword [ecx + 4], eax
jmp 0x42cf30
imul eax, dword [ebx + 0xc], 0x28
mov edx, ebx
imul esi, dword [ebx + 4], 0x28
mov ecx, edi
add eax, dword [ebp - 0x18]
add esi, dword [ebp - 0x18]
mov dword [ebp - 0x3c], eax
call fcn.00428581
mov ecx, dword [esi + 4]
mov edx, dword [esi]
xor esi, esi
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x100], edx
mov dword [ebp - 0xfc], ecx
cmp ecx, esi
jl 0x42c357
jg 0x42c30e
xor ecx, ecx
cmp edx, ecx
jbe 0x42c357
mov eax, dword [ebp - 0x3c]
xor edx, edx
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp eax, edx
jl 0x42c322
jg 0x42c330
cmp ecx, edx
ja 0x42c330
xorps xmm0, xmm0
movlpd qword [ebp - 0x40], xmm0
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x40]
push eax
push ecx
lea ecx, [ebp - 0x100]
call fcn.0040f33e
pop ecx
pop ecx
test eax, eax
jne 0x42c354
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0xfc]
jmp 0x42b681
mov eax, dword [ebp - 0x24]
or dword [eax], 0xffffffff
or dword [eax + 4], 0xffffffff
jmp 0x428730
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 0x428730
xor eax, eax
cmp esi, eax
jl 0x42cf30
jg 0x42c38c
cmp edx, eax
jbe 0x42cf30
sub edx, 1
mov dword [ecx], edx
sbb esi, eax
mov dword [ecx + 4], esi
jmp 0x42cf30
imul edx, dword [ebx + 4], 0x28
add edx, esi
mov ecx, dword [edx + 4]
mov eax, dword [edx]
cmp ecx, 0x80000000
jl 0x42c3bf
jg 0x42c3b4
test eax, eax
je 0x42c3bf
sub eax, 1
mov dword [edx], eax
sbb ecx, 0
mov dword [edx + 4], ecx
or eax, ecx
jmp 0x42988e
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.0040bf12
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x42d0b6
mov edx, dword [ebp - 0x14]
xor eax, eax
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x24]
add eax, 7
lea ecx, [esi + eax*4]
xor eax, eax
inc eax
mov dword [esi], ecx
push eax
call fcn.00422b15
mov eax, dword [ebx + 0x10]
mov dword [esi + 4], eax
mov eax, ebx
sub eax, dword [ebp - 0x60]
pop ecx
cdq
push 0x14
pop ecx
idiv ecx
mov dword [esi + 0xc], edi
mov dword [esi + 0x10], eax
xor eax, eax
mov byte [esi + 0x18], al
mov dword [esi + 0x14], eax
mov eax, dword [ebp - 0x24]
mov byte [esi + 0x19], al
mov word [ebx], 0xf09b
mov dword [ebx + 0x10], esi
imul edx, dword [ebx + 0xc], 0x28
mov esi, dword [ebx + 0x10]
add edx, dword [ebp - 0x18]
mov dword [ebp - 0x3c], edx
cmp dword [esi + 8], edx
je 0x42c477
movzx ecx, byte [esi + 0x19]
sub ecx, 1
mov dword [esi + 8], edx
js 0x42c477
lea edi, [ecx + 7]
push 4
lea edi, [esi + edi*4]
pop edx
mov eax, dword [ebx + 8]
add eax, ecx
imul eax, eax, 0x28
add eax, dword [ebp - 0x18]
mov dword [edi], eax
sub edi, edx
sub ecx, 1
jns 0x42c45d
mov edi, dword [ebp - 0x44]
mov edx, dword [ebp - 0x3c]
inc dword [edx + 0xc]
lea eax, [esi + 0x1c]
cmp dword [ebx + 4], 0
movzx edx, byte [esi + 0x19]
mov ecx, dword [esi + 4]
push eax
push edx
push esi
je 0x42c492
call dword [ecx + 0x1c]
jmp 0x42c495
call dword [ecx + 0x10]
mov eax, dword [esi + 0x14]
add esp, 0xc
test eax, eax
je 0x428730
jle 0x42c4c2
push dword [esi]
call fcn.00426bf6
pop ecx
push eax
push 0x535b5c
push edi
call fcn.004234d1
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0x1c], eax
cmp byte [esi + 0x18], 0
je 0x42c4e6
mov eax, dword [ebx - 0x10]
test eax, eax
je 0x42c4e1
xor ecx, ecx
push ecx
inc ecx
push ecx
imul ecx, eax, 0x28
add ecx, dword [ebp - 0x18]
call fcn.00422b95
pop ecx
pop ecx
xor eax, eax
mov byte [esi + 0x18], al
mov ecx, dword [esi]
call fcn.00422771
mov eax, dword [esi]
xor ecx, ecx
inc ecx
mov word [eax + 8], cx
xor eax, eax
mov dword [esi + 0x14], eax
jmp 0x42922f
imul esi, dword [ebx + 4], 0x28
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
add esi, ecx
test eax, eax
je 0x42c52a
push edx
imul edx, eax, 0x28
add edx, ecx
mov ecx, esi
call fcn.004226cf
imul esi, dword [ebx + 0xc], 0x28
pop ecx
add esi, dword [ebp - 0x18]
jmp 0x42c531
mov ecx, esi
call fcn.00422667
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x42d0ef
movzx edx, byte [ebp - 0x6c]
mov ecx, esi
call fcn.004223dd
mov ecx, esi
call fcn.00422c6d
test eax, eax
je 0x428730
push str.string_or_blob_too_big
push edi
call fcn.004234d1
pop ecx
pop ecx
push 0x12
jmp 0x42d006
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.004655d6
add esp, 0xc
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x42c5aa
push 5
pop ecx
cmp eax, ecx
jne 0x42923a
xor eax, eax
mov dword [ebp - 0x1c], eax
inc eax
mov dword [ebp - 0x10], eax
imul esi, dword [ebx + 0xc], 0x28
add esi, dword [ebp - 0x18]
xor eax, eax
mov edi, eax
mov eax, dword [ebp + edi*4 - 0x10]
mov ecx, esi
cdq
push edx
push eax
call fcn.00422b95
inc edi
add esi, 0x28
pop ecx
pop ecx
cmp edi, 3
jl 0x42c5b5
jmp 0x42899d
mov edx, ebx
mov ecx, edi
call fcn.00428581
mov edx, dword [ebx + 4]
mov esi, dword [ebx + 0xc]
add edx, edx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx + edx*8 + 4]
mov ecx, eax
mov dword [ebp - 0x3c], eax
call fcn.00420c20
mov ecx, eax
mov dword [ebp - 0x2c], eax
call fcn.00416e59
mov ecx, dword [ebp - 0x2c]
cmp esi, 0xffffffff
mov dword [ebp - 0x20], eax
cmove esi, eax
call fcn.00416e5e
mov ecx, dword [ebp - 0x2c]
test eax, eax
cmove esi, dword [ebp - 0x20]
xor eax, eax
lea edx, [eax + 1]
call fcn.00416c1c
push 5
pop ecx
cmp esi, ecx
jne 0x42c697
mov ecx, eax
call fcn.0040e375
test eax, eax
je 0x42c647
mov ecx, dword [ebp - 0x2c]
call fcn.00416e80
test eax, eax
jne 0x42c694
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x42c654
mov esi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x2c]
mov edx, esi
call fcn.00416d8c
mov esi, dword [ebp - 0x24]
mov ecx, 0xa02
mov word [esi + 8], cx
mov ecx, eax
call fcn.00447410
mov ecx, eax
mov dword [esi + 0x10], eax
call fcn.0040e375
movzx edx, byte [ebp - 0x6c]
mov ecx, esi
mov dword [esi + 0xc], eax
xor eax, eax
inc eax
mov byte [esi + 0xa], al
call fcn.004223dd
jmp 0x42922f
push 5
pop ecx
mov eax, dword [ebp - 0x20]
cmp esi, eax
je 0x42c64a
cmp eax, ecx
je 0x42c6a6
cmp esi, ecx
jne 0x42c64a
mov ecx, dword [ebp - 0x14]
cmp byte [ecx + 0x4f], 0
je 0x42d107
xor edx, edx
inc edx
cmp dword [ecx + 0xb4], edx
jg 0x42d107
cmp eax, 5
jne 0x42c6e8
mov edx, ecx
mov ecx, dword [ebp - 0x2c]
call fcn.00416f59
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x42c651
mov ecx, dword [ebp - 0x2c]
mov edx, esi
call fcn.00416d8c
jmp 0x42c706
push 4
pop ecx
cmp eax, ecx
jne 0x42c6fc
mov ecx, dword [ebp - 0x2c]
push 2
pop eax
mov edx, eax
call fcn.00416d8c
cmp dword [ebp - 0x1c], 0
jne 0x42c651
mov ecx, dword [ebp - 0x3c]
xor edx, edx
push 5
pop eax
cmp esi, eax
sete dl
inc edx
call fcn.004218f6
mov dword [ebp - 0x1c], eax
jmp 0x42c64d
mov eax, dword [ebx + 8]
test eax, eax
je 0x42c72f
imul eax, eax, 0x28
add eax, esi
jmp 0x42c731
xor eax, eax
mov edx, dword [ebp - 0x14]
lea ecx, [edi + 0x7c]
push eax
push dword [ebx + 4]
call fcn.00453c3b
pop ecx
jmp 0x42abd9
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
call fcn.0041bc66
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x428733
cmp eax, 0x65
jne 0x42923a
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x42cf30
xor ecx, ecx
cmp dword [ebx + 4], ecx
jne 0x42c78b
mov edx, dword [ebx + 8]
mov ecx, eax
call fcn.004267e6
jmp 0x428733
mov eax, dword [ebx + 8]
inc eax
xor eax, dword [edi + 0x98]
and eax, 3
xor dword [edi + 0x98], eax
jmp 0x428733
mov al, byte [ebx + 0xc]
mov byte [ebp - 0x11c], al
test al, al
jne 0x42c7c4
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20]
and eax, 0x400
mov dword [ebp - 0x40], eax
jne 0x428733
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 4]
push dword [ebp - 0x11c]
mov edx, dword [ebx + 8]
add eax, eax
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0042180c
mov dword [ebp - 0x1c], eax
pop ecx
test eax, eax
je 0x428733
cmp al, 6
jne 0x42923a
push dword [ebx + 0x10]
push str.database_table_is_locked:__s
jmp 0x42d0fc
mov esi, dword [ebx + 0x10]
mov ecx, eax
mov edx, esi
call fcn.00454ca9
mov dword [ebp - 0x1c], eax
test esi, esi
je 0x429232
mov edx, dword [esi + 8]
mov ecx, edi
call fcn.00426896
jmp 0x42922f
imul edx, dword [ebx + 8], 0x28
lea edi, [ebp - 0x1f0]
push 0xa
pop ecx
xor eax, eax
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x14]
lea ecx, [ebp - 0x1f0]
add edx, esi
mov dword [ebp - 0x1d0], edi
call fcn.00422d02
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1f0]
push eax
call fcn.00426bf6
pop ecx
test eax, eax
je 0x42c87a
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebx + 4]
add ecx, 0x7c
push ecx
push eax
mov ecx, edi
call fcn.00454941
pop ecx
pop ecx
mov dword [ebp - 0x1c], eax
lea ecx, [ebp - 0x1f0]
call fcn.00422771
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x44]
jmp 0x42abdd
inc dword [eax + 0xc0]
mov ecx, eax
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
call fcn.00454bb7
pop ecx
mov ecx, dword [ebp - 0x14]
dec dword [ecx + 0xc0]
jmp 0x42bc80
xor eax, eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebx + 0x10]
mov esi, dword [eax + 8]
test esi, esi
je 0x42d131
mov eax, dword [esi]
mov dword [ebp - 0x3c], eax
test eax, eax
je 0x42d131
lea ecx, [ebp - 0x20]
push ecx
push esi
call dword [eax + 0x18]
pop ecx
pop ecx
mov edx, esi
mov dword [ebp - 0x1c], eax
mov ecx, edi
call fcn.00426896
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x42923a
mov eax, dword [ebp - 0x20]
mov ecx, edi
push 2
mov dword [eax], esi
mov edx, dword [ebx + 4]
pop eax
push eax
xor eax, eax
push 0xffffffffffffffff
push eax
call fcn.004282bd
add esp, 0xc
test eax, eax
je 0x42d125
mov ecx, dword [ebp - 0x20]
mov dword [eax + 0x28], ecx
inc dword [esi + 4]
jmp 0x428730
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
imul edx, dword [ebx + 0xc], 0x28
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x64], eax
add edx, esi
mov esi, dword [eax + 0x28]
mov ecx, dword [edx + 0x28]
mov eax, dword [esi]
mov dword [ebp - 0x20], eax
mov eax, dword [eax]
mov dword [ebp - 0x54], eax
mov eax, dword [edx]
mov dword [ebp - 0x3c], eax
mov eax, dword [edi + 0x5c]
mov dword [ebp - 0x24], eax
xor eax, eax
test ecx, ecx
jle 0x42c96b
mov edi, dword [ebp - 0x24]
add edx, 0x50
mov dword [edi + eax*4], edx
inc eax
add edx, 0x28
cmp eax, ecx
jl 0x42c95d
mov edi, dword [ebp - 0x44]
push dword [ebp - 0x24]
mov eax, dword [ebp - 0x54]
push ecx
push dword [ebx + 0x10]
push dword [ebp - 0x3c]
push esi
call dword [eax + 0x20]
mov edx, dword [ebp - 0x20]
add esp, 0x14
mov ecx, edi
mov dword [ebp - 0x1c], eax
call fcn.00426896
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x42923a
mov eax, dword [ebp - 0x54]
push esi
call dword [eax + 0x28]
pop ecx
mov ecx, dword [ebp - 0x64]
xor edx, edx
mov byte [ecx + 2], dl
test eax, eax
je 0x428730
jmp 0x42cf30
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
imul eax, dword [ebx + 0xc], 0x28
mov dword [ebp - 0x3c], ecx
add esi, eax
cmp byte [ecx + 2], 0
je 0x42c9d8
mov ecx, esi
call fcn.00422b29
jmp 0x428730
mov eax, dword [ecx + 0x28]
lea edi, [ebp - 0xf0]
push 8
mov eax, dword [eax]
mov dword [ebp - 0x54], eax
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
pop eax
mov ecx, eax
xor eax, eax
rep stosd dword es:[edi], eax
xor ecx, ecx
mov dword [ebp - 0xf0], esi
inc ecx
test byte [ebx + 2], cl
je 0x42ca14
mov ecx, esi
call fcn.00422b29
xor eax, eax
mov dword [esi], eax
mov eax, 0x4001
jmp 0x42ca26
mov ax, word [esi + 8]
mov edx, 0x3e40
and ax, dx
or ax, cx
movzx eax, ax
mov word [esi + 8], ax
lea eax, [ebp - 0xf0]
push dword [ebx + 8]
push eax
mov eax, dword [ebp - 0x3c]
push dword [eax + 0x28]
mov eax, dword [ebp - 0x24]
call dword [eax + 0x2c]
mov edi, dword [ebp - 0x44]
add esp, 0xc
mov edx, dword [ebp - 0x54]
mov ecx, edi
mov dword [ebp - 0x1c], eax
call fcn.00426896
cmp dword [ebp - 0xdc], 0
jle 0x42ca7b
push esi
call fcn.00426bf6
pop ecx
push eax
push 0x535b5c
push edi
call fcn.004234d1
mov eax, dword [ebp - 0xdc]
add esp, 0xc
mov dword [ebp - 0x1c], eax
movzx edx, byte [ebp - 0x6c]
mov ecx, esi
call fcn.004223dd
mov ecx, esi
call fcn.00422c6d
test eax, eax
jne 0x42c556
jmp 0x42922f
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x3c], eax
cmp byte [eax + 2], 0
jne 0x428733
mov eax, dword [eax + 0x28]
push eax
mov esi, dword [eax]
mov ecx, dword [esi]
mov dword [ebp - 0x24], ecx
call dword [ecx + 0x24]
pop ecx
mov edx, esi
mov dword [ebp - 0x1c], eax
mov ecx, edi
call fcn.00426896
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x42923a
mov eax, dword [ebp - 0x3c]
push dword [eax + 0x28]
mov eax, dword [ebp - 0x24]
call dword [eax + 0x28]
pop ecx
test eax, eax
jne 0x42c148
mov esi, dword [ebp - 0x18]
imul eax, dword [ebx + 8], 0x14
mov ebx, dword [ebp - 0x60]
add ebx, 0xffffffec
add ebx, eax
jmp 0x42beee
mov eax, dword [eax + 0x148]
test eax, eax
je 0x428733
mov ecx, dword [ebp - 0x14]
add edx, dword [ecx + 0x150]
push dword [ecx + 0x14c]
mov dword [ebp - 0x80], edx
call eax
pop ecx
test eax, eax
jne 0x42d138
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x80]
cmp dword [ebp - 0x9c], edx
jae 0x42caff
jmp case.0x428682.86
mov eax, dword [eax + 0x20]
mov edx, 0x4000000
mov ecx, dword [ebp - 0x14]
and eax, edx
mov dword [ebp - 0x3c], eax
or dword [ecx + 0x20], edx
mov eax, dword [ecx + 0x24]
mov dword [ecx + 0x24], eax
mov eax, dword [ebx + 0x10]
imul esi, dword [ebx + 4], 0x28
mov eax, dword [eax + 8]
mov dword [ebp - 0x24], eax
xor eax, eax
add esi, dword [ebp - 0x18]
mov ecx, esi
lea edx, [eax + 1]
call fcn.004223dd
test eax, eax
jne 0x42923a
mov ecx, dword [ebp - 0x24]
push dword [esi + 0x10]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x4c]
cmp dword [ebp - 0x3c], 0
pop ecx
pop ecx
mov dword [ebp - 0x1c], eax
jne 0x42cba1
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x24]
and dword [ecx + 0x20], 0xfbffffff
mov dword [ecx + 0x24], eax
mov edx, dword [ebp - 0x24]
mov ecx, edi
call fcn.00426896
jmp 0x42a8a4
cmp byte [eax + 0x51], 0
jne 0x42d0b6
mov eax, dword [ebx + 0x10]
mov esi, dword [eax + 8]
test esi, esi
je 0x42d131
mov eax, dword [esi]
mov dword [ebp - 0x3c], eax
test eax, eax
je 0x42d131
mov edx, dword [ebx + 8]
xor ecx, ecx
cmp dword [eax + 0x34], ecx
mov eax, dword [ebp - 0x14]
je 0x4297a3
mov al, byte [eax + 0x56]
mov byte [ebp - 0x31], al
mov eax, dword [edi + 0x5c]
mov dword [ebp - 0x24], eax
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x18]
test edx, edx
jle 0x42cc0e
mov edi, dword [ebp - 0x24]
mov dword [edi + ecx*4], eax
add eax, 0x28
inc ecx
cmp ecx, edx
jl 0x42cc00
mov edi, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x14]
mov al, byte [ebx + 2]
mov byte [ecx + 0x56], al
lea eax, [ebp - 0x140]
push eax
push dword [ebp - 0x24]
mov eax, dword [ebp - 0x3c]
push edx
push esi
call dword [eax + 0x34]
mov ecx, dword [ebp - 0x14]
add esp, 0x10
mov dword [ebp - 0x1c], eax
mov edx, esi
mov al, byte [ebp - 0x31]
mov byte [ecx + 0x56], al
mov ecx, edi
call fcn.00426896
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x42cc71
xor ecx, ecx
cmp dword [ebx + 4], ecx
je 0x42cc69
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x13c]
mov dword [edx + 0x28], eax
mov eax, edx
mov dword [eax + 0x2c], ecx
mov eax, dword [ebp - 0x1c]
inc dword [edi + 0x2c]
jmp 0x429232
cmp al, 0x13
jne 0x42cc69
mov eax, dword [ebx + 0x10]
cmp byte [eax + 0x10], 0
je 0x42cc66
movzx ecx, word [ebx + 2]
push 4
pop eax
cmp cx, ax
jne 0x42d145
xor eax, eax
jmp 0x42aa48
mov edx, ebx
mov ecx, edi
call fcn.00428581
mov edx, dword [ebx + 4]
mov esi, eax
mov eax, dword [ebp - 0x14]
add edx, edx
mov ecx, dword [eax + 0x10]
mov ecx, dword [ecx + edx*8 + 4]
call fcn.0041a780
mov dword [esi], eax
xor eax, eax
mov dword [esi + 4], eax
jmp 0x428730
mov edx, ebx
mov ecx, edi
call fcn.00428581
mov edx, dword [ebx + 4]
mov dword [ebp - 0x3c], eax
add edx, edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x10]
mov esi, dword [ecx + edx*8 + 4]
xor ecx, ecx
mov eax, ecx
cmp dword [ebx + 0xc], ecx
je 0x42ccf2
mov ecx, esi
call fcn.0041a780
cmp eax, dword [ebx + 0xc]
cmovb eax, dword [ebx + 0xc]
mov edx, eax
mov ecx, esi
call fcn.0041b17d
mov ecx, dword [ebp - 0x3c]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x428730
movzx eax, word [ebx + 2]
xor ecx, ecx
mov dword [ebp - 0x3c], eax
push ecx
mov ecx, dword [ebp - 0x14]
lea eax, [eax*4 + 0x1c]
push eax
call fcn.0040bf12
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x42d0b6
xor eax, eax
mov dword [esi], eax
mov eax, ebx
mov ecx, dword [ebx + 0x10]
sub eax, dword [ebp - 0x60]
mov dword [esi + 4], ecx
push 0x14
cdq
pop ecx
idiv ecx
push 2
mov dword [esi + 0x10], eax
xor eax, eax
mov dword [esi + 0x14], eax
mov eax, dword [ebp - 0x3c]
mov byte [esi + 0x19], al
mov dword [esi + 0xc], edi
pop eax
add byte [ebx], al
mov byte [ebx + 1], 0xf0
mov dword [ebx + 0x10], esi
imul ecx, dword [ebx + 0xc], 0x28
mov esi, dword [ebx + 0x10]
add ecx, dword [ebp - 0x18]
mov dword [ebp - 0x20], ecx
cmp dword [esi], ecx
je 0x42cda0
movzx edx, byte [esi + 0x19]
sub edx, 1
mov dword [esi], ecx
js 0x42cda0
lea edi, [edx + 7]
push 4
lea edi, [esi + edi*4]
pop ecx
mov eax, dword [ebx + 8]
add eax, edx
imul eax, eax, 0x28
add eax, dword [ebp - 0x18]
mov dword [edi], eax
sub edi, ecx
sub edx, 1
jns 0x42cd86
mov edi, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x20]
mov ax, word [ecx + 8]
mov edx, 0x3e40
and ax, dx
xor edx, edx
inc edx
or ax, dx
mov word [ecx + 8], ax
lea eax, [esi + 0x1c]
mov ecx, dword [esi + 4]
push eax
movzx eax, byte [esi + 0x19]
push eax
push esi
call dword [ecx + 0x10]
mov eax, dword [esi + 0x14]
add esp, 0xc
test eax, eax
je 0x42ce16
jle 0x42cdf0
push dword [ebp - 0x20]
call fcn.00426bf6
pop ecx
push eax
push 0x535b5c
push edi
call fcn.004234d1
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0x1c], eax
push dword [ebx + 4]
mov ecx, dword [ebp - 0x14]
lea edx, [edi + 0xdc]
push dword [esi + 0x10]
call fcn.004254ae
xor eax, eax
mov dword [esi + 0x14], eax
mov eax, dword [ebp - 0x1c]
pop ecx
pop ecx
test eax, eax
jne 0x42923a
mov esi, dword [ebp - 0x20]
test byte [esi + 8], 0x12
je 0x428730
jmp 0x42c53c
mov eax, edx
jmp 0x4297a3
mov cl, byte [eax + 0x58]
test cl, 0x41
je 0x42cee7
push 0x10
pop eax
test byte [edi + 0x98], al
jne 0x42cee7
mov eax, dword [ebx + 0x10]
test eax, eax
jne 0x42ce5f
mov eax, dword [edi + 0xc0]
test eax, eax
je 0x42cee7
test cl, 0x40
mov ecx, dword [ebp - 0x14]
je 0x42ce93
mov edi, dword [ecx + 0xcc]
mov edx, eax
mov ecx, dword [ebp - 0x44]
call fcn.00427fce
mov esi, eax
mov eax, dword [ebp - 0x14]
push esi
push dword [eax + 0xd0]
call edi
push esi
call fcn.0040bc66
mov edi, dword [ebp - 0x44]
add esp, 0xc
jmp 0x42ced1
xor edx, edx
inc edx
push eax
cmp dword [ecx + 0xbc], edx
jle 0x42ced6
push str.____s
push ecx
call fcn.0040d938
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.0040bcfb
mov esi, dword [ebp - 0x18]
jmp 0x42cee7
push edi
push dword [ecx + 0xd0]
push edx
call dword [ecx + 0xcc]
add esp, 0x10
mov eax, dword [ebx + 4]
cmp eax, dword [0x540b80]
jl 0x42cf26
cmp byte [ebx], 0xa8
je 0x428733
xor eax, eax
inc eax
mov ecx, eax
cmp dword [edi + 0x6c], eax
jle 0x42cf24
push 0x14
pop esi
mov eax, esi
xor ebx, ebx
mov edx, dword [edi + 0x68]
cmp byte [eax + edx], 0x11
jne 0x42cf19
mov dword [eax + edx + 4], ebx
inc ecx
add eax, esi
cmp ecx, dword [edi + 0x6c]
jl 0x42cf0c
mov ebx, dword [ebp - 0x2c]
xor eax, eax
inc eax
mov dword [ebx + 4], eax
inc dword [edi + 0xbc]
imul eax, dword [ebx + 8], 0x14
mov ebx, dword [ebp - 0x60]
add ebx, 0xffffffec
jmp 0x429beb
mov dword [edi + 0x28], ecx
mov al, byte [ebx + 8]
mov byte [edi + 0x92], al
mov dword [edi + 0x24], esi
test ecx, ecx
je 0x42cfbc
movzx eax, word [ebx + 2]
test ax, ax
je 0x42cf91
push dword [eax*4 + 0x52fa1c]
push str._s_constraint_failed
push edi
call fcn.004234d1
add esp, 0xc
cmp dword [ebx + 0x10], 0
je 0x42cfa2
push dword [ebx + 0x10]
push dword [edi + 0x7c]
push str._z:__s
push dword [ebp - 0x14]
call fcn.0040d938
add esp, 0x10
mov dword [edi + 0x7c], eax
jmp 0x42cfa2
push dword [ebx + 0x10]
push 0x535b5c
push edi
call fcn.004234d1
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.0040dad6
add esp, 0x14
mov ecx, edi
call fcn.0042509c
mov edx, dword [ebp - 0x14]
push 5
pop ecx
mov dword [ebp - 0x1c], eax
cmp eax, ecx
je 0x42d03d
push 0x65
pop eax
xor ecx, ecx
cmp dword [edi + 0x28], ecx
push 1
pop ecx
cmovne eax, ecx
mov dword [ebp - 0x1c], eax
jmp 0x4292d7
push 0x53a7b4
push 0x152d5
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.0040dad6
add esp, 0x14
push 0xb
pop eax
jmp 0x42923a
push str.cannot_open_savepoint___SQL_statements_in_progress
push edi
call fcn.004234d1
pop ecx
pop ecx
push 5
jmp 0x42d006
push str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x42d011
mov eax, ebx
sub eax, dword [ebp - 0x60]
push 0x14
cdq
pop esi
idiv esi
mov dword [edi + 0x24], eax
xor eax, eax
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], ecx
mov byte [edx + 0x4f], al
mov dword [edi + 0x28], ecx
jmp 0x4292d7
push eax
push str.no_such_savepoint:__s
push edi
call fcn.004234d1
add esp, 0xc
xor eax, eax
inc eax
jmp 0x42923a
push 8
jmp 0x42d006
push 0x14
cmp al, 5
jne 0x42d329
mov eax, ebx
sub eax, dword [ebp - 0x60]
cdq
pop ecx
idiv ecx
mov dword [edi + 0x24], eax
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0x28], eax
jmp 0x4292d4
mov eax, 0x204
jmp 0x42923a
push 6
pop eax
push 2
pop ecx
mov byte [edi + 0x92], cl
jmp 0x42923a
push 7
pop eax
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x14]
call fcn.0043afa5
mov eax, dword [ebp - 0x1c]
cmp eax, 7
jne 0x42923a
mov eax, dword [ebp - 0x14]
mov ecx, eax
call fcn.0040c17a
push str.out_of_memory
push edi
call fcn.004234d1
pop ecx
pop ecx
push 7
jmp 0x42d006
xor eax, eax
inc eax
push str.too_many_levels_of_trigger_recursion
push edi
mov dword [ebp - 0x1c], eax
call fcn.004234d1
pop ecx
pop ecx
mov eax, dword [ebp - 0x1c]
jmp 0x42923a
push esi
call fcn.00426bf6
pop ecx
push eax
push 0x535b5c
push edi
call fcn.004234d1
add esp, 0xc
jmp 0x42d0e7
xor eax, eax
mov ecx, str.out_of
inc eax
cmp esi, 5
mov dword [ebp - 0x1c], eax
mov eax, str.into
cmovne eax, ecx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
jmp 0x42d0fc
mov eax, dword [ebp - 0x3c]
push dword [ebp - 0x20]
call dword [eax + 0x1c]
pop ecx
jmp 0x42d0b6
push 6
jmp 0x42d006
or ecx, 0xffffffff
mov dword [ebp - 0x80], ecx
push 9
jmp 0x42d006
push 5
pop edx
movzx eax, cl
cmp cx, dx
push 2
pop ecx
cmove eax, ecx
mov byte [edi + 0x92], al
jmp 0x42d0e7
xor edx, edx
mov ecx, edi
call fcn.00425041
test eax, eax
jne 0x42923a
mov eax, dword [edi]
xor ecx, ecx
cmp dword [eax + 0x1d0], ecx
je 0x42d18c
cmp dword [edi + 0x30], ecx
je 0x42d18c
xor eax, eax
mov ecx, edi
lea edx, [eax + 1]
call fcn.00424f61
xor ecx, ecx
mov eax, dword [edi + 0x20]
push 2
pop edx
add eax, edx
mov dword [ebp - 0xa0], ecx
xor edx, edx
inc edx
or eax, edx
mov dword [edi + 0x20], eax
imul eax, dword [ebx + 4], 0x28
add esi, eax
mov dword [edi + 0x78], esi
cmp dword [ebx + 8], ecx
jle 0x42d1fc
mov eax, 0x1000
test word [esi + 8], ax
je 0x42d1ca
mov ecx, esi
call fcn.00422542
test eax, eax
jne 0x42d0b6
mov ax, word [esi + 8]
mov ecx, 0x202
and ax, cx
push 2
pop ecx
cmp ax, cx
jne 0x42d1e5
mov ecx, esi
call fcn.004224fc
mov eax, dword [ebp - 0xa0]
add esi, 0x28
inc eax
mov dword [ebp - 0xa0], eax
cmp eax, dword [ebx + 8]
jl 0x42d1b0
xor ecx, ecx
mov eax, dword [ebp - 0x14]
cmp byte [eax + 0x51], 0
jne 0x42d0b9
push 4
pop edx
test byte [eax + 0x58], dl
je 0x42d223
push ecx
push edi
push dword [eax + 0xd0]
push edx
call dword [eax + 0xcc]
add esp, 0x10
mov eax, ebx
mov dword [ebp - 0x1c], 0x64
sub eax, dword [ebp - 0x60]
push 0x14
cdq
pop ecx
idiv ecx
inc eax
mov dword [edi + 0x24], eax
jmp 0x4292d4
mov edx, dword [ebx + 4]
movzx eax, byte [eax + 0x4f]
mov esi, dword [ebx + 8]
mov dword [ebp - 0x8c], edx
cmp edx, eax
je 0x42d2fa
test esi, esi
je 0x42d26e
mov ecx, dword [ebp - 0x14]
mov edx, 0x204
call fcn.00464c40
xor ecx, ecx
inc ecx
mov al, cl
jmp 0x42d2ac
test edx, edx
je 0x42d289
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp dword [eax + 0xb8], ecx
jle 0x42d289
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x42d011
xor eax, eax
mov ecx, edi
lea edx, [eax + 1]
call fcn.00425041
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x4292d4
mov al, byte [ebp - 0x8c]
mov byte [ebp - 0x8c], al
mov ecx, dword [ebp - 0x14]
mov byte [ecx + 0x4f], al
mov ecx, edi
call fcn.0042509c
push 5
pop ecx
cmp eax, ecx
jne 0x42d2dc
mov eax, ebx
sub eax, dword [ebp - 0x60]
cdq
push 0x14
pop esi
idiv esi
mov dword [edi + 0x24], eax
xor eax, eax
inc eax
sub al, byte [ebp - 0x8c]
jmp 0x42d034
mov ecx, dword [ebp - 0x14]
call fcn.00464832
push 0x65
pop eax
xor ecx, ecx
cmp dword [edi + 0x28], ecx
push 1
pop ecx
cmovne eax, ecx
mov dword [ebp - 0x1c], eax
jmp 0x4292d4
test esi, esi
mov eax, str.cannot_commit___no_transaction_is_active
mov ecx, str.cannot_rollback___no_transaction_is_active
cmove ecx, eax
test edx, edx
mov eax, str.cannot_start_a_transaction_within_a_transaction
cmovne eax, ecx
push eax
push edi
call fcn.004234d1
pop ecx
pop ecx
jmp 0x42d054
mov edi, dword [ebp - 0x44]
jmp 0x42923a
mov ecx, dword [ebp - 0x14]
jmp 0x42923f
add dword [edi + 0xb4], esi
mov ecx, edi
call fcn.0042410b
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x1c]
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.00467b12
leave
ret