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

Disassembly:
sub esp, 0x1e4
push ebx
mov ebx, ecx
xor edx, edx
push ebp
push esi
mov eax, edx
mov dword [esp + 0x6c], ebx
mov esi, dword [ebx]
mov ecx, dword [ebx + 0x68]
mov ebp, ecx
mov dword [esp + 0x10], eax
push edi
mov al, byte [esi + 0x4e]
mov edi, dword [ebx + 0x58]
mov byte [esp + 0x5c], al
xor eax, eax
inc eax
mov dword [esp + 0x58], ecx
cmp dword [ebx + 0x28], 7
mov dword [esp + 0x10], esi
mov byte [esp + 0x7b], dl
mov dword [esp + 0x84], edx
mov dword [esp + 0xac], edx
mov dword [esp + 0x18], edi
je 0x42b43d
and dword [ebx + 0x38], edx
and dword [ebx + 0x3c], edx
and dword [ebx + 0x78], edx
and dword [esi + 0x188], edx
cmp dword [esi + 0x108], edx
jne 0x42b6ca
imul ebp, dword [ebx + 0x24], 0x14
xorps xmm0, xmm0
movsd qword [esp + 0x160], xmm0
add ebp, ecx
inc edx
mov dword [esp + 0xac], edx
mov dword [esp + 0x38], ebp
mov cl, byte [ebp]
movzx edx, cl
mov byte [esp + 0x2f], cl
mov dword [esp + 0x1c], edx
cmp edx, 0xa8
ja case.0x426913.86
jmp dword [edx*4 + 0x42b6ec]
imul ecx, dword [ebp + 4], 0x28
push 4
pop eax
push 0x14
pop esi
mov word [ecx + edi + 8], ax
mov eax, ebp
sub eax, dword [esp + 0x58]
cdq
idiv esi
cdq
mov dword [ecx + edi], eax
mov dword [ecx + edi + 4], edx
jmp 0x42b215
imul eax, dword [ebp + 4], 0x28
mov ecx, 0x80
imul ebp, dword [eax + edi], 0x14
mov word [eax + edi + 8], cx
add ebp, dword [esp + 0x58]
jmp 0x426c01
imul ecx, dword [ebp + 4], 0x28
mov eax, dword [ebp + 0xc]
dec eax
cdq
push 4
mov dword [ecx + edi], eax
pop eax
mov word [ecx + edi + 8], ax
xor eax, eax
mov dword [ecx + edi + 4], edx
cmp dword [ebp + 8], eax
jne 0x42b215
jmp 0x426c01
imul ecx, dword [ebp + 4], 0x28
mov edx, dword [esp + 0x58]
lea ebp, [edx - 0x14]
imul eax, dword [ecx + edi], 0x14
imul eax, dword [eax + edx + 8], 0x14
add ebp, eax
mov eax, 0x80
mov word [ecx + edi + 8], ax
jmp 0x426c01
imul esi, dword [ebp + 4], 0x28
sub ebp, dword [esp + 0x58]
push 4
pop eax
push 0x14
add esi, edi
mov ecx, dword [esi]
mov word [esi + 8], ax
mov eax, ebp
pop ebp
cdq
idiv ebp
imul ebp, ecx, 0x14
add ebp, dword [esp + 0x58]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
mov esi, dword [esp + 0x10]
jmp 0x426c01
imul eax, dword [ebp + 0xc], 0x28
test byte [eax + edi + 8], 1
je 0x426c01
mov eax, ebp
sub eax, dword [esp + 0x58]
push 0x14
pop ecx
cdq
idiv ecx
mov ecx, dword [ebp + 4]
mov esi, eax
test ecx, ecx
jne 0x42b225
mov edx, dword [ebx + 0xc8]
test edx, edx
je 0x42b225
mov eax, dword [edx + 4]
mov ecx, edx
mov esi, dword [esp + 0x10]
dec dword [ebx + 0xd0]
mov dword [ebx + 0xc8], eax
mov eax, dword [ebx + 0x2c]
add dword [esi + 0x68], eax
mov dword [esi + 0x64], eax
call fcn.00422f8a
mov edx, dword [ebx + 0x68]
push 4
pop ecx
mov dword [esp + 0x58], edx
cmp dword [ebp + 8], ecx
jne 0x426a48
imul eax, eax, 0x14
mov eax, dword [eax + edx + 8]
dec eax
mov edi, dword [ebx + 0x58]
imul ebp, eax, 0x14
mov dword [esp + 0x18], edi
add ebp, edx
jmp 0x426c01
mov edx, ebp
mov ecx, ebx
call fcn.00426847
mov ecx, eax
mov eax, dword [ebp + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x426c01
mov edx, ebp
mov ecx, ebx
call fcn.00426847
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [eax], edx
mov dword [eax + 4], ecx
jmp 0x426c01
mov edx, ebp
mov ecx, ebx
call fcn.00426847
push 8
pop ecx
mov word [eax + 8], cx
mov ecx, dword [ebp + 0x10]
movsd xmm0, qword [ecx]
movsd qword [eax], xmm0
jmp 0x426c01
mov edx, ebp
mov ecx, ebx
call fcn.00426847
mov edx, dword [ebp + 0x10]
mov esi, eax
test edx, edx
jne 0x426ac5
xor eax, eax
mov ecx, eax
jmp 0x426add
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x426aca
sub ecx, edi
mov edi, dword [esp + 0x18]
and ecx, 0x3fffffff
xor eax, eax
mov dword [ebp + 4], ecx
inc eax
cmp byte [esp + 0x5c], al
je 0x426b5b
xor ecx, ecx
push ecx
push eax
push 0xffffffffffffffff
mov ecx, esi
call fcn.004214cf
add esp, 0xc
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42a8ad
push 2
pop eax
test byte [esi + 8], al
je 0x426b27
mov al, byte [esp + 0x5c]
cmp byte [esi + 0xa], al
je 0x426b27
mov dl, al
mov ecx, esi
call fcn.0040cffb
test eax, eax
jne 0x42b439
xor eax, eax
mov dword [esi + 0x18], eax
mov eax, 0x800
or word [esi + 8], ax
cmp byte [ebp + 1], 0xf9
jne 0x426b4b
mov edx, dword [ebp + 0x10]
test edx, edx
je 0x426b4b
mov ecx, dword [esp + 0x10]
call fcn.0040b163
mov byte [ebp + 1], 0xf9
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x10], eax
mov ecx, dword [esi + 0xc]
mov dword [ebp + 4], ecx
mov esi, dword [esp + 0x10]
cmp ecx, dword [esi + 0x6c]
jg 0x42a8ad
mov byte [ebp], 0x48
mov edx, ebp
mov ecx, ebx
call fcn.00426847
mov ecx, 0xa02
mov word [eax + 8], cx
mov ecx, dword [ebp + 0x10]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp + 4]
mov dword [eax + 0xc], ecx
mov cl, byte [esp + 0x5c]
mov byte [eax + 0xa], cl
jmp 0x426c01
mov edx, ebp
mov ecx, ebx
call fcn.00426847
mov edi, dword [ebp + 0xc]
xor ecx, ecx
mov edx, dword [ebp + 8]
inc ecx
cmp dword [ebp + 4], 0
mov esi, 0x101
cmovne ecx, esi
and dword [eax + 0xc], 0
lea esi, [eax + 8]
movzx ecx, cx
sub edi, edx
mov dword [esp + 0x20], ecx
xor eax, eax
mov word [esi], cx
test edi, edi
jle 0x42b149
mov edx, 0x2400
lea esi, [esi + 0x28]
test word [esi], dx
je 0x426bee
lea ecx, [esi - 8]
call fcn.00420e7d
mov ecx, dword [esp + 0x20]
xor eax, eax
mov edx, 0x2400
dec edi
mov word [esi], cx
mov dword [esi + 4], eax
test edi, edi
jg 0x426bd3
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
xor eax, eax
inc eax
mov edx, dword [esp + 0xac]
push 0x14
pop ecx
jmp 0x4268eb
imul ecx, dword [ebp + 4], 0x28
mov edx, 0xff41
mov ax, word [ecx + edi + 8]
and ax, dx
xor edx, edx
inc edx
or ax, dx
jmp 0x42699d
mov edx, ebp
mov ecx, ebx
call fcn.00426847
mov edx, dword [ebp + 0x10]
mov esi, eax
xor eax, eax
mov ecx, esi
push eax
push eax
push dword [ebp + 4]
call fcn.004214cf
mov al, byte [esp + 0x68]
add esp, 0xc
mov byte [esi + 0xa], al
jmp 0x4269cf
imul ecx, dword [ebp + 4], 0x28
mov esi, dword [ebx + 0x64]
add ecx, 0xffffffd8
add esi, ecx
mov ecx, esi
call fcn.004213ad
test eax, eax
jne 0x42a8ad
imul edx, dword [ebp + 8], 0x28
mov eax, 0x2400
add edx, edi
mov dword [esp + 0x20], edx
test word [edx + 8], ax
je 0x426c95
mov ecx, edx
call fcn.00420e7d
mov edx, dword [esp + 0x20]
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 0x426bf9
imul edi, dword [ebp + 4], 0x28
imul esi, dword [ebp + 8], 0x28
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x38], eax
add edi, dword [esp + 0x18]
add esi, dword [esp + 0x18]
mov edx, edi
mov ecx, esi
call fcn.004214ad
mov eax, 0x1000
test word [esi + 8], ax
je 0x426cf5
mov ecx, esi
call fcn.00420cb6
test eax, eax
jne 0x42b439
add edi, 0x28
add esi, 0x28
sub dword [esp + 0x38], 1
jne 0x426cd2
jmp 0x426bf9
imul edi, dword [ebp + 4], 0x28
imul esi, dword [ebp + 8], 0x28
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x38], eax
add edi, dword [esp + 0x18]
add esi, dword [esp + 0x18]
mov eax, 0x1000
mov edx, edi
push eax
mov ecx, esi
call fcn.004213ec
mov eax, 0x1000
pop ecx
test word [esi + 8], ax
je 0x426d48
mov ecx, esi
call fcn.00420cb6
test eax, eax
jne 0x42b439
mov ecx, dword [esp + 0x38]
mov eax, ecx
dec ecx
mov dword [esp + 0x38], ecx
test eax, eax
je 0x426bf9
add esi, 0x28
add edi, 0x28
jmp 0x426d1e
imul edx, dword [ebp + 4], 0x28
mov eax, 0x1000
imul ecx, dword [ebp + 8], 0x28
push eax
add edx, edi
add ecx, edi
call fcn.004213ec
pop ecx
jmp 0x426c01
imul ecx, dword [ebp + 8], 0x28
mov ebx, 0x2400
imul eax, dword [ebp + 4], 0x28
add ecx, edi
mov edx, dword [eax + edi]
test word [ecx + 8], bx
mov eax, dword [eax + edi + 4]
mov ebx, dword [esp + 0x70]
je 0x426daa
push eax
push edx
call fcn.004212e6
pop ecx
jmp 0x426d7a
mov dword [ecx], edx
mov dword [ecx + 4], eax
push 4
pop eax
mov word [ecx + 8], ax
jmp 0x426c01
imul ecx, dword [ebp + 4], 0x28
imul esi, dword [ebp + 0xc], 0x28
add ecx, edi
imul edi, dword [ebp + 8], 0x28
add esi, dword [esp + 0x18]
mov dword [esp + 0x1c], ecx
movzx edx, word [ecx + 8]
add edi, dword [esp + 0x18]
mov dword [esp + 0x48], edx
mov al, byte [edi + 8]
or al, dl
test al, 1
je 0x426e0d
mov eax, 0x2400
test word [esi + 8], ax
je 0x426dfd
mov ecx, esi
call fcn.00420e7d
jmp 0x426bf9
xor eax, eax
inc eax
mov word [esi + 8], ax
mov esi, dword [esp + 0x10]
jmp 0x42a291
test dl, 0x12
jne 0x426e21
mov dl, byte [esp + 0x5c]
xor eax, eax
push eax
call fcn.00420d65
pop ecx
jmp 0x426e2f
mov eax, 0x4000
test eax, edx
je 0x426e53
call fcn.00420cfc
test eax, eax
jne 0x42b439
mov eax, dword [esp + 0x1c]
mov ecx, 0xfffd
mov ax, word [eax + 8]
and ax, cx
movzx eax, ax
mov dword [esp + 0x48], eax
mov eax, 0x4000
movzx edx, word [edi + 8]
mov dword [esp + 0x38], edx
test dl, 0x12
jne 0x426e8c
mov dl, byte [esp + 0x5c]
xor eax, eax
push eax
mov ecx, edi
call fcn.00420d65
pop ecx
test eax, eax
jne 0x42b439
mov ax, word [edi + 8]
mov ecx, 0xfffd
and ax, cx
movzx edx, ax
mov dword [esp + 0x38], edx
jmp 0x426eb2
test eax, edx
je 0x426eb2
mov ecx, edi
call fcn.00420cfc
test eax, eax
jne 0x42b439
mov ax, word [edi + 8]
mov ecx, 0xfffd
and ax, cx
movzx eax, ax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x1c]
mov edx, dword [edi + 0xc]
mov eax, dword [eax + 0xc]
add edx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x20], edx
cmp edx, dword [eax + 0x6c]
jg 0x42a8ad
xor eax, eax
mov ecx, esi
cmp esi, edi
sete al
add edx, 3
push eax
call fcn.00420b59
pop ecx
test eax, eax
jne 0x42b439
mov ax, word [esi + 8]
mov ecx, 0x3e40
and ax, cx
push 2
pop ecx
or ax, cx
mov word [esi + 8], ax
cmp esi, edi
je 0x426f1d
push dword [edi + 0xc]
push dword [edi + 0x10]
push dword [esi + 0x10]
call fcn.004793b0
mov eax, dword [esp + 0x44]
add esp, 0xc
mov word [edi + 8], ax
mov eax, dword [esp + 0x1c]
push dword [eax + 0xc]
push dword [eax + 0x10]
mov eax, dword [edi + 0xc]
add eax, dword [esi + 0x10]
push eax
call fcn.004793b0
mov eax, dword [esp + 0x28]
xor edx, edx
mov ecx, dword [esp + 0x54]
add esp, 0xc
mov word [eax + 8], cx
mov eax, dword [esi + 0x10]
mov ecx, dword [esp + 0x20]
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 al, byte [esp + 0x5c]
mov dword [esi + 0xc], ecx
mov byte [esi + 0xa], al
jmp 0x426bf9
imul eax, dword [ebp + 4], 0x28
add eax, edi
mov ecx, eax
mov dword [esp + 0x1c], eax
call fcn.00426818
imul esi, dword [ebp + 8], 0x28
movzx ebx, ax
add esi, edi
mov ecx, esi
mov dword [esp + 0x48], esi
call fcn.00426818
movzx ecx, ax
imul eax, dword [ebp + 0xc], 0x28
and cl, bl
push 4
pop edx
add eax, edi
mov dword [esp + 0x38], eax
mov ax, word [esi + 8]
mov esi, dword [esp + 0x1c]
or ax, word [esi + 8]
movzx eax, ax
test dl, cl
je 0x4271b9
mov eax, esi
mov edx, dword [eax]
mov esi, dword [eax + 4]
mov eax, dword [esp + 0x48]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
movzx eax, byte [ebp]
mov dword [esp + 0x90], edi
mov dword [esp + 0x94], ebx
sub eax, 0x67
je 0x427117
sub eax, 1
je 0x42706c
sub eax, 1
je 0x42705c
sub eax, 1
mov eax, edx
je 0x427032
or eax, esi
je 0x427249
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x427016
xor edx, edx
inc edx
xor eax, eax
mov esi, eax
push esi
push edx
push ebx
push edi
call fcn.00497140
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edx
jmp 0x42719e
or eax, esi
je 0x427249
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x427051
xor eax, eax
cmp edi, eax
jne 0x427051
cmp ebx, 0x80000000
je 0x427084
push esi
push edx
push ebx
push edi
call fcn.00497090
jmp 0x42701f
push esi
push edx
lea ecx, [esp + 0x98]
call fcn.0040e65b
jmp 0x42707a
push esi
push edx
lea ecx, [esp + 0x98]
call fcn.0040e611
pop ecx
pop ecx
test eax, eax
je 0x42719e
mov esi, dword [esp + 0x1c]
mov ecx, esi
call fcn.00420fb8
mov ebx, dword [esp + 0x48]
mov ecx, ebx
movsd qword [esp + 0x20], xmm0
call fcn.00420fb8
movzx eax, byte [ebp]
sub eax, 0x67
je 0x4271f4
sub eax, 1
je 0x4271ec
sub eax, 1
je 0x4271e4
sub eax, 1
je 0x4271c9
mov ecx, esi
call fcn.00420f51
mov ecx, ebx
mov esi, eax
mov edi, edx
call fcn.00420f51
mov ecx, esi
mov dword [esp + 0x90], eax
or ecx, edi
mov dword [esp + 0x94], edx
je 0x427249
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x427102
xor esi, esi
inc esi
xor ecx, ecx
mov edi, ecx
push edi
push esi
push edx
push eax
call fcn.00497140
mov ecx, eax
call fcn.00498500
jmp 0x4271fa
xor eax, eax
cmp esi, eax
jl 0x42714c
jg 0x427123
cmp edx, eax
jb 0x42714c
cmp ebx, eax
jl 0x42718c
jg 0x42712d
cmp edi, eax
jbe 0x42718c
or ecx, 0xffffffff
mov eax, 0x7fffffff
sub ecx, edi
sbb eax, ebx
cmp eax, esi
jg 0x42718c
jl 0x427084
cmp ecx, edx
jae 0x42718c
jmp 0x427084
cmp ebx, eax
jg 0x42718c
jl 0x427156
cmp edi, eax
jae 0x42718c
mov eax, edx
mov ecx, esi
add eax, 1
mov dword [esp + 0x60], eax
push 0
pop eax
adc ecx, eax
inc eax
sub eax, edi
mov dword [esp + 0x20], eax
mov eax, 0x80000000
sbb eax, ebx
cmp eax, ecx
jg 0x427084
jl 0x42718c
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x60]
ja 0x427084
add edi, edx
mov dword [esp + 0x90], edi
adc ebx, esi
mov dword [esp + 0x94], ebx
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
push 4
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp 0x427229
xor edx, edx
inc edx
test dl, al
jne 0x42724c
jmp 0x427088
movsd xmm1, qword [esp + 0x20]
ucomisd xmm1, qword [esp + 0x160]
lahf
test ah, 0x44
jnp 0x427249
divsd xmm0, xmm1
jmp 0x4271fa
mulsd xmm0, qword [esp + 0x20]
jmp 0x4271fa
subsd xmm0, qword [esp + 0x20]
jmp 0x4271fa
addsd xmm0, qword [esp + 0x20]
movsd qword [esp + 0x20], xmm0
mov ebx, 0x7ff00000
mov ecx, dword [esp + 0x24]
mov eax, ecx
and eax, ebx
cmp eax, ebx
jne 0x42721f
mov eax, dword [esp + 0x20]
and ecx, 0xfffff
or eax, ecx
jne 0x427249
mov edx, dword [esp + 0x38]
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
mov ebx, dword [esp + 0x70]
jmp 0x426bf9
xor edx, edx
inc edx
mov eax, dword [esp + 0x38]
mov ecx, 0x2400
test word [eax + 8], cx
je 0x427264
mov ecx, eax
call fcn.00420e7d
jmp 0x427240
mov word [eax + 8], dx
jmp 0x427240
mov eax, dword [ebp + 4]
test eax, eax
je 0x426c01
imul eax, eax, 0x28
mov ecx, 0x2400
add eax, edi
test word [eax + 8], cx
je 0x427290
xor ecx, ecx
push ecx
push ecx
mov ecx, eax
jmp 0x426da2
xor ecx, ecx
push 4
mov dword [eax], ecx
mov dword [eax + 4], ecx
pop ecx
mov word [eax + 8], cx
jmp 0x426c01
imul ecx, dword [ebp + 8], 0x28
imul esi, dword [ebp + 4], 0x28
imul edx, dword [ebp + 0xc], 0x28
add ecx, edi
add esi, edi
add edx, edi
mov dword [esp + 0x48], edx
mov al, byte [ecx + 8]
or al, byte [esi + 8]
test al, 1
je 0x4272ea
mov eax, 0x2400
test word [edx + 8], ax
je 0x4272da
mov ecx, edx
call fcn.00420e7d
jmp 0x4269cf
xor eax, eax
inc eax
mov word [edx + 8], ax
mov esi, dword [esp + 0x10]
jmp case.0x426913.86
call fcn.00420f51
mov ecx, esi
mov dword [esp + 0x1c], eax
mov edi, edx
call fcn.00420f51
mov cl, byte [ebp]
mov esi, eax
cmp cl, 0x63
jne 0x427313
mov eax, dword [esp + 0x1c]
and eax, esi
and edi, edx
jmp 0x4273e9
cmp cl, 0x64
jne 0x427325
mov eax, dword [esp + 0x1c]
or eax, esi
or edi, edx
jmp 0x4273e9
mov eax, esi
or eax, edx
je 0x4273e5
xor eax, eax
cmp edx, eax
jg 0x427379
jl 0x42733b
cmp esi, eax
jae 0x427356
mov al, 0xcb
sub al, cl
mov cl, al
cmp edx, 0xffffffff
jl 0x427377
jg 0x42734d
cmp esi, 0xffffffc0
jbe 0x427377
neg esi
push 0
pop eax
adc edx, eax
neg edx
cmp edx, eax
jl 0x427361
jg 0x427379
cmp esi, 0x40
jae 0x427379
mov eax, dword [esp + 0x1c]
cmp cl, 0x65
mov edx, edi
mov ecx, esi
jne 0x4273a4
call fcn.00497050
mov ecx, eax
jmp 0x4273df
xor eax, eax
cmp edi, eax
jg 0x427391
jl 0x427385
cmp dword [esp + 0x1c], eax
jae 0x427391
cmp cl, 0x65
je 0x427391
or eax, 0xffffffff
or edi, eax
jmp 0x4273e9
xorps xmm0, xmm0
movlpd qword [esp + 0x20], xmm0
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
jmp 0x4273e9
call fcn.00497070
mov ecx, eax
mov dword [esp + 0x38], edx
xor eax, eax
mov dword [esp + 0x20], ecx
cmp edi, eax
jg 0x4273df
jl 0x4273c1
cmp dword [esp + 0x1c], eax
jae 0x4273df
push 0x40
pop ecx
sub ecx, esi
or eax, 0xffffffff
or edx, 0xffffffff
call fcn.00497050
mov ecx, dword [esp + 0x20]
or ecx, eax
or dword [esp + 0x38], edx
mov edx, dword [esp + 0x38]
mov eax, ecx
mov edi, edx
jmp 0x4273e9
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x48]
mov edx, 0x3e40
push 4
mov dword [ecx], eax
mov ax, word [ecx + 8]
and ax, dx
mov dword [ecx + 4], edi
pop edx
or ax, dx
mov word [ecx + 8], ax
jmp 0x426bf9
imul esi, dword [ebp + 4], 0x28
add esi, edi
mov ecx, esi
call fcn.0042106f
mov eax, dword [ebp + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
jmp 0x4269cf
imul esi, dword [ebp + 4], 0x28
push 4
pop edx
add esi, edi
movzx eax, word [esi + 8]
mov ecx, eax
test dl, al
jne 0x427468
push dword [esp + 0x5c]
mov dl, 0x43
mov ecx, esi
call fcn.0042670a
movzx eax, word [esi + 8]
pop ecx
push 4
pop edx
mov ecx, eax
test dl, al
jne 0x427468
xor eax, eax
cmp dword [ebp + 8], eax
jne 0x42b215
push 0x14
jmp 0x42b453
mov eax, 0x3e40
and ecx, eax
push 4
pop eax
or ecx, eax
mov word [esi + 8], cx
jmp 0x4269cf
imul ecx, dword [ebp + 4], 0x28
add ecx, edi
test byte [ecx + 8], 0x24
je case.0x426913.86
call fcn.00421094
jmp 0x426c01
imul esi, dword [ebp + 4], 0x28
mov eax, 0x4000
add esi, edi
test word [esi + 8], ax
je 0x4274b1
mov ecx, esi
call fcn.00420cfc
jmp 0x4274b3
xor eax, eax
push dword [esp + 0x5c]
mov dl, byte [ebp + 8]
mov ecx, esi
mov dword [esp + 0x18], eax
call fcn.004211d4
pop ecx
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x42b454
jmp 0x4269cf
imul edi, dword [ebp + 4], 0x28
imul eax, dword [ebp + 0xc], 0x28
mov ecx, dword [esp + 0x18]
add edi, ecx
add ecx, eax
mov dword [esp + 0x1c], ecx
movzx eax, word [edi + 8]
movzx esi, word [ecx + 8]
mov ecx, esi
mov dword [esp + 0x30], eax
mov edx, ecx
mov dword [esp + 0x34], ecx
or edx, eax
test dl, 1
je 0x42758d
movzx eax, word [ebp + 2]
mov edx, 0x80
test dl, al
je 0x42754d
mov al, byte [esp + 0x34]
xor edx, edx
and al, byte [esp + 0x30]
inc edx
test dl, al
je 0x427539
test ecx, 0x100
jne 0x427539
mov esi, dword [esp + 0x1c]
xor eax, eax
jmp 0x4276b3
mov esi, dword [esp + 0x1c]
not ecx
and ecx, edx
lea ecx, [ecx*2 - 1]
jmp 0x4276b5
test al, 0x20
je 0x42757d
imul ecx, dword [ebp + 8], 0x28
xor edx, edx
mov edi, dword [esp + 0x18]
mov esi, 0x3e40
inc edx
mov dword [esp + 0x84], edx
mov ax, word [ecx + edi + 8]
and ax, si
or ax, dx
mov word [ecx + edi + 8], ax
jmp 0x4269cf
push 0x10
pop ecx
test cl, al
jne 0x42b215
jmp 0x426bf9
mov al, byte [ebp + 2]
and al, 0x47
cmp al, 0x43
jb 0x427632
push 2
pop eax
mov ecx, esi
test al, dl
je 0x4275ec
mov al, byte [esp + 0x30]
push 2
and al, 0x2e
pop ecx
cmp al, cl
jne 0x4275c7
xor edx, edx
mov ecx, edi
call fcn.0042665a
mov esi, dword [esp + 0x1c]
movzx eax, word [esi + 8]
mov dword [esp + 0x34], eax
jmp 0x4275cb
mov esi, dword [esp + 0x1c]
mov al, byte [esp + 0x34]
movzx ecx, word [esp + 0x34]
and al, 0x2e
push 2
pop edx
cmp al, dl
jne 0x4275f0
xor edx, edx
mov ecx, esi
call fcn.0042665a
movzx ecx, word [esi + 8]
jmp 0x4275f0
mov esi, dword [esp + 0x1c]
mov al, byte [edi + 8]
and al, cl
push 4
pop ecx
test cl, al
je 0x4276a6
mov eax, dword [esi + 4]
mov ecx, dword [esi]
cmp eax, dword [edi + 4]
jl 0x427623
jg 0x427610
cmp ecx, dword [edi]
jbe 0x427618
xor ecx, ecx
inc ecx
jmp 0x4276b5
cmp eax, dword [edi + 4]
jg 0x42762b
jl 0x427623
cmp ecx, dword [edi]
jae 0x42762b
or ecx, 0xffffffff
jmp 0x4276b5
xor eax, eax
jmp 0x4276b3
cmp al, 0x42
jne 0x4276a2
mov al, byte [esp + 0x30]
push 2
pop ecx
test cl, al
jne 0x42766c
test al, 0x2c
je 0x42766c
mov dl, byte [esp + 0x5c]
mov ecx, edi
push 1
call fcn.00420d65
mov ax, word [edi + 8]
xor ax, word [esp + 0x34]
pop ecx
mov ecx, 0x3e40
and ax, cx
xor word [esp + 0x30], ax
push 2
pop ecx
mov al, byte [esp + 0x34]
test cl, al
jne 0x4276a2
mov esi, dword [esp + 0x1c]
test al, 0x2c
je 0x4276a6
mov dl, byte [esp + 0x5c]
mov ecx, esi
push 1
call fcn.00420d65
mov ax, word [esi + 8]
xor ax, word [esp + 0x38]
pop ecx
mov ecx, 0x3e40
and ax, cx
xor word [esp + 0x34], ax
jmp 0x4276a6
mov esi, dword [esp + 0x1c]
push dword [ebp + 0x10]
mov edx, edi
mov ecx, esi
call fcn.0042435a
pop ecx
mov ecx, eax
movzx eax, byte [ebp]
test ecx, ecx
jns 0x4276c5
mov al, byte [eax + 0x4a810c]
jmp 0x4276d5
jne 0x4276cf
mov al, byte [eax + 0x4a82bc]
jmp 0x4276d5
mov al, byte [eax + 0x4a36b0]
movzx edx, al
mov ax, word [esp + 0x30]
mov word [edi + 8], ax
mov ax, word [esp + 0x34]
mov word [esi + 8], ax
movzx eax, word [ebp + 2]
test al, 0x20
je 0x427735
imul esi, dword [ebp + 8], 0x28
mov edi, dword [esp + 0x18]
mov dword [esp + 0x84], ecx
add esi, edi
test al, 8
je 0x427718
xor eax, eax
cmp byte [ebp], 0x35
sete al
cmp eax, edx
je 0x4269cf
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
jmp 0x4269c9
test edx, edx
jmp 0x427582
cmp dword [esp + 0x84], 0
jne 0x42b215
jmp case.0x426913.86
test byte [ebp + 2], al
jne 0x427758
xor eax, eax
jmp 0x427760
mov eax, dword [ebp - 4]
push 4
pop ecx
add eax, ecx
mov esi, dword [ebp + 4]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x80], esi
mov esi, dword [ebp + 8]
mov dword [esp + 0x6c], esi
xor esi, esi
mov dword [esp + 0x48], eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x60], edx
test ecx, ecx
jle 0x4269cf
lea ecx, [edx + 0x14]
mov dword [esp + 0x38], ecx
test eax, eax
je 0x42779d
mov edi, dword [eax + esi*4]
jmp 0x42779f
mov edi, esi
mov eax, dword [edx + 0x10]
push dword [ecx]
movzx eax, byte [eax + esi]
and eax, 1
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x70]
add eax, edi
imul edx, eax, 0x28
mov eax, dword [esp + 0x84]
add eax, edi
imul ecx, eax, 0x28
add edx, dword [esp + 0x1c]
add ecx, dword [esp + 0x1c]
call fcn.0042435a
pop ecx
mov ecx, eax
mov dword [esp + 0x84], ecx
test ecx, ecx
jne 0x427800
mov ecx, dword [esp + 0x38]
inc esi
mov edx, dword [esp + 0x60]
push 4
pop eax
add ecx, eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x38], ecx
cmp esi, dword [esp + 0x20]
jl 0x427794
jmp 0x426bf9
mov eax, dword [esp + 0x60]
push 2
pop edx
mov eax, dword [eax + 0x10]
test byte [esi + eax], dl
je 0x427850
mov eax, dword [esp + 0x80]
xor edx, edx
mov ecx, dword [esp + 0x18]
add eax, edi
imul eax, eax, 0x28
inc edx
test byte [eax + ecx + 8], dl
jne 0x427837
mov eax, dword [esp + 0x6c]
add eax, edi
imul eax, eax, 0x28
test byte [eax + ecx + 8], dl
je 0x427849
mov ecx, dword [esp + 0x84]
neg ecx
mov dword [esp + 0x84], ecx
jmp 0x427850
mov ecx, dword [esp + 0x84]
mov esi, dword [esp + 0x10]
xor eax, eax
mov edi, dword [esp + 0x18]
cmp dword [esp + 0x68], eax
je 0x426c03
neg ecx
mov dword [esp + 0x84], ecx
jmp 0x426c03
mov ecx, dword [esp + 0x84]
test ecx, ecx
jns 0x427883
imul ebp, dword [ebp + 4], 0x14
jmp 0x42788f
jne 0x42788b
imul ebp, dword [ebp + 8], 0x14
jmp 0x42788f
imul ebp, dword [ebp + 0xc], 0x14
add ebp, dword [esp + 0x58]
add ebp, 0xffffffec
jmp case.0x426913.86
imul ecx, dword [ebp + 4], 0x28
push 2
pop eax
mov edx, eax
add ecx, edi
call fcn.00420fdf
imul ecx, dword [ebp + 8], 0x28
mov esi, eax
push 2
pop eax
mov edx, eax
add ecx, edi
call fcn.00420fdf
imul ecx, esi, 3
cmp byte [ebp], 0x2c
jne 0x4278cf
mov dl, byte [ecx + eax + 0x4a44f4]
jmp 0x4278d6
mov dl, byte [ecx + eax + 0x4a8280]
imul esi, dword [ebp + 0xc], 0x28
mov ecx, 0x3e40
push 2
add esi, edi
mov ax, word [esi + 8]
and ax, cx
movzx ecx, ax
pop eax
cmp dl, al
jne 0x4278f7
or ecx, 1
jmp 0x427905
movzx eax, dl
cdq
push 4
mov dword [esi], eax
pop eax
mov dword [esi + 4], edx
or ecx, eax
movzx eax, cx
mov word [esi + 8], ax
jmp 0x4269cf
imul ecx, dword [ebp + 4], 0x28
mov edx, dword [ebp + 0xc]
add ecx, edi
call fcn.00420fdf
imul ecx, dword [ebp + 8], 0x28
mov ebx, 0x2400
xor eax, dword [ebp + 0x10]
cdq
add ecx, edi
test word [ecx + 8], bx
mov ebx, dword [esp + 0x70]
je 0x42793f
push edx
push eax
jmp 0x426da2
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x426daf
imul ecx, dword [ebp + 4], 0x28
xor edx, edx
imul esi, dword [ebp + 8], 0x28
inc edx
add ecx, edi
add esi, edi
test byte [ecx + 8], dl
jne 0x427995
xor edx, edx
call fcn.00420fdf
neg eax
mov ecx, 0x2400
sbb eax, eax
inc eax
test word [esi + 8], cx
je 0x427986
xor ecx, ecx
push ecx
push eax
mov ecx, esi
call fcn.004212e6
pop ecx
pop ecx
jmp 0x4269cf
mov dword [esi], eax
xor eax, eax
push 4
mov dword [esi + 4], eax
pop eax
jmp 0x427908
mov eax, 0x2400
test word [esi + 8], ax
je 0x4279a7
mov ecx, esi
jmp 0x4272d0
mov word [esi + 8], dx
jmp 0x4269cf
imul esi, dword [ebp + 8], 0x28
mov eax, 0x2400
imul edi, dword [ebp + 4], 0x28
add esi, dword [esp + 0x18]
add edi, dword [esp + 0x18]
test word [esi + 8], ax
je 0x4279d7
mov ecx, esi
call fcn.00420e7d
xor edx, edx
inc edx
jmp 0x4279de
xor edx, edx
inc edx
mov word [esi + 8], dx
test byte [edi + 8], dl
jne 0x426bf9
push 4
pop eax
mov ecx, edi
mov word [esi + 8], ax
call fcn.00420f51
not eax
not edx
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x426bf9
mov edi, dword [ebx + 0xc8]
test edi, edi
je 0x427a45
mov eax, ebp
mov edi, dword [edi + 0x18]
sub eax, dword [ebx + 0x68]
push 0x14
cdq
pop ecx
idiv ecx
xor edx, edx
mov ecx, eax
inc edx
mov esi, ecx
and ecx, 7
shr esi, 3
shl edx, cl
movzx eax, byte [esi + edi]
test eax, edx
jne 0x42b215
bts eax, ecx
mov byte [esi + edi], al
mov ecx, dword [ebx + 0x68]
mov esi, dword [esp + 0x10]
jmp 0x427a54
mov ecx, dword [ebx + 0x68]
mov eax, dword [ecx + 4]
cmp eax, dword [ebp + 4]
je 0x42b215
mov eax, dword [ecx + 4]
mov dword [ebp + 4], eax
jmp 0x426bfd
imul ecx, dword [ebp + 4], 0x28
mov edx, dword [ebp + 0xc]
add ecx, edi
call fcn.00420fdf
test eax, eax
jmp 0x426977
xor edx, edx
xor eax, eax
cmp dword [ebp + 0xc], eax
sete dl
imul ecx, dword [ebp + 4], 0x28
add ecx, edi
call fcn.00420fdf
test eax, eax
je 0x42b215
jmp 0x426c01
imul eax, dword [ebp + 4], 0x28
test byte [eax + edi + 8], 1
jmp 0x426977
imul eax, dword [ebp + 4], 0x28
test byte [eax + edi + 8], 1
jmp 0x427a8b
mov ecx, dword [ebp + 4]
mov eax, dword [ebx + 0x60]
mov eax, dword [eax + ecx*4]
cmp byte [eax + 2], 0
je 0x426c01
imul eax, dword [ebp + 0xc], 0x28
mov ecx, 0x2400
add eax, edi
test word [eax + 8], cx
je 0x427adf
mov ecx, eax
call fcn.00420e7d
jmp 0x42b215
xor ecx, ecx
inc ecx
mov word [eax + 8], cx
jmp 0x42b215
mov ecx, dword [ebp + 4]
lea edx, [esp + 0x88]
mov eax, dword [ebx + 0x60]
mov eax, dword [eax + ecx*4]
lea ecx, [esp + 0x54]
mov dword [esp + 0x54], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x88], eax
call fcn.00423d37
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42b454
imul eax, dword [ebp + 0xc], 0x28
mov esi, dword [esp + 0x54]
mov ecx, dword [esi + 0x48]
add edi, eax
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], ecx
cmp eax, dword [ebx + 0x20]
je 0x427c35
cmp byte [esi + 2], 0
je 0x427b7d
cmp byte [esi], 3
jne 0x427ea8
imul edx, dword [esi + 0x20], 0x28
add edx, dword [esp + 0x18]
mov eax, dword [edx + 0xc]
mov dword [esi + 0x54], eax
mov ecx, dword [esp + 0x54]
mov eax, dword [ecx + 0x54]
mov dword [ecx + 0x50], eax
mov eax, dword [esp + 0x54]
mov ecx, dword [edx + 0x10]
mov dword [eax + 0x4c], ecx
mov ecx, dword [esp + 0x54]
jmp 0x427bba
mov ecx, edi
jmp 0x426df3
mov esi, dword [esi + 0x28]
mov ecx, esi
call fcn.0041ac2b
mov eax, dword [esp + 0x54]
mov ecx, esi
mov edx, dword [esi + 0x2c]
mov dword [eax + 0x50], edx
mov edx, dword [esp + 0x54]
lea edx, [edx + 0x54]
call fcn.0041b090
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x10]
mov dword [ecx + 0x4c], eax
mov ecx, dword [esp + 0x54]
mov eax, dword [ecx + 0x50]
cmp eax, dword [edx + 0x6c]
ja 0x42a8ad
mov eax, dword [ebx + 0x20]
mov edx, 0x80
mov dword [ecx + 0x1c], eax
mov eax, dword [esp + 0x54]
mov ecx, dword [eax + 0x4c]
mov al, byte [ecx]
cmp al, dl
jae 0x427bdf
mov ecx, dword [esp + 0x1c]
movzx eax, al
mov dword [ecx], eax
mov al, 1
jmp 0x427be8
mov edx, dword [esp + 0x1c]
call fcn.0040e3c8
movzx ecx, al
mov eax, dword [esp + 0x54]
mov dword [eax + 0x30], ecx
xor ecx, ecx
mov eax, dword [esp + 0x54]
mov word [eax + 0x3a], cx
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x54]
mov eax, dword [ecx]
cmp dword [esi + 0x54], eax
jae 0x427ca9
xor edx, edx
mov dword [esi + 0x4c], edx
mov eax, dword [esp + 0x54]
mov dword [eax + 0x54], edx
mov eax, dword [ecx]
cmp eax, 0x18003
ja 0x427e0d
mov esi, dword [esp + 0x54]
cmp eax, dword [esi + 0x50]
ja 0x427e0d
movzx eax, word [esi + 0x3a]
mov edx, dword [esp + 0x88]
cmp eax, edx
jg 0x427ebc
mov eax, dword [ecx]
cmp dword [esi + 0x30], eax
jae 0x427e7c
mov ecx, dword [esi + 0x4c]
mov dword [esp + 0x44], ecx
test ecx, ecx
jne 0x427cb2
push 0xa
xor eax, eax
lea edi, [esp + 0x17c]
pop ecx
rep stosd dword es:[edi], eax
mov ecx, dword [esi + 0x28]
lea eax, [esp + 0x178]
push eax
mov eax, dword [esp + 0x20]
xor edx, edx
push dword [eax]
call fcn.004216e0
mov dword [esp + 0x1c], eax
pop ecx
pop ecx
test eax, eax
jne 0x42b454
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x188]
mov esi, dword [esp + 0x54]
mov dword [esp + 0x44], eax
mov eax, dword [ecx]
jmp 0x427cb6
mov edx, dword [esi + 0x4c]
mov dword [esp + 0x44], edx
jmp 0x427cb6
mov ecx, dword [esp + 0x1c]
movzx edx, word [esi + 0x3a]
mov ebx, dword [esi + 0x30]
mov ebp, edx
add ebx, dword [esp + 0x44]
mov dword [esp + 0x68], edx
mov ecx, dword [ecx + edx*4]
mov dword [esp + 0x34], ecx
xor ecx, ecx
add eax, dword [esp + 0x44]
mov edi, ecx
lea ecx, [edx*4 + 0x58]
mov dword [esp + 0x30], eax
mov dword [esp + 0x48], ecx
movzx eax, byte [ebx]
mov edx, 0x80
mov dword [esp + 0x74], eax
mov dword [esi + ecx], eax
mov eax, dword [esp + 0x74]
cmp eax, edx
jae 0x427d14
movzx eax, al
inc ebx
movzx eax, byte [eax + 0x4a4bf8]
cdq
add dword [esp + 0x34], eax
adc edi, edx
mov edx, dword [esp + 0x34]
jmp 0x427d61
lea edx, [esp + 0x74]
mov ecx, ebx
call fcn.0040e3c8
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x74]
movzx eax, al
add ebx, eax
mov eax, dword [esp + 0x54]
mov dword [eax + edx], ecx
mov ecx, 0x80
mov eax, dword [esp + 0x74]
cmp eax, ecx
jb 0x427d47
add eax, 0xfffffff4
shr eax, 1
jmp 0x427d4e
movzx eax, byte [eax + 0x4a4bf8]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x48]
add edx, eax
push 0
pop eax
mov dword [esp + 0x34], edx
adc edi, eax
mov esi, dword [esp + 0x30]
inc ebp
push 4
pop eax
add ecx, eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x48], ecx
mov dword [eax + ecx - 0x58], edx
cmp ebp, dword [esp + 0x88]
jg 0x427d8d
cmp ebx, esi
jae 0x427d8d
mov esi, dword [esp + 0x54]
jmp 0x427ce5
mov eax, dword [esp + 0x54]
cmp ebx, esi
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0x70]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x68], ebp
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x60], edi
mov edi, dword [esp + 0x20]
jb 0x427dc4
cmp ecx, esi
ja 0x427dd7
cmp edx, dword [eax + 0x50]
jne 0x427dd7
mov esi, dword [esp + 0x60]
test esi, esi
jne 0x427dd3
jmp 0x427dc8
mov esi, dword [esp + 0x60]
test esi, esi
jb 0x427e29
ja 0x427dd3
cmp edx, dword [eax + 0x50]
jbe 0x427e29
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x1c]
xor edx, edx
cmp dword [ecx], edx
jne 0x427de5
mov ecx, esi
jmp 0x427e2d
cmp dword [eax + 0x4c], edx
jne 0x427e0d
mov eax, 0x2400
test dword [esp + 0x180], eax
jne 0x427e01
cmp dword [esp + 0x190], edx
je 0x427e0d
lea ecx, [esp + 0x178]
call fcn.00420eb2
mov edx, dword [esp + 0x58]
mov eax, dword [edx + 0xc]
test eax, eax
jle 0x42b2c4
imul eax, eax, 0x14
lea ebp, [edx - 0x14]
add ebp, eax
jmp 0x426bf9
mov edx, dword [esp + 0x68]
sub ecx, dword [esp + 0x44]
mov word [eax + 0x3a], dx
mov eax, dword [esp + 0x54]
mov dword [eax + 0x30], ecx
xor eax, eax
mov esi, dword [esp + 0x54]
cmp dword [esi + 0x4c], eax
jne 0x427e6f
mov eax, 0x2400
test dword [esp + 0x180], eax
jne 0x427e5f
cmp dword [esp + 0x190], 0
je 0x427e6f
lea ecx, [esp + 0x178]
call fcn.00420eb2
mov esi, dword [esp + 0x54]
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0x74]
jmp 0x427e84
xor eax, eax
mov ecx, eax
mov dword [esp + 0x74], ecx
movzx eax, word [esi + 0x3a]
cmp eax, edx
jg 0x427ec4
cmp byte [ebp + 1], 0xf5
jne 0x427ea8
mov edx, dword [ebp + 0x10]
mov eax, 0x800
push eax
mov ecx, edi
call fcn.004213ec
pop ecx
jmp 0x426bf9
mov eax, 0x2400
test word [edi + 8], ax
jne 0x427b76
jmp 0x4298fe
mov ecx, dword [esi + edx*4 + 0x58]
mov dword [esp + 0x74], ecx
mov eax, 0x2400
test word [edi + 8], ax
je 0x427ee5
mov ecx, edi
call fcn.00420e7d
mov esi, dword [esp + 0x54]
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esi + 0x54]
cmp eax, dword [ebx + edx*4 + 4]
mov ebx, dword [esp + 0x70]
jb 0x427f8a
mov eax, dword [esi + 0x4c]
mov esi, dword [esp + 0x1c]
add eax, dword [esi + edx*4]
mov dword [esp + 0x20], eax
cmp ecx, 0xc
jae 0x427f19
mov edx, ecx
mov ecx, eax
push edi
call fcn.00423ea4
jmp 0x427ea2
mov al, byte [esp + 0x5c]
lea esi, [ecx - 0xc]
shr esi, 1
mov dword [edi + 0xc], esi
mov byte [edi + 0xa], al
lea edx, [esi + 2]
cmp dword [edi + 0x18], edx
jge 0x427f4f
xor eax, eax
mov ecx, edi
inc eax
mov word [edi + 8], ax
xor eax, eax
push eax
call fcn.00420b59
pop ecx
test eax, eax
jne 0x42b439
mov eax, dword [edi + 0x10]
jmp 0x427f55
mov eax, dword [edi + 0x14]
mov dword [edi + 0x10], eax
push esi
push dword [esp + 0x24]
push eax
call fcn.004793b0
mov eax, dword [edi + 0x10]
xor ecx, ecx
add esp, 0xc
mov byte [esi + eax], cl
mov eax, dword [edi + 0x10]
mov byte [eax + esi + 1], cl
mov eax, dword [esp + 0x74]
and eax, 1
mov ax, word [eax*2 + 0x4a25cc]
mov word [edi + 8], ax
jmp 0x426bf9
mov al, byte [esp + 0x5c]
mov byte [edi + 0xa], al
movzx eax, word [ebp + 2]
mov edx, dword [esp + 0x74]
test al, 0xc0
je 0x427fb0
cmp edx, 0xc
jb 0x427fa7
test dl, 1
je 0x427fcb
mov ecx, 0x80
test cl, al
jne 0x427fcb
mov eax, 0x80
cmp edx, eax
jb 0x427fc0
lea eax, [edx - 0xc]
shr eax, 1
jmp 0x427fc7
movzx eax, byte [edx + 0x4a4bf8]
test eax, eax
jne 0x427fd5
mov ecx, 0x4d5f3c
jmp 0x427f11
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0x54]
push edi
push eax
mov eax, dword [esp + 0x24]
mov ecx, dword [ecx + 0x28]
mov edx, dword [eax + edx*4]
call fcn.004216e0
mov dword [esp + 0x1c], eax
pop ecx
pop ecx
test eax, eax
jne 0x42b454
mov edx, dword [esp + 0x74]
mov ecx, dword [edi + 0x10]
push edi
call fcn.00423ea4
mov eax, 0xefff
and word [edi + 8], ax
pop ecx
jmp 0x426bf9
imul esi, dword [ebp + 4], 0x28
mov edi, dword [ebp + 0x10]
add esi, dword [esp + 0x18]
mov al, byte [edi]
push dword [esp + 0x5c]
mov dl, al
mov ecx, esi
call fcn.0042670a
cmp byte [edi], 0x45
pop ecx
jne 0x428095
movzx ecx, word [esi + 8]
push 4
pop eax
mov dword [esp + 0x20], ecx
test al, cl
je 0x428095
mov edx, dword [esi]
xor eax, eax
add edx, eax
mov eax, dword [esi + 4]
adc eax, 0x8000
cmp eax, 0xffff
ja 0x428075
jb 0x428066
cmp edx, 0xffffffff
ja 0x428075
and ecx, 0xfffb
or ecx, 0x20
mov word [esi + 8], cx
jmp 0x428095
mov edx, dword [esi + 4]
mov ecx, dword [esi]
call fcn.00498500
mov eax, dword [esp + 0x20]
push 8
and eax, 0xfffb
movsd qword [esi], xmm0
pop ecx
or eax, ecx
mov word [esi + 8], ax
inc edi
mov al, byte [edi]
test al, al
je 0x426bf9
add esi, 0x28
jmp 0x428028
imul ecx, dword [ebp + 4], 0x28
xor eax, eax
mov edi, dword [ebp + 0x10]
xorps xmm0, xmm0
mov dword [esp + 0x34], eax
imul eax, dword [ebp + 8], 0x28
movlpd qword [esp + 0x48], xmm0
add ecx, dword [esp + 0x18]
movlpd qword [esp + 0x60], xmm0
mov dword [esp + 0x68], ecx
add eax, 0xffffffd8
add eax, ecx
mov dword [esp + 0x20], eax
mov al, byte [ebx + 0x93]
mov byte [esp + 0x2f], al
imul eax, dword [ebp + 0xc], 0x28
add eax, dword [esp + 0x18]
mov dword [esp + 0x80], eax
test edi, edi
je 0x428130
mov al, byte [edi]
lea esi, [ecx + 8]
mov ebx, dword [esp + 0x5c]
push ebx
lea ecx, [esi - 8]
mov dl, al
call fcn.0042670a
cmp byte [edi], 0x45
pop ecx
jne 0x428122
movzx eax, word [esi]
push 4
pop ecx
test cl, al
je 0x428122
and eax, 0xfffb
or eax, 0x20
mov word [esi], ax
inc edi
add esi, 0x28
mov al, byte [edi]
test al, al
jne 0x4280fc
mov ebx, dword [esp + 0x70]
mov edi, dword [esp + 0x48]
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x4c]
add eax, 0x1c
mov esi, dword [esp + 0x68]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x30], edx
mov dword [esp + 0x44], edi
mov dword [esp + 0x60], ecx
movzx ecx, word [eax - 0x14]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x6c], ecx
test cl, 1
je 0x428191
mov esi, dword [esp + 0x1c]
mov eax, 0x4000
and ecx, eax
movzx eax, cx
mov ecx, dword [esp + 0x34]
neg eax
sbb eax, eax
and eax, 0xa
inc ecx
mov dword [esi], eax
mov dword [esp + 0x34], ecx
jmp 0x4283b2
test cl, 0x24
je 0x4282f0
mov edi, dword [eax - 0x18]
mov esi, dword [eax - 0x1c]
xor eax, eax
cmp edi, eax
jg 0x4281b6
jl 0x4281ac
cmp esi, eax
jae 0x4281b6
mov edx, esi
mov eax, edi
not edx
not eax
jmp 0x4281ba
mov edx, esi
mov eax, edi
inc dword [esp + 0x34]
test eax, eax
ja 0x428274
jb 0x4281cd
cmp edx, 0x7f
ja 0x428205
xor ecx, ecx
mov eax, esi
inc ecx
and eax, ecx
cmp eax, esi
jne 0x4281ea
xor eax, eax
cmp eax, edi
jne 0x4281ec
cmp byte [esp + 0x2f], 4
jb 0x4281ec
lea eax, [edx + 8]
jmp 0x4281fc
xor eax, eax
add dword [esp + 0x44], ecx
mov esi, dword [esp + 0x30]
adc esi, eax
mov eax, ecx
mov dword [esp + 0x30], esi
mov edx, dword [esp + 0x30]
jmp 0x4282e1
test eax, eax
ja 0x428274
jb 0x428213
cmp edx, 0x7fff
ja 0x428234
push 2
mov edi, dword [esp + 0x48]
mov edx, dword [esp + 0x34]
pop ecx
add edi, ecx
push 0
pop eax
adc edx, eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x30], edx
mov eax, ecx
jmp 0x4282e5
test eax, eax
ja 0x428274
jb 0x428242
cmp edx, 0x7fffff
ja 0x428262
mov edi, dword [esp + 0x44]
push 0
pop eax
add edi, 3
push 3
mov edx, dword [esp + 0x34]
adc edx, eax
mov dword [esp + 0x48], edi
mov dword [esp + 0x34], edx
pop eax
jmp 0x4282e5
test eax, eax
ja 0x428274
jb 0x428270
cmp edx, 0x7fffffff
ja 0x428274
push 4
jmp 0x428215
cmp eax, 0x7fff
ja 0x428290
jb 0x428282
cmp edx, 0xffffffff
ja 0x428290
mov edi, dword [esp + 0x44]
push 0
pop eax
add edi, 6
push 5
jmp 0x42824e
mov edx, dword [esp + 0x30]
push 8
pop eax
add dword [esp + 0x44], eax
push 0
pop eax
adc edx, eax
mov dword [esp + 0x30], edx
test cl, 0x20
je 0x4282de
mov edx, edi
mov ecx, esi
call fcn.00498500
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x30]
mov edi, dword [esp + 0x44]
movsd qword [eax - 0x1c], xmm0
mov eax, dword [esp + 0x6c]
push 8
pop ecx
and eax, 0xffdf
or eax, ecx
push 7
mov word [esi - 0x14], ax
pop eax
jmp 0x4282e9
push 6
pop eax
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x1c]
mov dword [esi], eax
jmp 0x4283ae
test cl, 8
je 0x428317
mov ecx, dword [esp + 0x34]
inc ecx
mov dword [eax], 7
add edi, 8
mov dword [esp + 0x34], ecx
mov dword [esp + 0x44], edi
adc edx, 0
mov dword [esp + 0x30], edx
jmp 0x4283ba
mov edi, dword [eax - 0x10]
mov eax, ecx
shr eax, 1
and eax, 1
lea eax, [eax + edi*2]
add eax, 0xc
bt ecx, 0xe
mov dword [esp + 0x6c], eax
jae 0x42836f
mov esi, dword [esp + 0x1c]
mov ecx, dword [esi - 0x1c]
lea eax, [eax + ecx*2]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x44]
or eax, edx
je 0x42835c
lea ecx, [esi - 0x1c]
call fcn.00420cfc
test eax, eax
jne 0x42b439
add edi, dword [esi - 0x1c]
jmp 0x428367
mov eax, ecx
cdq
add dword [esp + 0x60], eax
adc dword [esp + 0x48], edx
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x6c]
add dword [esp + 0x44], edi
push 0
pop ecx
adc edx, ecx
xor esi, esi
mov ecx, eax
mov dword [esp + 0x30], edx
inc esi
shr ecx, 7
xor eax, eax
mov edx, eax
jmp 0x428392
shrd ecx, edx, 7
inc esi
shr edx, 7
mov eax, ecx
or eax, edx
jne 0x42838a
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x6c]
add dword [esp + 0x34], esi
mov edx, dword [esp + 0x30]
mov edi, dword [esp + 0x44]
mov dword [ecx], eax
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x68]
add eax, 0xffffffe4
cmp eax, esi
je 0x4283cd
mov eax, dword [esp + 0x1c]
sub eax, 0x28
jmp 0x42815b
cmp ecx, 0x7e
jle 0x428432
mov eax, ecx
xor edi, edi
cdq
inc edi
mov esi, eax
mov dword [esp + 0x6c], edi
shrd esi, edx, 7
shr edx, 7
mov ecx, esi
or ecx, edx
je 0x4283fd
shrd esi, edx, 7
inc edi
shr edx, 7
mov eax, esi
or eax, edx
jne 0x4283eb
mov dword [esp + 0x6c], edi
mov eax, dword [esp + 0x34]
add eax, edi
xor edi, edi
mov dword [esp + 0x34], eax
inc edi
cdq
mov esi, eax
shrd esi, edx, 7
shr edx, 7
mov ecx, esi
or ecx, edx
je 0x428428
shrd esi, edx, 7
inc edi
shr edx, 7
mov eax, esi
or eax, edx
jne 0x42841a
mov ecx, dword [esp + 0x34]
cmp dword [esp + 0x6c], edi
jge 0x428437
inc ecx
mov dword [esp + 0x34], ecx
mov edi, dword [esp + 0x44]
mov eax, ecx
mov esi, dword [esp + 0x30]
cdq
add edi, eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x80]
mov ecx, edx
adc esi, ecx
mov dword [esp + 0x6c], ecx
mov ecx, edi
add ecx, dword [esp + 0x60]
mov eax, dword [eax + 0x18]
adc esi, dword [esp + 0x48]
cdq
cmp esi, edx
jg 0x42847e
jl 0x42846f
cmp ecx, eax
ja 0x42847e
mov ecx, dword [esp + 0x80]
mov eax, dword [ecx + 0x14]
mov dword [ecx + 0x10], eax
jmp 0x4284b5
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x6c]
cdq
cmp esi, edx
jg 0x42a8ad
jl 0x428498
cmp ecx, eax
ja 0x42a8ad
mov ecx, dword [esp + 0x80]
mov edx, edi
call fcn.00420c54
test eax, eax
jne 0x42b439
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x60]
push 0x10
pop eax
mov word [ecx + 8], ax
mov eax, edx
or eax, dword [esp + 0x48]
mov dword [ecx + 0xc], edi
je 0x4284d6
mov eax, 0x4010
mov dword [ecx], edx
mov word [ecx + 8], ax
mov esi, dword [ecx + 0x10]
mov ecx, 0x80
mov eax, dword [esp + 0x34]
lea edi, [esi + eax]
cmp eax, ecx
jae 0x4284f0
mov byte [esi], al
xor eax, eax
inc eax
jmp 0x428506
push dword [esp + 0x6c]
mov ecx, esi
push dword [esp + 0x20]
call fcn.0040e20e
pop ecx
pop ecx
mov ecx, 0x80
mov ebx, dword [esp + 0x68]
mov ebp, dword [esp + 0x20]
movzx eax, al
add esi, eax
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x20], eax
cmp eax, ecx
jae 0x428525
mov byte [esi], al
xor eax, eax
inc eax
jmp 0x428532
xor ecx, ecx
push ecx
push eax
mov ecx, esi
call fcn.0040e20e
pop ecx
pop ecx
push dword [esp + 0x20]
movzx eax, al
mov edx, ebx
mov ecx, edi
add esi, eax
call fcn.00423d91
add ebx, 0x28
add edi, eax
pop ecx
mov ecx, 0x80
cmp ebx, ebp
jbe 0x428513
mov ebp, dword [esp + 0x38]
jmp 0x427240
mov ecx, dword [ebp + 4]
lea edx, [esp + 0x118]
mov eax, dword [ebx + 0x60]
xorps xmm0, xmm0
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 0x28]
movlpd qword [esp + 0x118], xmm0
call fcn.0041f3f2
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42b454
mov edx, ebp
mov ecx, ebx
call fcn.00426847
mov ecx, dword [esp + 0x118]
mov edx, dword [esp + 0x11c]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp 0x426c01
mov eax, dword [ebp + 4]
mov edi, dword [ebp + 0x10]
mov dword [esp + 0x68], eax
mov dword [esp + 0x20], edi
test eax, eax
jne 0x428695
cmp dword [esi + 0xb8], eax
jg 0x42b2e9
test edi, edi
jne 0x4285d7
mov esi, eax
jmp 0x4285eb
mov esi, edi
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4285dc
sub esi, ecx
and esi, 0x3fffffff
mov edi, dword [esp + 0x10]
xor edx, edx
mov ecx, edi
mov eax, dword [edi + 0x1bc]
add eax, dword [edi + 0x1b8]
push eax
call fcn.004539f4
pop ecx
xor ecx, ecx
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42b456
push ecx
lea eax, [esi + 0x21]
mov ecx, edi
push eax
call fcn.0040b343
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x426bf9
lea ecx, [esi + 1]
push ecx
push dword [esp + 0x24]
lea edx, [edi + 0x20]
push edx
mov dword [edi], edx
call fcn.004793b0
mov esi, dword [esp + 0x1c]
add esp, 0xc
cmp byte [esi + 0x4f], 0
je 0x428657
xor eax, eax
mov byte [esi + 0x57], 1
mov byte [esi + 0x4f], al
jmp 0x42865d
inc dword [esi + 0x1b8]
mov eax, dword [esi + 0x1b0]
mov dword [edi + 0x18], eax
mov eax, dword [esi + 0x1c0]
mov ecx, dword [esi + 0x1c4]
mov dword [esi + 0x1b0], edi
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov eax, dword [esi + 0x1c8]
mov ecx, dword [esi + 0x1cc]
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], ecx
jmp 0x426bfd
mov esi, dword [esi + 0x1b0]
xor eax, eax
mov dword [esp + 0x1c], eax
jmp 0x4286b7
mov ecx, dword [esi]
mov edx, edi
call fcn.0040d786
test eax, eax
je 0x4286d2
inc dword [esp + 0x1c]
mov esi, dword [esi + 0x18]
test esi, esi
jne 0x4286a3
push edi
push str.no_such_savepoint:__s
push ebx
call fcn.00421c2d
add esp, 0xc
xor eax, eax
inc eax
jmp 0x42b454
mov ecx, dword [esp + 0x10]
xor edx, edx
mov edi, dword [esp + 0x68]
xor eax, eax
inc edx
cmp dword [ecx + 0xb8], eax
jle 0x4286ef
cmp edi, edx
je 0x42b2fd
lea eax, [esi + 0x18]
cmp dword [eax], 0
mov dword [esp + 0x80], eax
jne 0x42874a
cmp byte [ecx + 0x57], 0
je 0x42874a
mov dword [esp + 0x48], edx
cmp edi, edx
jne 0x428750
mov ecx, ebx
call fcn.0042375d
test eax, eax
jne 0x42b4f5
mov eax, dword [esp + 0x10]
mov ecx, ebx
mov byte [eax + 0x4f], 1
call fcn.004237b8
push 5
pop ecx
cmp eax, ecx
je 0x42b304
mov edx, dword [esp + 0x10]
xor eax, eax
mov byte [edx + 0x57], al
mov eax, dword [ebx + 0x28]
mov dword [esp + 0x14], eax
jmp 0x42885a
xor eax, eax
mov dword [esp + 0x48], eax
mov edx, dword [ecx + 0x1b8]
sub edx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x14]
dec edx
mov dword [esp + 0x1c], edx
cmp edi, 2
jne 0x4287ce
mov ecx, dword [ecx + 0x18]
xor edi, edi
and ecx, 1
mov dword [esp + 0x20], edi
mov dword [esp + 0x38], ecx
test eax, eax
jle 0x4287d4
xor ecx, 1
xor eax, eax
mov dword [esp + 0x60], ecx
mov eax, dword [esp + 0x10]
mov edx, 0x204
push ecx
mov ecx, dword [eax + 0x10]
mov ecx, dword [edi + ecx + 4]
call fcn.0041a973
mov dword [esp + 0x18], eax
pop ecx
test eax, eax
jne 0x42b454
mov ecx, dword [esp + 0x20]
push 0x10
pop eax
add edi, eax
inc ecx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x20], ecx
mov eax, dword [eax + 0x14]
cmp ecx, eax
mov ecx, dword [esp + 0x60]
jl 0x428784
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x1c]
jmp 0x4287d4
xor ecx, ecx
mov dword [esp + 0x38], ecx
xor edi, edi
mov dword [esp + 0x20], edi
test eax, eax
jle 0x428821
xor eax, eax
mov eax, dword [esp + 0x10]
push edx
mov edx, dword [esp + 0x6c]
mov ecx, dword [eax + 0x10]
mov ecx, dword [edi + ecx + 4]
call fcn.0041aab1
mov dword [esp + 0x18], eax
pop ecx
test eax, eax
jne 0x42b454
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
inc eax
push 0x10
pop ecx
add edi, ecx
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x14]
jl 0x4287e0
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
test ecx, ecx
je 0x428856
mov ecx, dword [edx + 4]
jmp 0x428843
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 0x42882e
mov ecx, edx
call fcn.00438ecb
mov edx, dword [esp + 0x10]
or dword [edx + 0x18], 1
mov edi, dword [esp + 0x68]
mov ecx, dword [edx + 0x1b0]
cmp ecx, esi
je 0x428892
mov ebx, dword [esp + 0x10]
mov eax, dword [ecx + 0x18]
mov edx, ecx
mov ecx, ebx
mov dword [ebx + 0x1b0], eax
call fcn.0040b163
mov ecx, dword [ebx + 0x1b0]
dec dword [ebx + 0x1b8]
cmp ecx, esi
jne 0x428868
mov ebx, dword [esp + 0x70]
mov edx, dword [esp + 0x10]
cmp edi, 1
jne 0x4288c2
mov eax, dword [esp + 0x80]
mov eax, dword [eax]
mov dword [edx + 0x1b0], eax
mov edx, esi
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.0040b163
cmp dword [esp + 0x48], 0
jne 0x428915
dec dword [esi + 0x1b8]
jmp 0x4288f8
cmp dword [esp + 0x48], 0
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [edx + 0x1c0], eax
mov dword [edx + 0x1c4], ecx
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
mov esi, dword [esp + 0x10]
mov dword [esi + 0x1c8], eax
mov dword [esi + 0x1cc], ecx
je 0x4288f8
push 2
pop eax
cmp edi, eax
jne 0x428915
mov ecx, dword [esp + 0x1c]
mov edx, edi
push ecx
mov ecx, esi
call fcn.004539f4
mov dword [esp + 0x18], eax
pop ecx
test eax, eax
jne 0x42b454
jmp 0x428919
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x42b454
jmp 0x426bfd
mov edx, dword [ebp + 8]
xor eax, eax
mov dword [esp + 0x38], eax
test edx, edx
je 0x428945
mov eax, dword [esi + 0x20]
xor ecx, ecx
and eax, 0x100000
or eax, ecx
jne 0x42b329
mov ecx, dword [ebp + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov esi, dword [eax + ecx*8 + 4]
test esi, esi
je 0x428a0c
lea eax, [esp + 0x38]
mov ecx, esi
push eax
call fcn.00419fa7
mov dword [esp + 0x18], eax
pop ecx
test eax, eax
jne 0x42b331
xor ecx, ecx
cmp dword [ebp + 8], ecx
je 0x428a18
mov edx, 0x80
test byte [ebx + 0x98], dl
je 0x428a18
mov edi, dword [esp + 0x10]
cmp byte [edi + 0x4f], cl
je 0x4289a0
cmp dword [edi + 0xb4], 1
jle 0x428a1e
mov eax, dword [ebx + 0x30]
test eax, eax
jne 0x4289bc
mov eax, dword [edi + 0x1b8]
inc dword [edi + 0x1bc]
add eax, dword [edi + 0x1bc]
mov dword [ebx + 0x30], eax
dec eax
xor edx, edx
push eax
mov ecx, edi
call fcn.004539f4
mov dword [esp + 0x18], eax
pop ecx
test eax, eax
jne 0x4289de
mov edx, dword [ebx + 0x30]
mov ecx, esi
call fcn.0041aa95
mov dword [esp + 0x14], eax
mov esi, edi
mov eax, dword [esi + 0x1c0]
mov ecx, dword [esi + 0x1c4]
mov dword [ebx + 0x48], eax
mov dword [ebx + 0x4c], ecx
mov eax, dword [esi + 0x1c8]
mov ecx, dword [esi + 0x1cc]
mov dword [ebx + 0x50], eax
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x54], ecx
xor ecx, ecx
jmp 0x428a20
mov eax, dword [esp + 0x14]
xor ecx, ecx
mov esi, dword [esp + 0x10]
jmp 0x428a24
mov esi, dword [esp + 0x10]
jmp 0x428a24
mov esi, edi
mov edi, dword [esp + 0x18]
cmp word [ebp + 2], cx
je 0x428a55
mov eax, dword [esp + 0x38]
cmp eax, dword [ebp + 0xc]
jne 0x42b354
mov ecx, dword [ebp + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax + 4]
cmp eax, dword [ebp + 0x10]
jne 0x42b354
mov eax, dword [esp + 0x14]
xor ecx, ecx
test eax, eax
jne 0x42b456
jmp 0x426c01
mov ecx, dword [esi + 0x10]
lea eax, [esp + 0x10c]
mov edx, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 4]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0041f38a
pop ecx
mov edx, ebp
mov ecx, ebx
call fcn.00426847
mov ecx, eax
mov eax, dword [esp + 0x10c]
jmp 0x426a67
mov eax, dword [esp + 0x10]
mov esi, dword [ebp + 4]
push dword [ebp + 0xc]
mov edx, dword [ebp + 8]
shl esi, 4
add esi, dword [eax + 0x10]
mov ecx, dword [esi + 4]
call fcn.0041f3b4
xor edx, edx
mov dword [esp + 0x18], eax
inc edx
pop ecx
cmp dword [ebp + 8], edx
jne 0x428acf
mov ecx, dword [esi + 0xc]
mov esi, dword [esp + 0x10]
mov eax, dword [ebp + 0xc]
mov dword [ecx], eax
or dword [esi + 0x18], edx
jmp 0x428ae4
push 2
pop eax
cmp dword [ebp + 8], eax
jne 0x428ae0
mov ecx, dword [esi + 0xc]
mov al, byte [ebp + 0xc]
mov byte [ecx + 0x4c], al
mov esi, dword [esp + 0x10]
cmp dword [ebp + 4], edx
jne 0x428b0d
mov ecx, dword [esi + 4]
jmp 0x428b02
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 0x428aee
and dword [ebx + 0x98], 0xfffffffc
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x42b454
jmp 0x426c01
mov ecx, dword [ebp + 4]
mov eax, dword [ebx + 0x60]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x428b37
mov eax, dword [esi + 0x34]
cmp eax, dword [ebp + 8]
je 0x428c72
mov cl, byte [esp + 0x2f]
mov eax, dword [ebx + 0x98]
and al, 3
cmp al, 1
je 0x42b3a7
mov esi, dword [ebp + 0xc]
xor eax, eax
mov edi, dword [esp + 0x10]
mov edx, dword [ebp + 8]
mov dword [esp + 0x60], eax
mov dword [esp + 0x38], eax
mov eax, esi
shl eax, 4
add eax, dword [edi + 0x10]
mov dword [esp + 0x20], edx
mov dword [esp + 0x48], esi
mov edi, dword [eax + 4]
mov dword [esp + 0x80], edi
cmp cl, 0x62
jne 0x428ba2
mov eax, dword [eax + 0xc]
movzx edi, word [ebp + 2]
push 8
pop ecx
mov al, byte [eax + 0x4c]
and edi, ecx
push 4
pop ecx
or edi, ecx
cmp al, byte [ebx + 0x93]
jae 0x428ba6
mov byte [ebx + 0x93], al
jmp 0x428ba6
xor eax, eax
mov edi, eax
push 0x10
pop eax
test byte [ebp + 2], al
je 0x428bc6
imul esi, edx, 0x28
add esi, dword [esp + 0x18]
mov ecx, esi
call fcn.0042106f
mov eax, dword [esi]
mov esi, dword [esp + 0x48]
mov dword [esp + 0x20], eax
mov al, byte [ebp + 1]
cmp al, 0xf7
jne 0x428bda
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x38], eax
movzx eax, word [eax + 8]
jmp 0x428be7
cmp al, 0xfd
jne 0x428be3
mov eax, dword [ebp + 0x10]
jmp 0x428be7
mov eax, dword [esp + 0x60]
mov edx, dword [ebp + 4]
xor ecx, ecx
push ecx
push esi
push eax
mov ecx, ebx
call fcn.00426594
mov esi, eax
add esp, 0xc
test esi, esi
je 0x42b439
push 4
xor ecx, ecx
pop eax
or dword [esi + 8], eax
inc ecx
mov eax, dword [esp + 0x20]
mov byte [esi + 2], cl
mov dword [esi + 0x34], eax
cmp eax, ecx
jge 0x428c40
push 0x4b9a04
push 0x108ea
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
pop edi
push edi
call fcn.0040cdcd
add esp, 0x14
mov dword [esp + 0x14], edi
jmp 0x428c5d
push dword [esi + 0x28]
mov ecx, dword [esp + 0x84]
mov edx, eax
push dword [esp + 0x3c]
push edi
call fcn.0041ab29
add esp, 0xc
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x18]
mov dword [esi + 0x2c], eax
cmp byte [ebp + 1], 0xf7
setne al
mov byte [esi + 4], al
mov cl, byte [ebp + 2]
mov eax, dword [esi + 0x28]
and cl, 3
mov byte [eax + 3], cl
jmp 0x4274c6
mov ecx, dword [ebp + 8]
mov eax, dword [ebx + 0x60]
mov edx, dword [ebp + 4]
mov esi, dword [eax + ecx*4]
xor eax, eax
push eax
push 0xffffffffffffffff
mov ecx, ebx
movsx eax, word [esi + 0x38]
push eax
call fcn.00426594
mov ecx, eax
add esp, 0xc
test ecx, ecx
je 0x42b439
xor eax, eax
inc eax
or dword [ecx + 8], eax
mov byte [ecx + 2], al
mov edi, dword [esi + 0x2c]
mov dword [ecx + 0x2c], edi
mov al, byte [esi + 4]
mov byte [ecx + 4], al
mov edx, dword [esi + 0x34]
mov dword [ecx + 0x34], edx
mov eax, dword [esi + 8]
xor eax, dword [ecx + 8]
and eax, 4
xor dword [ecx + 8], eax
mov eax, dword [ecx + 0x28]
cmp edx, 1
jge 0x428cff
push 0x4b9a04
push 0x108ea
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.0040cdcd
add esp, 0x14
push 0xb
pop eax
jmp 0x428d10
mov ecx, dword [esi + 0xc]
push eax
push edi
push 4
pop eax
push eax
call fcn.0041ab29
add esp, 0xc
mov dword [esp + 0x14], eax
jmp 0x426bf9
mov eax, dword [ebx + 0x60]
mov edx, dword [ebp + 4]
mov esi, dword [eax + edx*4]
xor eax, eax
test esi, esi
je 0x428d4f
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], eax
mov dword [esi + 0x1c], eax
test ecx, ecx
je 0x428e72
mov edx, dword [esi + 0x34]
push eax
call fcn.0041f198
pop ecx
mov dword [esp + 0x14], eax
jmp 0x428e76
push eax
push 0xffffffffffffffff
push dword [ebp + 8]
mov ecx, ebx
call fcn.00426594
mov esi, eax
add esp, 0xc
test esi, esi
je 0x42b439
or dword [esi + 8], 1
lea edi, [esi + 0xc]
movzx ecx, word [ebp + 2]
xor edx, edx
push 0x41e
push 5
pop eax
or ecx, eax
mov eax, dword [esp + 0x14]
push ecx
push edi
push eax
mov ecx, dword [eax]
call fcn.004197b9
add esp, 0x10
mov dword [esp + 0x14], eax
test eax, eax
jne 0x428e54
mov ecx, dword [edi]
xor edx, edx
push eax
inc edx
call fcn.00419fa7
mov dword [esp + 0x18], eax
pop ecx
test eax, eax
jne 0x428e54
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x20], eax
mov dword [esi + 0x2c], eax
test eax, eax
je 0x428e30
movzx eax, word [ebp + 2]
mov ecx, dword [edi]
push 2
pop edx
or eax, edx
lea edx, [esi + 0x34]
push eax
call fcn.0041ee0c
mov dword [esp + 0x18], eax
pop ecx
test eax, eax
jne 0x428e29
mov edx, dword [esi + 0x34]
cmp edx, 1
jge 0x428e10
push 0x4b9a04
push 0x108ea
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.0040cdcd
add esp, 0x14
mov dword [esp + 0x14], 0xb
jmp 0x428e29
push dword [esi + 0x28]
mov ecx, dword [edi]
push dword [esp + 0x24]
push 4
pop eax
push eax
call fcn.0041ab29
add esp, 0xc
mov dword [esp + 0x14], eax
xor eax, eax
mov byte [esi + 4], al
jmp 0x428e54
push dword [esi + 0x28]
xor ecx, ecx
xor eax, eax
push ecx
push 4
inc eax
pop ecx
push ecx
mov ecx, dword [edi]
mov edx, eax
mov dword [esi + 0x34], eax
call fcn.0041ab29
add esp, 0xc
mov dword [esp + 0x14], eax
mov byte [esi + 4], 1
mov edi, dword [esp + 0x18]
xor ecx, ecx
push 8
pop eax
cmp word [ebp + 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 [esp + 0x14]
test eax, eax
jne 0x42b454
inc eax
mov byte [esi + 2], al
jmp 0x4272e1
mov edx, dword [ebp + 4]
mov ecx, ebx
push eax
push 0xffffffffffffffff
push dword [ebp + 8]
call fcn.00426594
add esp, 0xc
test eax, eax
je 0x42b43d
mov ecx, dword [ebp + 0x10]
mov dword [eax + 0x2c], ecx
mov ecx, esi
mov edx, dword [ebp + 0xc]
push eax
call fcn.0042c6ca
pop ecx
mov dword [esp + 0x14], eax
jmp 0x428b11
mov ecx, dword [ebp + 4]
mov eax, dword [ebx + 0x60]
mov edx, dword [eax + ecx*4]
mov edi, dword [edx + 0x10]
mov ecx, edi
mov esi, dword [edx + 0x14]
add ecx, 1
mov eax, esi
mov dword [edx + 0x10], ecx
adc eax, 0
or edi, esi
mov dword [edx + 0x14], eax
je 0x42b215
jmp 0x426bf9
mov edx, dword [ebp + 4]
mov ecx, ebx
push 3
push 0xffffffffffffffff
push dword [ebp + 0xc]
call fcn.00426594
add esp, 0xc
test eax, eax
je 0x42b43d
xor edx, edx
inc edx
mov byte [eax + 2], dl
mov ecx, dword [ebp + 8]
mov dword [eax + 0x20], ecx
mov byte [eax + 4], dl
mov dword [eax + 0x28], 0x4d5f4c
jmp 0x426c01
mov eax, dword [ebp + 4]
mov ecx, ebx
mov edx, dword [ebx + 0x60]
mov edx, dword [edx + eax*4]
call fcn.00422ede
mov ecx, dword [ebp + 4]
xor edx, edx
mov eax, dword [ebx + 0x60]
mov dword [eax + ecx*4], edx
jmp 0x426c01
mov ecx, dword [ebp + 4]
mov eax, dword [ebx + 0x60]
mov edi, dword [eax + ecx*4]
xor ecx, ecx
mov dword [esp + 0x48], ecx
mov word [edi + 2], cx
mov dword [edi + 0x1c], ecx
cmp byte [edi + 4], cl
je 0x429045
imul esi, dword [ebp + 0xc], 0x28
push 2
pop ecx
add esi, dword [esp + 0x18]
movzx eax, word [esi + 8]
mov dword [esp + 0x60], eax
and al, 0x2e
cmp al, cl
jne 0x428f81
xor edx, edx
mov ecx, esi
call fcn.0042665a
mov ecx, esi
call fcn.00420f51
movzx ecx, word [esi + 8]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x20], eax
mov word [esi + 8], dx
test cl, 0x24
jne 0x42900c
test cl, 8
jne 0x428fd7
test cl, 1
jne 0x42b215
cmp dword [esp + 0x1c], 0x18
jae 0x42b215
mov ecx, dword [edi + 0x28]
lea edx, [esp + 0x7c]
call fcn.0041b311
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42b454
jmp 0x42915e
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x20]
call fcn.00498500
movsd xmm1, qword [esi]
comisd xmm0, xmm1
jbe 0x428ff9
mov eax, dword [esp + 0x1c]
test al, 1
je 0x42900c
dec eax
jmp 0x429008
comisd xmm1, xmm0
jbe 0x42900c
mov eax, dword [esp + 0x1c]
test al, 1
jne 0x42900c
inc eax
mov dword [esp + 0x1c], eax
mov esi, dword [esp + 0x20]
lea eax, [esp + 0x7c]
mov ecx, dword [edi + 0x28]
xor edx, edx
push eax
xor eax, eax
push eax
push dword [esp + 0x40]
push esi
call fcn.0041b363
mov ecx, dword [esp + 0x48]
add esp, 0x10
mov dword [esp + 0x14], eax
mov dword [edi + 0x40], esi
mov dword [edi + 0x44], ecx
test eax, eax
jne 0x42b454
jmp 0x4290dc
mov eax, dword [edi + 0x28]
push 0
mov al, byte [eax + 3]
and al, 2
mov byte [esp + 0x33], al
pop eax
setne al
mov dword [esp + 0x48], eax
mov eax, dword [edi + 0x2c]
mov dword [esp + 0x120], eax
mov ax, word [ebp + 0x10]
mov word [esp + 0x128], ax
mov eax, edx
and al, 1
mov byte [esp + 0x12e], cl
neg al
lea edx, [esp + 0x120]
sbb al, al
and al, 0xfe
inc al
mov byte [esp + 0x12a], al
imul eax, dword [ebp + 0xc], 0x28
add eax, dword [esp + 0x18]
mov dword [esp + 0x124], eax
lea eax, [esp + 0x7c]
push eax
push ecx
push ecx
push ecx
mov ecx, dword [edi + 0x28]
call fcn.0041b363
add esp, 0x10
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42b454
cmp byte [esp + 0x2f], al
je 0x4290dc
cmp byte [esp + 0x12e], 0
mov eax, dword [esp + 0x48]
mov dword [esp + 0x48], eax
je 0x42915e
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x7c]
cmp eax, 0x18
jl 0x429110
test ecx, ecx
js 0x4290fc
jne 0x4290f4
cmp eax, 0x19
je 0x4290fc
xor eax, eax
mov dword [esp + 0x7c], eax
jmp 0x429169
xor eax, eax
push eax
mov dword [esp + 0x80], eax
push dword [edi + 0x28]
call fcn.0041b86d
jmp 0x42913d
test ecx, ecx
jg 0x42912b
jne 0x42911b
cmp eax, 0x16
je 0x42912b
mov eax, dword [edi + 0x28]
xor ecx, ecx
cmp byte [eax], cl
setne cl
mov dword [esp + 0x7c], ecx
jmp 0x42915e
xor eax, eax
push eax
mov dword [esp + 0x80], eax
push dword [edi + 0x28]
call fcn.0041b987
mov dword [esp + 0x1c], eax
pop ecx
pop ecx
test eax, eax
je 0x42915e
cmp eax, 0x65
jne 0x42b454
xor eax, eax
mov dword [esp + 0x7c], 1
mov dword [esp + 0x14], eax
cmp dword [esp + 0x7c], 0
jne 0x42b215
cmp dword [esp + 0x48], 0
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
je 0x426c01
push 0x14
pop eax
add ebp, eax
jmp 0x426c01
mov eax, dword [ebx + 0x60]
mov ecx, dword [ebp + 4]
push 8
pop edx
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebp + 8]
shl eax, 3
xor eax, dword [ecx + 8]
and eax, edx
xor dword [ecx + 8], eax
jmp 0x426c01
mov ecx, dword [ebp + 4]
mov eax, dword [ebx + 0x60]
mov eax, dword [eax + ecx*4]
test byte [eax + 8], 8
jne 0x426c01
mov ecx, dword [ebp + 4]
mov eax, dword [ebx + 0x60]
imul esi, dword [ebp + 0xc], 0x28
mov edi, dword [eax + ecx*4]
xor ecx, ecx
mov dword [esp + 0x20], edi
add esi, dword [esp + 0x18]
cmp dword [ebp + 0x10], ecx
jle 0x429202
mov eax, dword [edi + 0x2c]
lea edi, [esp + 0x168]
mov dword [esp + 0x168], eax
mov ax, word [ebp + 0x10]
mov dword [esp + 0x16c], esi
mov esi, dword [esp + 0x20]
mov word [esp + 0x170], ax
mov dword [esp + 0x38], ecx
jmp 0x429249
mov eax, 0x4000
test word [esi + 8], ax
je 0x42921c
mov ecx, esi
call fcn.00420cfc
test eax, eax
jne 0x42b439
mov ecx, dword [edi + 0x2c]
call fcn.00424034
mov edi, eax
mov dword [esp + 0x38], edi
test edi, edi
je 0x42b439
mov edx, dword [esi + 0xc]
push edi
push dword [esi + 0x10]
mov esi, dword [esp + 0x28]
mov ecx, dword [esi + 0x2c]
call fcn.0042408a
pop ecx
pop ecx
xor ecx, ecx
mov byte [edi + 0xa], cl
cmp byte [ebp], 0x1b
mov dword [esp + 0x20], ecx
jne 0x42927d
movzx edx, word [edi + 8]
test edx, edx
je 0x42927b
mov eax, dword [edi + 4]
add eax, 8
test byte [eax], 1
jne 0x429273
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x429264
jmp 0x42927b
mov dword [esp + 0x20], 1
xor ecx, ecx
lea eax, [esp + 0xc4]
mov edx, edi
push eax
push ecx
push ecx
push ecx
mov ecx, dword [esi + 0x28]
call fcn.0041b363
mov edx, dword [esp + 0x48]
add esp, 0x10
mov dword [esp + 0x14], eax
test edx, edx
je 0x4292ae
mov ecx, dword [esp + 0x10]
call fcn.0040b163
mov eax, dword [esp + 0x14]
xor ecx, ecx
test eax, eax
jne 0x42b456
mov eax, dword [esp + 0xc4]
mov dword [esi + 0x20], eax
mov eax, dword [esp + 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 [ebp], 0x1d
jne 0x4292eb
test ecx, ecx
jmp 0x427582
cmp dword [esp + 0x20], eax
jne 0x42b215
test ecx, ecx
jmp 0x428ede
imul esi, dword [ebp + 0xc], 0x28
add esi, edi
test byte [esi + 8], 0x24
jne case.0x426913.31
push 0xa
pop ecx
push dword [esp + 0x5c]
lea edi, [esp + 0x1a4]
mov dl, 0x43
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x1a4]
call fcn.0042670a
pop ecx
push 4
pop eax
test byte [esp + 0x1a8], al
je 0x42b215
mov edi, dword [esp + 0x1a0]
mov edx, dword [esp + 0x1a4]
jmp 0x429356
imul eax, dword [ebp + 0xc], 0x28
mov ecx, dword [esp + 0x18]
mov edi, dword [eax + edi]
mov edx, dword [eax + ecx + 4]
mov dword [esp + 0x20], edx
mov ecx, dword [ebp + 4]
mov eax, dword [ebx + 0x60]
mov esi, dword [eax + ecx*4]
xor eax, eax
mov ecx, dword [esi + 0x28]
mov dword [esp + 0xa8], eax
lea eax, [esp + 0xa8]
push eax
xor eax, eax
push eax
push edx
push edi
xor edx, edx
call fcn.0041b363
mov dword [esp + 0x24], eax
add esp, 0x10
mov eax, dword [esp + 0x20]
mov dword [esi + 0x44], eax
xor eax, eax
mov dword [esi + 0x40], edi
mov word [esi + 2], ax
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 0xa8]
mov dword [esi + 0x20], eax
cmp dword [esp + 0xa8], 0
je 0x4293cb
xor eax, eax
cmp dword [ebp + 8], eax
jne 0x42b215
push 0x4b9a04
push 0x159cf
jmp 0x42b2ce
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x42b454
jmp 0x426bf9
mov edx, ebp
mov ecx, ebx
call fcn.00426847
mov edx, dword [ebp + 4]
mov ecx, dword [ebx + 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 [ebp + 4]
mov eax, dword [ebx + 0x60]
mov eax, dword [eax + ecx*4]
pop ecx
add dword [eax + 0x10], 1
adc dword [eax + 0x14], ecx
jmp 0x426c01
xorps xmm0, xmm0
xor eax, eax
mov edx, ebp
movlpd qword [esp + 0x60], xmm0
mov ecx, ebx
mov dword [esp + 0x48], eax
call fcn.00426847
mov edx, dword [ebp + 4]
mov ecx, dword [ebx + 0x60]
push 2
mov dword [esp + 0x3c], eax
pop eax
mov edi, dword [ecx + edx*4]
mov dword [esp + 0x20], edi
test byte [edi + 8], al
jne 0x4294ad
mov ecx, dword [edi + 0x28]
lea edx, [esp + 0x48]
call fcn.0041b311
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42b454
cmp dword [esp + 0x48], eax
je 0x42946e
mov dword [esp + 0x60], 1
mov dword [esp + 0x64], eax
jmp 0x4294ad
mov esi, dword [edi + 0x28]
mov ecx, esi
call fcn.0041ac2b
mov ecx, dword [esi + 0x24]
mov eax, dword [esi + 0x20]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ecx
cmp ecx, 0x7fffffff
jl 0x42949d
jg 0x429495
cmp eax, 0xffffffff
jb 0x42949d
push 2
pop eax
or dword [edi + 8], eax
jmp 0x4294ad
add eax, 1
push 0
pop edx
adc ecx, edx
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ecx
mov edx, dword [ebp + 0xc]
test edx, edx
je 0x429538
mov eax, dword [ebx + 0xc8]
test eax, eax
jne 0x42951c
imul esi, edx, 0x28
add esi, dword [esp + 0x18]
mov ecx, esi
call fcn.0042106f
mov ecx, dword [esi]
mov edx, dword [esi + 4]
cmp ecx, 0xffffffff
jne 0x4294e6
cmp edx, 0x7fffffff
je 0x42959c
push 2
pop eax
test byte [edi + 8], al
jne 0x42959c
mov edi, dword [esp + 0x64]
add ecx, 1
push 0
pop eax
adc edx, eax
cmp edi, edx
jg 0x42952b
jl 0x42950c
mov eax, dword [esp + 0x60]
cmp eax, ecx
jae 0x42952f
mov eax, ecx
mov edi, edx
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edi
jmp 0x42952f
mov eax, ecx
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x42951a
imul esi, edx, 0x28
add esi, dword [eax + 0x10]
jmp 0x4294c9
mov eax, dword [esp + 0x60]
mov dword [esi + 4], edi
mov edi, dword [esp + 0x20]
mov dword [esi], eax
push 2
pop eax
test byte [edi + 8], al
je 0x4295a3
xor eax, eax
mov esi, eax
lea eax, [esp + 0x60]
push eax
push 8
pop eax
push eax
call fcn.0040ce4d
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
and eax, 0x3fffffff
push 0
add ecx, 1
pop edx
adc eax, edx
mov dword [esp + 0x68], ecx
lea edx, [esp + 0x50]
mov dword [esp + 0x6c], eax
push edx
xor edx, edx
push edx
push eax
push ecx
mov ecx, dword [edi + 0x28]
call fcn.0041b363
add esp, 0x18
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42b454
cmp dword [esp + 0x48], eax
jne 0x4295a3
inc esi
cmp esi, 0x64
jl 0x429544
push 0xd
jmp 0x42b453
mov edx, dword [esp + 0x38]
xor eax, eax
mov byte [edi + 3], al
mov dword [edi + 0x1c], eax
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp 0x426bf9
imul esi, dword [ebp + 8], 0x28
mov ecx, dword [ebp + 4]
mov eax, dword [ebx + 0x60]
mov edx, dword [esp + 0x18]
add esi, edi
mov edi, dword [eax + ecx*4]
imul eax, dword [ebp + 0xc], 0x28
cmp byte [ebp + 1], 0xfa
mov ecx, dword [eax + edx]
mov eax, dword [eax + edx + 4]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x60], eax
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], eax
jne 0x42961e
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp dword [eax + 0xe8], ecx
je 0x42961e
movsx ecx, byte [edi + 1]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8]
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x20], ecx
jmp 0x429624
xor eax, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x38], eax
movzx eax, word [ebp + 2]
mov edx, eax
test al, 1
je 0x429639
inc dword [ebx + 0x2c]
movzx edx, word [ebp + 2]
movzx ecx, dx
test dl, 0x20
je 0x429657
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x48]
mov dword [ecx + 0x28], eax
mov eax, dword [esp + 0x60]
mov dword [ecx + 0x2c], eax
movzx ecx, word [ebp + 2]
mov eax, dword [esi + 0x10]
mov dword [esp + 0xe0], eax
mov eax, dword [esi + 0xc]
push 0x10
mov dword [esp + 0xf0], eax
pop eax
test al, cl
je 0x429677
mov edx, dword [edi + 0x20]
jmp 0x42967b
xor eax, eax
mov edx, eax
mov eax, 0x4000
test word [esi + 8], ax
push 0
pop eax
je 0x429696
mov eax, dword [esi]
mov dword [esp + 0xf0], eax
xor eax, eax
jmp 0x42969d
mov dword [esp + 0xf0], eax
push edx
and ecx, 0xa
mov dword [esp + 0xd4], eax
push ecx
mov ecx, dword [edi + 0x28]
lea edx, [esp + 0xd8]
call fcn.0041e73e
pop ecx
pop ecx
xor ecx, ecx
mov dword [esp + 0x14], eax
mov byte [edi + 3], cl
mov dword [edi + 0x1c], ecx
test eax, eax
jne 0x42b456
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x10]
test eax, eax
je 0x426bfd
push dword [esp + 0xdc]
push dword [esp + 0xdc]
push dword [eax]
push dword [esp + 0x44]
push 4
pop eax
test byte [ebp + 2], al
push 0x12
pop eax
push 0x17
pop ecx
cmovne eax, ecx
push eax
push dword [esi + 0xe4]
call dword [esi + 0xe8]
add esp, 0x18
jmp 0x426bfd
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 4]
mov dword [esp + 0x48], eax
mov eax, dword [ebx + 0x60]
mov edi, dword [eax + ecx*4]
xor eax, eax
cmp byte [ebp + 1], 0xfa
jne 0x429777
cmp dword [esi + 0xe8], eax
je 0x429777
movsx ecx, byte [edi + 1]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov esi, dword [ebp + 0x10]
push 2
mov dword [esp + 0x3c], esi
mov eax, dword [eax + ecx*8]
mov dword [esp + 0x24], eax
pop eax
test byte [ebp + 2], al
je 0x42977d
cmp byte [edi + 4], 0
je 0x42977d
mov esi, dword [edi + 0x28]
mov ecx, esi
call fcn.0041ac2b
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x24]
mov esi, dword [esp + 0x38]
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], ecx
jmp 0x42977d
mov dword [esp + 0x20], eax
mov esi, eax
mov dl, byte [ebp + 2]
mov ecx, dword [edi + 0x28]
call fcn.0041eaf4
xor ecx, ecx
mov dword [esp + 0x14], eax
mov dword [edi + 0x1c], ecx
mov dword [edi + 0x20], ecx
test eax, eax
jne 0x42b456
inc eax
test byte [esp + 0x48], al
je 0x426e04
mov eax, dword [esp + 0x10]
inc dword [ebx + 0x2c]
mov eax, dword [eax + 0xe8]
test eax, eax
je 0x426bf9
test byte [esi + 0x24], 0x20
jne 0x426bf9
push dword [edi + 0x44]
push dword [edi + 0x40]
push dword [esi]
mov esi, dword [esp + 0x1c]
push dword [esp + 0x2c]
push 9
push dword [esi + 0xe4]
call eax
jmp 0x42970e
mov eax, dword [ebx + 0x2c]
add dword [esi + 0x68], eax
mov dword [esi + 0x64], eax
xor eax, eax
mov dword [ebx + 0x2c], eax
jmp 0x426c01
mov eax, dword [ebx + 0x60]
mov ecx, dword [ebp + 4]
imul edx, dword [ebp + 0xc], 0x28
mov ecx, dword [eax + ecx*4]
xor eax, eax
mov dword [esp + 0xbc], eax
lea eax, [esp + 0xbc]
push eax
push dword [ebp + 0x10]
add edx, edi
call fcn.0042d961
mov dword [esp + 0x1c], eax
pop ecx
pop ecx
test eax, eax
jne 0x42b454
cmp dword [esp + 0xbc], eax
jmp 0x426977
imul edx, dword [ebp + 8], 0x28
mov ecx, dword [ebp + 4]
mov eax, dword [ebx + 0x60]
add edx, edi
mov ecx, dword [eax + ecx*4]
call fcn.0042d90b
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42b454
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebx + 0x60]
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [eax + 0x1c], ecx
jmp 0x426c01
mov edx, ebp
mov ecx, ebx
call fcn.00426847
mov edx, dword [ebp + 4]
mov esi, eax
mov ecx, dword [ebx + 0x60]
mov ecx, dword [ecx + edx*4]
mov edi, dword [ecx + 0x28]
mov ecx, edi
call fcn.0041ac2b
mov ecx, dword [esp + 0x10]
mov eax, dword [edi + 0x2c]
cmp eax, dword [ecx + 0x6c]
ja 0x42a8ad
push esi
push eax
xor edx, edx
mov ecx, edi
call fcn.004216e0
mov dword [esp + 0x1c], eax
pop ecx
pop ecx
test eax, eax
jne 0x42b454
cmp dword [ebp + 0xc], eax
jne 0x426bf9
mov eax, 0x1000
test word [esi + 8], ax
je 0x426bf9
mov ecx, esi
call fcn.00420cb6
mov esi, dword [esp + 0x10]
test eax, eax
jne 0x42b43d
jmp 0x426bfd
mov edx, ebp
mov ecx, ebx
call fcn.00426847
mov edx, dword [ebp + 4]
mov edi, eax
mov ecx, dword [ebx + 0x60]
mov esi, dword [ecx + edx*4]
cmp byte [esi + 2], 0
je 0x42990a
xor eax, eax
inc eax
mov word [edi + 8], ax
jmp 0x426e04
cmp byte [esi + 3], 0
je 0x42991b
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x44]
jmp 0x42999d
push 2
pop eax
cmp byte [esi], al
jne 0x429960
mov ecx, dword [esi + 0x28]
lea edx, [esp + 0xb0]
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 [esp + 0x14], eax
mov ecx, ebx
call fcn.00424ef9
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x42b454
mov ecx, dword [esp + 0xb4]
mov eax, dword [esp + 0xb0]
jmp 0x4299ab
mov eax, dword [esi + 0x28]
cmp byte [eax], 0
je 0x42997d
mov ecx, esi
call fcn.00423cfd
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42b454
jmp 0x429983
xor eax, eax
mov dword [esp + 0x14], eax
cmp byte [esi + 2], 0
jne 0x4298fe
mov esi, dword [esi + 0x28]
mov ecx, esi
call fcn.0041ac2b
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x24]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb0], eax
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x426bf9
mov ecx, dword [ebp + 4]
mov eax, dword [ebx + 0x60]
mov esi, dword [eax + ecx*4]
xor eax, eax
xor ecx, ecx
inc eax
mov byte [esi + 2], al
mov dword [esi + 0x1c], ecx
cmp byte [esi], cl
jne 0x4272e1
mov esi, dword [esi + 0x28]
push dword [esi + 0x10]
call fcn.0040b11b
xor eax, eax
mov dword [esi + 0x10], eax
inc eax
pop ecx
mov byte [esi], al
jmp 0x4272e1
mov ecx, dword [ebp + 4]
mov eax, dword [ebx + 0x60]
mov esi, dword [eax + ecx*4]
xor eax, eax
cmp byte [esp + 0x2f], 0x82
mov ecx, dword [esi + 0x28]
mov dword [esp + 0x8c], eax
jne 0x429a12
or dword [esi + 0x20], 0xffffffff
cmp byte [ecx], al
je 0x4269cf
lea edx, [esp + 0x8c]
call fcn.0041b311
mov dword [esp + 0x14], eax
mov al, byte [esp + 0x8c]
mov byte [esi + 2], al
xor eax, eax
mov byte [esi + 3], al
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x42b454
cmp dword [ebp + 8], eax
jle 0x4269cf
cmp dword [esp + 0x8c], eax
jne 0x42b215
jmp 0x4269cf
mov ecx, dword [ebp + 4]
lea edx, [esp + 0x98]
mov eax, dword [ebx + 0x60]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + 0x28]
mov ecx, esi
call fcn.0041b2e7
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42b454
cmp dword [esp + 0x98], eax
jne 0x42b215
mov ecx, esi
call fcn.0041b750
xor ecx, ecx
cmp edx, ecx
jl 0x429ac4
jg 0x429aa1
cmp eax, ecx
jb 0x429ac4
push edx
push eax
call fcn.0040e7bd
pop ecx
pop ecx
mov ecx, dword [esp + 0x98]
cwde
cmp eax, dword [ebp + 0xc]
push 1
pop eax
cmovl ecx, eax
mov dword [esp + 0x98], ecx
jmp 0x429ace
mov ecx, dword [esp + 0x98]
xor eax, eax
inc eax
test ecx, ecx
jne 0x42b215
jmp 0x4272e1
inc dword [ebx + 0xac]
mov eax, dword [ebx + 0x60]
lea edx, [esp + 0x9c]
mov ecx, dword [ebp + 4]
mov esi, dword [eax + ecx*4]
xor eax, eax
inc eax
mov dword [esp + 0x9c], eax
cmp byte [esi], al
jne 0x429b0a
mov ecx, esi
call fcn.0042d831
xor ecx, ecx
jmp 0x429b1a
mov ecx, dword [esi + 0x28]
call fcn.0041b2e7
xor ecx, ecx
mov byte [esi + 3], cl
mov dword [esi + 0x1c], ecx
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42b456
mov al, byte [esp + 0x9c]
mov byte [esi + 2], al
cmp dword [esp + 0x9c], 0
jmp 0x429a50
mov ecx, dword [ebp + 4]
mov eax, dword [ebx + 0x60]
mov esi, dword [eax + ecx*4]
mov edx, esi
mov ecx, dword [esp + 0x10]
call fcn.0042d87d
jmp 0x429b67
mov ecx, dword [ebp + 4]
mov eax, dword [ebx + 0x60]
push dword [ebp + 0xc]
mov esi, dword [eax + ecx*4]
push dword [esi + 0x28]
call dword [ebp + 0x10]
pop ecx
pop ecx
mov dword [esp + 0x14], eax
xor ecx, ecx
mov dword [esi + 0x1c], ecx
test eax, eax
jne 0x429b87
mov byte [esi + 2], al
movzx eax, word [ebp + 2]
inc dword [ebx + eax*4 + 0xa4]
jmp 0x42ae13
cmp eax, 0x65
jne 0x42b456
xor eax, eax
mov dword [esp + 0x14], eax
inc eax
mov byte [esi + 2], al
jmp 0x42a27f
mov ecx, dword [ebp + 4]
mov eax, dword [ebx + 0x60]
imul esi, dword [ebp + 8], 0x28
mov edi, dword [eax + ecx*4]
mov ecx, dword [esp + 0x18]
add esi, ecx
test byte [ebp + 2], 1
je 0x429bbb
inc dword [ebx + 0x2c]
mov eax, 0x4000
test word [esi + 8], ax
je 0x429bd9
mov ecx, esi
call fcn.00420cfc
test eax, eax
jne 0x42b454
mov ecx, dword [esp + 0x18]
cmp byte [ebp], 0x83
jne 0x429bec
mov edx, esi
mov ecx, edi
call fcn.0042cfda
xor ecx, ecx
jmp 0x429c4e
mov eax, dword [esi + 0xc]
cdq
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], edx
mov eax, dword [esi + 0x10]
mov dword [esp + 0xd0], eax
imul eax, dword [ebp + 0xc], 0x28
push 0x10
add eax, ecx
mov dword [esp + 0xe8], eax
mov ax, word [ebp + 0x10]
mov word [esp + 0xec], ax
movzx eax, word [ebp + 2]
pop ecx
test cl, al
je 0x429c31
mov ecx, dword [edi + 0x20]
jmp 0x429c33
xor ecx, ecx
push ecx
mov ecx, dword [edi + 0x28]
lea edx, [esp + 0xd4]
and eax, 0xa
push eax
call fcn.0041e73e
pop ecx
pop ecx
xor ecx, ecx
mov dword [edi + 0x1c], ecx
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42b456
jmp 0x426bf9
mov ecx, dword [ebp + 4]
lea edx, [esp + 0x140]
mov eax, dword [ebx + 0x60]
mov esi, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [esi + 0x2c]
mov edi, dword [esi + 0x28]
mov dword [esp + 0x140], eax
mov ax, word [ebp + 0xc]
mov word [esp + 0x148], ax
imul eax, dword [ebp + 8], 0x28
mov byte [esp + 0x14a], cl
add eax, dword [esp + 0x18]
mov dword [esp + 0x144], eax
lea eax, [esp + 0x110]
push eax
push ecx
push ecx
push ecx
mov ecx, edi
call fcn.0041b363
add esp, 0x10
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42b454
cmp dword [esp + 0x110], eax
jne 0x429ce2
push 4
pop eax
mov dl, al
mov ecx, edi
call fcn.0041eaf4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42b454
xor eax, eax
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], eax
jmp 0x426bf9
mov eax, dword [ebx + 0x60]
mov ecx, dword [ebp + 4]
mov esi, dword [eax + ecx*4]
mov eax, dword [esi + 0x28]
cmp byte [eax], 0
je 0x429d15
mov ecx, esi
call fcn.00423cfd
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42b454
jmp 0x429d1b
xor eax, eax
mov dword [esp + 0x14], eax
cmp byte [esi + 2], 0
jne 0x429dad
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0xc8]
xorps xmm0, xmm0
movlpd qword [esp + 0xc8], xmm0
mov edx, dword [esi + 0x28]
push eax
call fcn.00424d4a
mov dword [esp + 0x18], eax
pop ecx
test eax, eax
jne 0x42b454
cmp byte [ebp], 0x86
jne 0x429d8c
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebx + 0x60]
mov edx, dword [eax + ecx*4]
xor eax, eax
mov byte [edx + 2], al
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xcc]
mov dword [edx + 0x40], eax
mov dword [edx + 0x44], ecx
mov byte [edx + 3], 1
mov eax, dword [ebp + 0x10]
mov dword [edx + 0x18], eax
mov dword [edx + 0x24], esi
jmp 0x4269cf
mov edx, ebp
mov ecx, ebx
call fcn.00426847
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xcc]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp 0x4269cf
imul eax, dword [ebp + 8], 0x28
mov ecx, 0x2400
add eax, edi
test word [eax + 8], cx
je 0x429dc5
mov ecx, eax
jmp 0x4272d0
xor ecx, ecx
inc ecx
mov word [eax + 8], cx
jmp 0x4269cf
mov ecx, dword [ebp + 4]
mov eax, dword [ebx + 0x60]
cmp byte [esp + 0x2f], 0x27
mov edx, dword [eax + ecx*4]
mov ecx, esi
mov eax, dword [edx + 0x2c]
mov dword [esp + 0x150], eax
mov ax, word [ebp + 0x10]
mov word [esp + 0x158], ax
sbb al, al
mov byte [esp + 0x15a], al
imul eax, dword [ebp + 0xc], 0x28
add eax, edi
mov dword [esp + 0x154], eax
xor eax, eax
mov dword [esp + 0xa0], eax
lea eax, [esp + 0xa0]
push eax
lea eax, [esp + 0x154]
push eax
call fcn.00424e3f
test byte [ebp], 1
pop ecx
pop ecx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x14], eax
je 0x429e42
neg ecx
jmp 0x429e47
mov eax, dword [esp + 0x14]
inc ecx
mov dword [esp + 0xa0], ecx
test eax, eax
jne 0x42b454
test ecx, ecx
jg 0x42b215
jmp 0x426c01
mov edx, ebp
mov ecx, ebx
call fcn.00426847
mov edx, dword [esp + 0x10]
mov esi, eax
xor eax, eax
inc eax
mov word [esi + 8], ax
mov ecx, dword [edx + 0xc0]
inc ecx
cmp dword [edx + 0xb4], ecx
jg 0x42b3b1
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov dword [esp + 0xa4], ecx
mov ecx, eax
mov dword [esp + 0x20], eax
add ecx, ecx
mov eax, dword [edx + 0x10]
lea edx, [esp + 0xa4]
push edx
mov edx, dword [ebp + 4]
mov ecx, dword [eax + ecx*8 + 4]
call fcn.0041f1d5
pop ecx
mov dword [esp + 0x14], eax
push 4
pop eax
mov word [esi + 8], ax
mov eax, dword [esp + 0xa4]
cdq
mov dword [esi], eax
mov eax, dword [esp + 0x14]
mov dword [esi + 4], edx
test eax, eax
jne 0x42b454
mov esi, dword [esp + 0x10]
cmp dword [esp + 0xa4], eax
je 0x426c01
push dword [ebp + 4]
mov edx, dword [esp + 0x24]
mov ecx, esi
push dword [esp + 0xa8]
call fcn.0043ae02
mov al, byte [esp + 0x28]
pop ecx
inc al
pop ecx
mov byte [esp + 0x7b], al
jmp 0x426c01
xor edx, edx
lea eax, [esp + 0x20]
xor ecx, ecx
mov dword [esp + 0x20], edx
cmp dword [ebp + 0xc], edx
mov edx, dword [ebp + 4]
cmove eax, ecx
mov ecx, dword [esi + 0x10]
push eax
mov eax, dword [ebp + 8]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0041f198
pop ecx
xor ecx, ecx
mov dword [esp + 0x14], eax
cmp dword [ebp + 0xc], ecx
je 0x428a55
mov edx, dword [esp + 0x20]
add dword [ebx + 0x2c], edx
mov ecx, dword [ebp + 0xc]
test ecx, ecx
jle 0x428a53
imul ecx, ecx, 0x28
mov eax, edx
cdq
add dword [ecx + edi], eax
adc dword [ecx + edi + 4], edx
jmp 0x428a4f
mov ecx, dword [ebp + 4]
mov eax, dword [ebx + 0x60]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx], 1
jne 0x429f8b
mov edx, dword [ecx + 0x28]
mov ecx, esi
call fcn.0042c8a8
jmp 0x426c01
mov ecx, dword [ecx + 0x28]
xor eax, eax
push eax
mov edx, dword [ecx + 0x40]
mov ecx, dword [ecx + 8]
call fcn.0041f198
jmp 0x428eb3
mov edx, ebp
mov ecx, ebx
call fcn.00426847
mov edx, dword [ebp + 4]
mov esi, eax
push dword [ebp + 0xc]
xor eax, eax
add edx, edx
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x10]
mov ecx, dword [ecx + edx*8 + 4]
lea edx, [esp + 0xc4]
call fcn.0041ee0c
mov dword [esp + 0x18], eax
pop ecx
test eax, eax
jne 0x42b454
mov eax, dword [esp + 0xc0]
jmp 0x4269c9
inc byte [esi + 0x5a]
xor eax, eax
push eax
push eax
push eax
push dword [ebp + 0x10]
push esi
call fcn.00444c0e
add esp, 0x14
mov dword [esp + 0x14], eax
dec byte [esi + 0x5a]
jmp 0x428b11
cmp dword [ebp + 0x10], 0
mov esi, dword [ebp + 4]
mov edi, dword [esp + 0x10]
jne 0x42a056
mov eax, dword [edi + 0x10]
mov ecx, esi
add ecx, ecx
push dword [eax + ecx*8 + 0xc]
call fcn.0043db3e
and dword [edi + 0x18], 0xffffffef
lea eax, [ebx + 0x7c]
pop ecx
mov edx, esi
mov esi, edi
push 1
push eax
mov ecx, esi
call fcn.00448186
or dword [esi + 0x18], 1
and dword [ebx + 0x98], 0xfffffffc
pop ecx
pop ecx
mov dword [esp + 0x14], eax
jmp 0x42a12b
push dword [ebp + 0x10]
lea eax, [ebx + 0x7c]
mov dword [esp + 0xdc], esi
mov dword [esp + 0xd8], eax
add esi, esi
xor eax, eax
mov dword [esp + 0xd4], edi
mov dword [esp + 0xe4], eax
mov eax, dword [edi + 0x10]
push str.sqlite_master
push dword [eax + esi*8]
push str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
push edi
call fcn.0040ccdc
mov esi, eax
add esp, 0x14
test esi, esi
je 0x42b3c2
xor eax, eax
mov byte [edi + 0xa5], 1
push eax
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe8], eax
lea eax, [esp + 0xd4]
push eax
push fcn.00447ffd
push esi
push edi
call fcn.00444c0e
add esp, 0x14
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42a112
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42a112
cmp dword [esp + 0xe4], eax
jne 0x42a112
push 0x4b9a04
push 0x15f51
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
pop edi
push edi
call fcn.0040cdcd
add esp, 0x14
mov dword [esp + 0x14], edi
mov edx, esi
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.0040b163
xor eax, eax
mov byte [esi + 0xa5], al
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x42b3cb
jmp 0x426bfd
mov edx, dword [ebp + 4]
mov ecx, esi
call fcn.00437bdc
jmp 0x428eb4
push dword [ebp + 0x10]
mov edx, dword [ebp + 4]
mov ecx, esi
call fcn.004390a3
jmp 0x426d7a
push dword [ebp + 0x10]
mov edx, dword [ebp + 4]
mov ecx, esi
call fcn.00438d78
jmp 0x426d7a
push dword [ebp + 0x10]
mov edx, dword [ebp + 4]
mov ecx, esi
call fcn.00450616
jmp 0x426d7a
imul esi, dword [ebp + 0xc], 0x28
lea eax, [esp + 0x114]
mov ecx, dword [esp + 0x10]
mov edx, dword [ebp + 0x10]
push eax
add edx, 4
mov ecx, dword [ecx + 0x10]
add esi, edi
imul edi, dword [ebp + 4], 0x28
mov eax, dword [esi]
add edi, dword [esp + 0x1c]
inc eax
push eax
movzx eax, word [ebp + 2]
push dword [ebp + 8]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0041fdab
add esp, 0xc
mov dword [esp + 0x20], eax
mov ecx, edi
call fcn.0042129c
mov eax, dword [esp + 0x114]
test eax, eax
je 0x42a1f7
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x42b439
dec eax
cdq
sub dword [esi], eax
push fcn.0040b11b
sbb dword [esi + 4], edx
mov edx, ecx
push 1
push 0xffffffffffffffff
mov ecx, edi
call fcn.004214cf
add esp, 0xc
movzx edx, byte [esp + 0x5c]
mov ecx, edi
call fcn.00420b44
jmp 0x426bf9
imul esi, dword [ebp + 4], 0x28
push 0x10
pop eax
add esi, edi
imul edi, dword [ebp + 8], 0x28
add edi, dword [esp + 0x18]
test byte [esi + 8], al
jne 0x42a22d
mov ecx, esi
call fcn.00421339
test eax, eax
jne 0x42b439
push dword [edi + 4]
mov ecx, dword [esi + 0x10]
push dword [edi]
call fcn.00411ea0
pop ecx
jmp 0x427ea2
imul esi, dword [ebp + 4], 0x28
push 0x10
pop eax
add esi, edi
test byte [esi + 8], al
je 0x42a29a
mov ecx, dword [esi + 0x10]
lea edx, [esp + 0x130]
call fcn.00412093
test eax, eax
je 0x42a29a
imul ecx, dword [ebp + 0xc], 0x28
push dword [esp + 0x134]
push dword [esp + 0x134]
add ecx, edi
call fcn.00421304
pop ecx
pop ecx
xor eax, eax
inc eax
mov esi, dword [esp + 0x10]
xor ecx, ecx
cmp dword [esi + 0x108], ecx
jne 0x42b6ca
mov edi, dword [esp + 0x18]
jmp case.0x426913.86
mov ecx, esi
call fcn.0042129c
jmp 0x42ae13
imul esi, dword [ebp + 4], 0x28
mov eax, dword [ebp + 0x10]
push 0x10
pop ecx
mov dword [esp + 0x20], eax
add esi, edi
imul edi, dword [ebp + 0xc], 0x28
add edi, dword [esp + 0x18]
test byte [esi + 8], cl
jne 0x42a2d6
mov ecx, esi
call fcn.00421339
test eax, eax
jne 0x42b439
mov eax, dword [esp + 0x20]
test eax, eax
je 0x42a22d
push dword [edi + 4]
mov ecx, dword [esi + 0x10]
mov edx, eax
push dword [edi]
call fcn.004120eb
pop ecx
pop ecx
test eax, eax
jne 0x42b215
cmp dword [esp + 0x20], eax
jl 0x426bf9
jmp 0x42a22d
imul edi, dword [ebp + 0xc], 0x28
xor eax, eax
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x20], esi
add edi, dword [esp + 0x18]
cmp word [ebp + 2], ax
je 0x42a338
mov ecx, dword [esi + 0x14]
mov eax, dword [ebx + 0xc8]
jmp 0x42a334
cmp dword [eax + 0x1c], ecx
je 0x426bf9
mov eax, dword [eax + 4]
test eax, eax
jne 0x42a328
mov ecx, dword [esp + 0x10]
mov eax, dword [ebx + 0xd0]
cmp eax, dword [ecx + 0x94]
jge 0x42b3df
push 0x10
pop edx
test byte [edi + 8], dl
jne 0x42a444
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 [esp + 0x48], 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 0x42a385
add eax, 7
sar eax, 3
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x38], eax
cdq
push edx
push eax
call fcn.0040b2ea
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x42b439
mov ecx, edi
call fcn.00420ee0
mov ecx, dword [esp + 0x48]
mov eax, 0x410
sub ebp, dword [esp + 0x58]
mov word [edi + 8], ax
mov eax, dword [esp + 0x38]
mov dword [edi + 0xc], eax
mov dword [edi + 0x10], esi
mov dword [edi + 0x24], 0x42282b
mov edi, dword [esp + 0x20]
mov dword [esi + 0x3c], ecx
mov dword [esi], ebx
push 0x14
mov eax, dword [edi + 0xc]
mov dword [esi + 0x40], eax
mov eax, ebp
cdq
pop ebp
idiv ebp
mov dword [esi + 0x30], eax
mov eax, dword [ebx + 0x58]
mov dword [esi + 0x10], eax
mov eax, dword [ebx + 0x18]
mov dword [esi + 0x38], eax
mov eax, dword [ebx + 0x60]
mov dword [esi + 0x14], eax
mov eax, dword [ebx + 0x1c]
mov dword [esi + 0x2c], eax
mov eax, dword [ebx + 0x68]
mov dword [esi + 8], eax
mov eax, dword [ebx + 0x6c]
mov dword [esi + 0x34], eax
mov eax, dword [edi + 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 0x42a438
mov edx, dword [esp + 0x10]
add ebp, 0x6c
mov word [eax + 8], bp
mov dword [eax + 0x20], edx
add eax, 0x28
cmp eax, ecx
jne 0x42a42a
mov eax, dword [ebx + 0xd0]
mov ecx, dword [esp + 0x10]
jmp 0x42a44b
mov esi, dword [edi + 0x10]
mov edi, dword [esp + 0x20]
inc eax
lea edx, [esi + 0x50]
mov dword [ebx + 0xd0], eax
mov eax, dword [ebx + 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 [ebx + 0x2c]
mov dword [esi + 0x44], eax
mov eax, dword [ebx]
push 7
pop ebp
mov dword [esp + 0x18], edx
mov eax, dword [eax + 0x64]
mov dword [esi + 0x48], eax
mov eax, dword [ebx + 0xdc]
mov dword [esi + 0x28], eax
xor eax, eax
mov dword [ebx + 0xdc], eax
mov dword [ebx + 0x2c], eax
mov dword [ebx + 0x58], edx
mov dword [ebx + 0xc8], esi
mov ecx, dword [esi + 0x3c]
mov dword [ebx + 0x18], ecx
movzx eax, word [esi + 0x40]
imul ecx, ecx, 0x28
mov dword [ebx + 0x1c], eax
add ecx, edx
mov dword [ebx + 0x60], ecx
mov eax, dword [edi + 0xc]
lea ecx, [ecx + eax*4]
mov dword [esi + 0x18], ecx
mov eax, dword [edi + 4]
add eax, ebp
cdq
and edx, ebp
add eax, edx
sar eax, 3
push eax
xor eax, eax
push eax
push ecx
call fcn.00478810
mov edx, dword [edi]
add esp, 0xc
mov dword [ebx + 0x68], edx
mov eax, dword [edi + 4]
mov dword [esp + 0x58], edx
mov dword [ebx + 0x6c], eax
lea ebp, [edx - 0x14]
jmp 0x42a27c
mov edx, ebp
mov ecx, ebx
call fcn.00426847
mov esi, dword [ebx + 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 [ebp + 4]
imul edx, ecx, 0x28
mov ecx, eax
add edx, dword [esi + 0x10]
call fcn.004213ec
jmp 0x427980
mov eax, dword [esi + 0x20]
xor edx, edx
and eax, 0x80000
or eax, edx
mov eax, dword [ebp + 8]
je 0x42a543
cdq
add dword [esi + 0x1c8], eax
adc dword [esi + 0x1cc], edx
jmp 0x426c01
cmp dword [ebp + 4], edx
cdq
je 0x42a55a
add dword [esi + 0x1c0], eax
adc dword [esi + 0x1c4], edx
jmp 0x426c01
add dword [ebx + 0x40], eax
adc dword [ebx + 0x44], edx
jmp 0x426c01
xor eax, eax
cmp dword [ebp + 4], eax
je 0x42a58f
mov eax, dword [esi + 0x1c0]
or eax, dword [esi + 0x1c4]
jne 0x426c01
mov eax, dword [esi + 0x1c8]
or eax, dword [esi + 0x1cc]
jmp 0x427a8b
mov eax, dword [ebx + 0x40]
or eax, dword [ebx + 0x44]
jmp 0x42a578
mov eax, dword [ebx + 0xc8]
test eax, eax
jne 0x42a5e2
imul edi, dword [ebp + 4], 0x28
add edi, dword [esp + 0x18]
mov ecx, edi
call fcn.0042106f
imul esi, dword [ebp + 8], 0x28
add esi, dword [esp + 0x18]
mov ecx, esi
call fcn.0042106f
mov ecx, dword [esi + 4]
mov eax, dword [esi]
cmp dword [edi + 4], ecx
jg 0x426bf9
jl 0x4299ab
cmp dword [edi], eax
jae 0x426bf9
jmp 0x4299ab
mov eax, ecx
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x42a5e0
imul edi, dword [ebp + 4], 0x28
add edi, dword [eax + 0x10]
jmp 0x42a5a9
imul ecx, dword [ebp + 4], 0x28
xor edx, edx
add ecx, edi
mov edi, dword [ecx + 4]
mov esi, dword [ecx]
cmp edi, edx
jl 0x426e04
jg 0x42a611
cmp esi, edx
jbe 0x426e04
mov eax, dword [ebp + 0xc]
cdq
sub esi, eax
mov dword [ecx], esi
sbb edi, edx
mov dword [ecx + 4], edi
jmp 0x42b215
imul esi, dword [ebp + 4], 0x28
mov edx, ebp
mov ecx, ebx
add esi, edi
imul edi, dword [ebp + 0xc], 0x28
add edi, dword [esp + 0x18]
call fcn.00426847
mov ecx, dword [esi + 4]
mov edx, dword [esi]
xor esi, esi
mov dword [esp + 0x20], eax
mov dword [esp + 0xf8], edx
mov dword [esp + 0xfc], ecx
cmp ecx, esi
jl 0x42a6b0
jg 0x42a65f
xor ecx, ecx
cmp edx, ecx
jbe 0x42a6b0
mov ecx, dword [edi + 4]
xor edx, edx
mov eax, dword [edi]
cmp ecx, edx
jl 0x42a670
jg 0x42a681
cmp eax, edx
ja 0x42a681
xorps xmm0, xmm0
movlpd qword [esp + 0x38], xmm0
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
push ecx
push eax
lea ecx, [esp + 0x100]
call fcn.0040e585
pop ecx
pop ecx
test eax, eax
jne 0x42a6ac
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0x20]
jmp 0x4295b7
mov eax, dword [esp + 0x20]
or dword [eax], 0xffffffff
or dword [eax + 4], 0xffffffff
jmp 0x426bf9
imul ecx, dword [ebp + 4], 0x28
add ecx, edi
mov edx, dword [ecx]
mov eax, edx
mov esi, dword [ecx + 4]
or eax, esi
je 0x4269cf
xor eax, eax
cmp esi, eax
jl 0x42b215
jg 0x42a6e5
cmp edx, eax
jbe 0x42b215
sub edx, 1
mov dword [ecx], edx
sbb esi, eax
mov dword [ecx + 4], esi
jmp 0x42b215
imul edx, dword [ebp + 4], 0x28
add edx, edi
mov ecx, dword [edx + 4]
mov eax, dword [edx]
cmp ecx, 0x80000000
jl 0x42a718
jg 0x42a70d
test eax, eax
je 0x42a718
sub eax, 1
mov dword [edx], eax
sbb ecx, 0
mov dword [edx + 4], ecx
or eax, ecx
jmp 0x427a8b
movzx eax, word [ebp + 2]
xor ecx, ecx
mov dword [esp + 0x20], eax
push ecx
mov ecx, esi
lea eax, [eax*4 + 0x44]
push eax
call fcn.0040b343
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x42b439
mov edx, dword [esp + 0x10]
xor eax, eax
mov dword [esi + 8], eax
mov eax, dword [esp + 0x20]
add eax, 7
push 1
lea ecx, [esi + eax*4]
mov dword [esi], ecx
call fcn.0042128b
mov eax, dword [ebp + 0x10]
mov dword [esi + 4], eax
mov eax, ebp
sub eax, dword [esp + 0x5c]
pop ecx
cdq
push 0x14
pop ecx
idiv ecx
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], eax
xor eax, eax
mov byte [esi + 0x18], al
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x20]
mov byte [esi + 0x19], al
mov word [ebp], 0xf09b
mov dword [ebp + 0x10], esi
imul edx, dword [ebp + 0xc], 0x28
mov esi, dword [ebp + 0x10]
add edx, edi
cmp dword [esi + 8], edx
je 0x42a7d2
movzx ecx, byte [esi + 0x19]
sub ecx, 1
mov dword [esi + 8], edx
js 0x42a7d2
lea edi, [ecx + 7]
push 4
lea edi, [esi + edi*4]
pop ebx
mov eax, dword [ebp + 8]
add eax, ecx
imul eax, eax, 0x28
add eax, dword [esp + 0x18]
mov dword [edi], eax
sub edi, ebx
sub ecx, 1
jns 0x42a7b5
mov ebx, dword [esp + 0x70]
mov edi, dword [esp + 0x18]
inc dword [edx + 0xc]
lea eax, [esi + 0x1c]
cmp dword [ebp + 4], 0
movzx edx, byte [esi + 0x19]
mov ecx, dword [esi + 4]
push eax
push edx
push esi
je 0x42a7ed
call dword [ecx + 0x1c]
jmp 0x42a7f0
call dword [ecx + 0x10]
mov eax, dword [esi + 0x14]
add esp, 0xc
test eax, eax
je 0x4269cf
jle 0x42a81e
push dword [esi]
call fcn.0042519d
pop ecx
push eax
push 0x4b4e3c
push ebx
call fcn.00421c2d
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [esp + 0x14], eax
cmp byte [esi + 0x18], 0
je 0x42a841
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x42a83c
xor ecx, ecx
push ecx
imul ecx, eax, 0x28
push 1
add ecx, edi
call fcn.00421304
pop ecx
pop ecx
xor eax, eax
mov byte [esi + 0x18], al
mov ecx, dword [esi]
call fcn.00420ee0
mov eax, dword [esi]
xor ecx, ecx
inc ecx
mov word [eax + 8], cx
xor eax, eax
mov dword [esi + 0x14], eax
jmp 0x4274c6
imul esi, dword [ebp + 4], 0x28
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
add esi, edi
mov ecx, esi
test eax, eax
je 0x42a881
push edx
imul edx, eax, 0x28
add edx, edi
call fcn.00420e3e
imul esi, dword [ebp + 0xc], 0x28
pop ecx
add esi, edi
jmp 0x42a886
call fcn.00420dd6
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42b3fa
movzx edx, byte [esp + 0x5c]
mov ecx, esi
call fcn.00420b44
mov ecx, esi
call fcn.004213ad
test eax, eax
je 0x4269cf
push str.string_or_blob_too_big
push ebx
call fcn.00421c2d
pop ecx
pop ecx
push 0x12
jmp 0x42b453
mov edx, dword [ebp + 4]
xor eax, eax
or dword [esp + 0x108], 0xffffffff
mov ecx, esi
or dword [esp + 0x104], 0xffffffff
mov dword [esp + 0x100], eax
lea eax, [esp + 0x108]
push eax
lea eax, [esp + 0x108]
push eax
push dword [ebp + 8]
call fcn.00463324
add esp, 0xc
mov dword [esp + 0x14], eax
test eax, eax
je 0x42a91e
push 5
pop ecx
cmp eax, ecx
jne 0x42b454
xor eax, eax
mov dword [esp + 0x100], 1
mov dword [esp + 0x14], eax
imul esi, dword [ebp + 0xc], 0x28
add esi, edi
xor eax, eax
mov edi, eax
mov eax, dword [esp + edi*4 + 0x100]
mov ecx, esi
cdq
push edx
push eax
call fcn.00421304
inc edi
add esi, 0x28
pop ecx
pop ecx
cmp edi, 3
jl 0x42a928
jmp 0x426bf9
mov edx, ebp
mov ecx, ebx
call fcn.00426847
mov edx, dword [ebp + 4]
mov esi, dword [ebp + 0xc]
add edx, edx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx + edx*8 + 4]
mov ecx, eax
mov dword [esp + 0x20], eax
call fcn.0041f4d2
mov ecx, eax
mov dword [esp + 0x1c], eax
call fcn.00415c5f
mov ecx, dword [esp + 0x1c]
mov edi, eax
cmp esi, 0xffffffff
cmove esi, edi
call fcn.00415c64
mov ecx, dword [esp + 0x1c]
test eax, eax
cmove esi, edi
xor edx, edx
inc edx
call fcn.00415a29
push 5
pop edx
cmp esi, edx
jne 0x42aa10
mov ecx, eax
call fcn.0040d590
test eax, eax
je 0x42a9c0
mov ecx, dword [esp + 0x1c]
call fcn.00415cd5
test eax, eax
jne 0x42aa0d
mov esi, edi
mov eax, dword [esp + 0x14]
test eax, eax
je 0x42a9cc
mov esi, edi
mov ecx, dword [esp + 0x1c]
mov edx, esi
call fcn.00415b92
mov esi, dword [esp + 0x38]
mov ecx, 0xa02
mov word [esi + 8], cx
mov ecx, eax
call fcn.0044566a
mov ecx, eax
mov dword [esi + 0x10], eax
call fcn.0040d590
movzx edx, byte [esp + 0x5c]
mov ecx, esi
mov dword [esi + 0xc], eax
mov byte [esi + 0xa], 1
call fcn.00420b44
jmp 0x4293cb
push 5
pop edx
cmp esi, edi
je 0x42a9c2
cmp edi, edx
je 0x42aa1c
cmp esi, edx
jne 0x42a9c2
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x4f], 0
je 0x42b412
cmp dword [eax + 0xb4], 1
jg 0x42b412
cmp edi, edx
jne 0x42aa5f
mov ecx, dword [esp + 0x1c]
mov edx, eax
call fcn.00415dae
mov dword [esp + 0x14], eax
test eax, eax
jne 0x42a9ca
mov ecx, dword [esp + 0x1c]
mov edx, esi
call fcn.00415b92
jmp 0x42aa7f
push 4
pop eax
cmp edi, eax
jne 0x42aa74
mov ecx, dword [esp + 0x1c]
push 2
pop eax
mov edx, eax
call fcn.00415b92
cmp dword [esp + 0x14], 0
jne 0x42a9ca
mov ecx, dword [esp + 0x20]
xor edx, edx
push 5
pop eax
cmp esi, eax
sete dl
inc edx
call fcn.00420126
mov dword [esp + 0x14], eax
jmp 0x42a9c6
mov eax, dword [ebp + 8]
test eax, eax
je 0x42aaaa
imul eax, eax, 0x28
add eax, edi
jmp 0x42aaac
xor eax, eax
push eax
push dword [ebp + 4]
lea ecx, [ebx + 0x7c]
mov edx, esi
call fcn.004528a7
pop ecx
jmp 0x428eb3
mov ecx, dword [ebp + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
call fcn.0041a6aa
mov dword [esp + 0x14], eax
test eax, eax
je 0x426c01
cmp eax, 0x65
jne 0x42b454
xor eax, eax
mov dword [esp + 0x14], eax
jmp 0x42b215
xor eax, eax
cmp dword [ebp + 4], eax
jne 0x42ab07
mov edx, dword [ebp + 8]
mov ecx, esi
call fcn.00424ed5
jmp 0x426c01
mov eax, dword [ebp + 8]
inc eax
xor eax, dword [ebx + 0x98]
and eax, 3
xor dword [ebx + 0x98], eax
jmp 0x426c01
mov esi, dword [ebp + 0x10]
mov edx, esi
mov ecx, dword [esp + 0x10]
call fcn.00453945
mov dword [esp + 0x14], eax
test esi, esi
je 0x4274ca
mov edx, dword [esi + 8]
mov ecx, ebx
call fcn.00424ef9
jmp 0x4274c6
imul edx, dword [ebp + 8], 0x28
lea edi, [esp + 0x1c8]
push 0xa
pop ecx
xor eax, eax
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x18]
lea ecx, [esp + 0x1c8]
add edx, edi
mov dword [esp + 0x1e8], esi
call fcn.0042143d
mov dword [esp + 0x14], eax
lea eax, [esp + 0x1c8]
push eax
call fcn.0042519d
pop ecx
test eax, eax
je 0x42ab9e
mov edx, dword [ebp + 4]
lea ecx, [ebx + 0x7c]
push ecx
push eax
mov ecx, esi
call fcn.00453630
pop ecx
pop ecx
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x1c8]
call fcn.00420ee0
jmp 0x428b0d
inc dword [esi + 0xc0]
mov ecx, esi
push dword [ebp + 0x10]
mov edx, dword [ebp + 4]
call fcn.00453860
dec dword [esi + 0xc0]
pop ecx
mov dword [esp + 0x14], eax
jmp 0x428b11
xor eax, eax
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0x10]
mov esi, dword [eax + 8]
test esi, esi
je 0x42b50d
mov edi, dword [esi]
test edi, edi
je 0x42b50d
lea eax, [esp + 0x38]
push eax
push esi
call dword [edi + 0x18]
pop ecx
pop ecx
mov edx, esi
mov dword [esp + 0x14], eax
mov ecx, ebx
call fcn.00424ef9
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x42b454
mov eax, dword [esp + 0x38]
mov ecx, ebx
push 2
mov dword [eax], esi
mov edx, dword [ebp + 4]
pop eax
push eax
xor eax, eax
push 0xffffffffffffffff
push eax
call fcn.00426594
add esp, 0xc
test eax, eax
je 0x42b431
mov ecx, dword [esp + 0x38]
mov dword [eax + 0x28], ecx
inc dword [esi + 4]
jmp 0x426bf9
mov ecx, dword [ebp + 4]
mov eax, dword [ebx + 0x60]
imul edx, dword [ebp + 0xc], 0x28
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x60], eax
add edx, edi
mov edi, dword [ebx + 0x5c]
mov esi, dword [eax + 0x28]
mov ecx, dword [edx + 0x28]
mov eax, dword [esi]
mov dword [esp + 0x48], eax
mov eax, dword [eax]
mov dword [esp + 0x38], eax
mov eax, dword [edx]
mov dword [esp + 0x20], eax
xor eax, eax
test ecx, ecx
jle 0x42ac89
add edx, 0x50
mov dword [edi + eax*4], edx
inc eax
add edx, 0x28
cmp eax, ecx
jl 0x42ac7e
push edi
mov edi, dword [esp + 0x3c]
push ecx
push dword [ebp + 0x10]
push dword [esp + 0x2c]
push esi
call dword [edi + 0x20]
mov edx, dword [esp + 0x5c]
add esp, 0x14
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.00424ef9
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x42b454
push esi
call dword [edi + 0x28]
pop ecx
mov ecx, dword [esp + 0x60]
xor edx, edx
mov byte [ecx + 2], dl
test eax, eax
je 0x426bf9
jmp 0x42b215
mov ecx, dword [ebp + 4]
mov eax, dword [ebx + 0x60]
imul esi, dword [ebp + 0xc], 0x28
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x20], ecx
add esi, edi
cmp byte [ecx + 2], 0
je 0x42acf8
mov ecx, esi
call fcn.0042129c
jmp 0x4269cf
mov eax, dword [ecx + 0x28]
lea edi, [esp + 0xd0]
push 8
mov eax, dword [eax]
mov dword [esp + 0x4c], eax
mov eax, dword [eax]
mov dword [esp + 0x3c], eax
pop eax
mov ecx, eax
xor eax, eax
rep stosd dword es:[edi], eax
xor ecx, ecx
mov dword [esp + 0xd0], esi
inc ecx
test byte [ebp + 2], cl
je 0x42ad38
mov ecx, esi
call fcn.0042129c
xor eax, eax
mov dword [esi], eax
mov eax, 0x4001
jmp 0x42ad4a
mov ax, word [esi + 8]
mov edx, 0x3e40
and ax, dx
or ax, cx
movzx eax, ax
mov word [esi + 8], ax
lea eax, [esp + 0xd0]
push dword [ebp + 8]
push eax
mov eax, dword [esp + 0x28]
push dword [eax + 0x28]
mov eax, dword [esp + 0x44]
call dword [eax + 0x2c]
mov edx, dword [esp + 0x54]
add esp, 0xc
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.00424ef9
cmp dword [esp + 0xe4], 0
jle 0x42ada4
push esi
call fcn.0042519d
pop ecx
push eax
push 0x4b4e3c
push ebx
call fcn.00421c2d
mov eax, dword [esp + 0xf0]
add esp, 0xc
mov dword [esp + 0x14], eax
movzx edx, byte [esp + 0x5c]
mov ecx, esi
call fcn.00420b44
mov ecx, esi
call fcn.004213ad
test eax, eax
jne 0x42a8ad
jmp 0x4293cb
mov ecx, dword [ebp + 4]
mov eax, dword [ebx + 0x60]
mov edi, dword [eax + ecx*4]
cmp byte [edi + 2], 0
jne 0x426bfd
mov eax, dword [edi + 0x28]
push eax
mov esi, dword [eax]
mov ecx, dword [esi]
mov dword [esp + 0x24], ecx
call dword [ecx + 0x24]
pop ecx
mov edx, esi
mov dword [esp + 0x14], eax
mov ecx, ebx
call fcn.00424ef9
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x42b454
mov eax, dword [esp + 0x20]
push dword [edi + 0x28]
call dword [eax + 0x28]
pop ecx
test eax, eax
jne 0x42a27c
mov esi, dword [esp + 0x10]
imul eax, dword [ebp + 8], 0x14
mov ebp, dword [esp + 0x58]
add ebp, 0xffffffec
add ebp, eax
xor eax, eax
inc eax
jmp 0x42a283
mov eax, dword [esi + 0x20]
mov ecx, 0x4000000
or dword [esi + 0x20], ecx
and eax, ecx
mov dword [esp + 0x20], eax
xor edx, edx
mov eax, dword [esi + 0x24]
inc edx
mov dword [esi + 0x24], eax
imul esi, dword [ebp + 4], 0x28
mov eax, dword [ebp + 0x10]
add esi, dword [esp + 0x18]
mov edi, dword [eax + 8]
mov ecx, esi
call fcn.00420b44
test eax, eax
jne 0x42b454
push dword [esi + 0x10]
mov eax, dword [edi]
push edi
call dword [eax + 0x4c]
cmp dword [esp + 0x28], 0
mov esi, dword [esp + 0x18]
pop ecx
pop ecx
mov dword [esp + 0x14], eax
jne 0x42ae8a
mov eax, dword [esi + 0x24]
and dword [esi + 0x20], 0xfbffffff
mov dword [esi + 0x24], eax
mov edx, edi
mov ecx, ebx
call fcn.00424ef9
and dword [ebx + 0x98], 0xfffffffc
jmp 0x428915
cmp byte [esi + 0x51], 0
jne 0x42b43d
mov eax, dword [ebp + 0x10]
mov esi, dword [eax + 8]
test esi, esi
je 0x42b50d
mov edi, dword [esi]
test edi, edi
je 0x42b50d
mov edx, dword [ebp + 8]
xor eax, eax
cmp dword [edi + 0x34], eax
je 0x426bf9
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov al, byte [eax + 0x56]
mov byte [esp + 0x2f], al
mov eax, dword [ebx + 0x5c]
mov dword [esp + 0x20], eax
imul eax, dword [ebp + 0xc], 0x28
add eax, dword [esp + 0x18]
test edx, edx
jle 0x42af02
mov ebx, dword [esp + 0x20]
mov dword [ebx + ecx*4], eax
add eax, 0x28
inc ecx
cmp ecx, edx
jl 0x42aef3
mov ebx, dword [esp + 0x70]
mov ecx, dword [esp + 0x10]
mov al, byte [ebp + 2]
mov byte [ecx + 0x56], al
lea eax, [esp + 0x138]
push eax
push dword [esp + 0x24]
push edx
push esi
call dword [edi + 0x34]
mov ecx, dword [esp + 0x20]
add esp, 0x10
mov dword [esp + 0x14], eax
mov edx, esi
mov al, byte [esp + 0x2f]
mov byte [ecx + 0x56], al
mov ecx, ebx
call fcn.00424ef9
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x42af65
mov esi, dword [esp + 0x10]
xor ecx, ecx
cmp dword [ebp + 4], ecx
je 0x42af93
mov eax, dword [esp + 0x138]
mov ecx, dword [esp + 0x13c]
mov dword [esi + 0x28], eax
mov eax, dword [esp + 0x14]
mov dword [esi + 0x2c], ecx
jmp 0x42af91
cmp al, 0x13
jne 0x42af8d
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x10], 0
je 0x42af89
movzx ecx, word [ebp + 2]
push 4
pop eax
cmp cx, ax
jne 0x42b514
xor eax, eax
jmp 0x428d10
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
xor ecx, ecx
inc dword [ebx + 0x2c]
test eax, eax
jne 0x42b456
jmp 0x426bfd
mov edx, ebp
mov ecx, ebx
call fcn.00426847
mov edx, dword [ebp + 4]
mov esi, eax
mov eax, dword [esp + 0x10]
add edx, edx
mov ecx, dword [eax + 0x10]
mov ecx, dword [ecx + edx*8 + 4]
call fcn.0041961e
mov dword [esi], eax
xor eax, eax
mov dword [esi + 4], eax
jmp 0x4269cf
mov edx, ebp
mov ecx, ebx
call fcn.00426847
mov edx, dword [ebp + 4]
mov edi, eax
mov ecx, dword [esi + 0x10]
add edx, edx
mov esi, dword [ecx + edx*8 + 4]
xor ecx, ecx
mov eax, ecx
cmp dword [ebp + 0xc], ecx
je 0x42affd
mov ecx, esi
call fcn.0041961e
cmp eax, dword [ebp + 0xc]
cmovb eax, dword [ebp + 0xc]
mov edx, eax
mov ecx, esi
call fcn.00419bb4
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
jmp 0x426bf9
movzx eax, word [ebp + 2]
xor ecx, ecx
mov dword [esp + 0x20], eax
push ecx
mov ecx, esi
lea eax, [eax*4 + 0x1c]
push eax
call fcn.0040b343
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x42b439
xor eax, eax
mov dword [esi], eax
mov eax, ebp
mov ecx, dword [ebp + 0x10]
sub eax, dword [esp + 0x58]
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 [esp + 0x24]
mov byte [esi + 0x19], al
mov dword [esi + 0xc], ebx
pop eax
add byte [ebp], al
mov byte [ebp + 1], 0xf0
mov dword [ebp + 0x10], esi
imul edi, dword [ebp + 0xc], 0x28
mov esi, dword [ebp + 0x10]
add edi, dword [esp + 0x18]
cmp dword [esi], edi
je 0x42b0a8
movzx ecx, byte [esi + 0x19]
sub ecx, 1
mov dword [esi], edi
js 0x42b0a8
lea edx, [ecx + 7]
push 4
lea edx, [esi + edx*4]
pop ebx
mov eax, dword [ebp + 8]
add eax, ecx
imul eax, eax, 0x28
add eax, dword [esp + 0x18]
mov dword [edx], eax
sub edx, ebx
sub ecx, 1
jns 0x42b08f
mov ebx, dword [esp + 0x70]
mov ax, word [edi + 8]
mov ecx, 0x3e40
and ax, cx
xor ecx, ecx
inc ecx
or ax, cx
mov word [edi + 8], ax
lea eax, [esi + 0x1c]
mov ecx, dword [esi + 4]
push eax
movzx eax, byte [esi + 0x19]
push eax
push esi
call dword [ecx + 0x10]
mov eax, dword [esi + 0x14]
add esp, 0xc
test eax, eax
je 0x42b11f
jle 0x42b0f7
push edi
call fcn.0042519d
pop ecx
push eax
push 0x4b4e3c
push ebx
call fcn.00421c2d
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [esp + 0x14], eax
push dword [ebp + 4]
mov ecx, dword [esp + 0x14]
lea edx, [ebx + 0xdc]
push dword [esi + 0x10]
call fcn.00423b65
xor eax, eax
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x1c]
pop ecx
pop ecx
test eax, eax
jne 0x42b454
test byte [edi + 8], 0x12
je 0x426bf9
movzx edx, byte [esp + 0x5c]
mov ecx, edi
call fcn.00420b44
mov ecx, edi
call fcn.004213ad
test eax, eax
jne 0x42a8ad
jmp 0x426bf9
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
jmp 0x426c03
xor edx, edx
inc edx
test byte [esi + 0x58], dl
je 0x42b1cd
push 0x10
pop eax
test byte [ebx + 0x98], al
jne 0x42b1cd
mov eax, dword [ebp + 0x10]
test eax, eax
jne 0x42b17a
mov eax, dword [ebx + 0xc0]
test eax, eax
je 0x42b1cd
push eax
cmp dword [esi + 0xbc], edx
jle 0x42b1b9
push str.____s
push esi
call fcn.0040ccdc
add esp, 0xc
mov esi, eax
mov eax, dword [esp + 0x10]
push esi
push ebx
push dword [eax + 0xd0]
push 1
call dword [eax + 0xcc]
add esp, 0x10
mov edx, esi
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.0040b194
jmp 0x42b1ca
push ebx
push dword [esi + 0xd0]
push edx
call dword [esi + 0xcc]
add esp, 0x10
xor edx, edx
inc edx
mov eax, dword [ebp + 4]
cmp eax, dword [0x4d2a74]
jl 0x42b20b
cmp byte [ebp], 0xa8
je 0x426c01
mov ecx, edx
cmp dword [ebx + 0x6c], edx
jle 0x42b209
push 0x14
pop esi
mov eax, esi
xor ebp, ebp
mov edx, dword [ebx + 0x68]
cmp byte [eax + edx], 0x11
jne 0x42b1fd
mov dword [eax + edx + 4], ebp
inc ecx
add eax, esi
cmp ecx, dword [ebx + 0x6c]
jl 0x42b1f0
mov ebp, dword [esp + 0x38]
xor eax, eax
inc eax
mov dword [ebp + 4], eax
inc dword [ebx + 0xbc]
imul eax, dword [ebp + 8], 0x14
mov ebp, dword [esp + 0x58]
add ebp, 0xffffffec
jmp 0x427e22
mov dword [ebx + 0x28], ecx
mov al, byte [ebp + 8]
mov byte [ebx + 0x92], al
mov dword [ebx + 0x24], esi
test ecx, ecx
je 0x42b2a3
movzx eax, word [ebp + 2]
test ax, ax
je 0x42b278
push dword [eax*4 + 0x4a4b08]
push str._s_constraint_failed
push ebx
call fcn.00421c2d
add esp, 0xc
cmp dword [ebp + 0x10], 0
je 0x42b289
push dword [ebp + 0x10]
push dword [ebx + 0x7c]
push str._z:__s
push dword [esp + 0x1c]
call fcn.0040ccdc
add esp, 0x10
mov dword [ebx + 0x7c], eax
jmp 0x42b289
push dword [ebp + 0x10]
push 0x4b4e3c
push ebx
call fcn.00421c2d
add esp, 0xc
push dword [ebx + 0x7c]
push dword [ebx + 0xc0]
push esi
push str.abort_at__d_in___s_:__s
push dword [ebp + 4]
call fcn.0040cdcd
add esp, 0x14
mov ecx, ebx
call fcn.004237b8
push 5
pop ecx
cmp eax, ecx
je 0x42b321
push 0x65
pop eax
xor ecx, ecx
cmp dword [ebx + 0x28], ecx
push 1
pop ecx
cmovne eax, ecx
jmp 0x42b4f5
push 0x4b9a04
push 0x152d5
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.0040cdcd
add esp, 0x14
push 0xb
jmp 0x42b453
push str.cannot_open_savepoint___SQL_statements_in_progress
push ebx
call fcn.00421c2d
pop ecx
pop ecx
push 5
jmp 0x42b453
push str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x42b2ee
sub ebp, dword [esp + 0x58]
push 0x14
pop ecx
mov eax, ebp
cdq
idiv ecx
xor ecx, ecx
mov dword [ebx + 0x24], eax
mov eax, dword [esp + 0x10]
push 5
mov byte [eax + 0x4f], cl
pop ecx
mov eax, ecx
mov dword [ebx + 0x28], ecx
jmp 0x42b4f5
push 8
pop eax
jmp 0x42b456
cmp al, 5
jne 0x42b454
sub ebp, dword [esp + 0x58]
mov eax, ebp
push 0x14
cdq
pop ecx
idiv ecx
mov dword [ebx + 0x24], eax
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x28], eax
jmp 0x42b4f5
mov edx, dword [ebx + 0x7c]
test edx, edx
je 0x42b362
mov ecx, esi
call fcn.0040b163
mov edx, str.database_schema_has_changed
mov ecx, esi
call fcn.0040b4a1
mov dword [ebx + 0x7c], eax
mov edx, dword [ebp + 4]
mov ecx, edx
mov eax, dword [esi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [esp + 0x38]
je 0x42b38e
mov ecx, esi
call fcn.00438e75
mov eax, dword [ebx + 0x98]
and eax, 0xfffffffd
or eax, 1
mov dword [ebx + 0x98], eax
push 0x11
jmp 0x42b453
mov eax, 0x204
jmp 0x42b454
push 6
pop eax
push 2
pop ecx
mov byte [ebx + 0x92], cl
jmp 0x42b454
push 7
pop eax
mov dword [esp + 0x14], eax
mov esi, edi
mov ecx, esi
call fcn.00438ecb
mov eax, dword [esp + 0x14]
push 7
pop ecx
cmp eax, ecx
je 0x42b43d
jmp 0x42b454
push str.too_many_levels_of_trigger_recursion
push ebx
mov dword [esp + 0x1c], 1
call fcn.00421c2d
pop ecx
pop ecx
mov eax, dword [esp + 0x14]
jmp 0x42b454
push esi
call fcn.0042519d
pop ecx
push eax
push 0x4b4e3c
push ebx
call fcn.00421c2d
add esp, 0xc
jmp 0x42b3f4
cmp esi, edx
mov dword [esp + 0x14], 1
mov eax, str.into
mov ecx, str.out_of
cmovne eax, ecx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
jmp 0x42b407
push dword [esp + 0x38]
call dword [edi + 0x1c]
pop ecx
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.0040b59e
push str.out_of_memory
push ebx
call fcn.00421c2d
pop ecx
pop ecx
push 7
pop eax
xor ecx, ecx
mov esi, dword [esp + 0x10]
mov edi, 0xc0a
push 7
pop edx
cmp byte [esi + 0x51], 0
cmovne eax, edx
mov dword [esp + 0x14], eax
cmp dword [ebx + 0x7c], ecx
jne 0x42b490
cmp eax, edi
je 0x42b490
mov ecx, eax
call fcn.00462c74
push eax
push 0x4b4e3c
push ebx
call fcn.00421c2d
mov eax, dword [esp + 0x20]
add esp, 0xc
mov edx, eax
mov dword [ebx + 0x28], eax
mov ecx, esi
call fcn.0040d607
push dword [ebx + 0x7c]
sub ebp, dword [esp + 0x5c]
push dword [ebx + 0xc0]
mov eax, ebp
push 0x14
pop ecx
cdq
idiv ecx
push eax
push str.statement_aborts_at__d:___s___s
push dword [esp + 0x24]
call fcn.0040cdcd
add esp, 0x14
mov ecx, ebx
call fcn.004237b8
cmp dword [esp + 0x14], edi
jne 0x42b4d7
mov ecx, esi
call fcn.0040b59e
mov cl, byte [esp + 0x7b]
xor eax, eax
inc eax
mov dword [esp + 0x14], eax
test cl, cl
je 0x42b4f5
movzx edx, cl
mov ecx, esi
dec edx
call fcn.00438e75
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xac]
add dword [ebx + 0xb4], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1e4
ret
push 6
jmp 0x42b453
push 5
pop edx
movzx eax, cl
cmp cx, dx
push 2
pop ecx
cmove eax, ecx
mov byte [ebx + 0x92], al
jmp 0x42b3f4
xor edx, edx
mov ecx, ebx
call fcn.0042375d
test eax, eax
jne 0x42b454
mov eax, dword [ebx]
xor ecx, ecx
cmp dword [eax + 0x1bc], ecx
je 0x42b55c
cmp dword [ebx + 0x30], ecx
je 0x42b55c
xor edx, edx
mov ecx, ebx
inc edx
call fcn.00423677
xor ecx, ecx
mov eax, dword [ebx + 0x20]
push 2
pop edx
add eax, edx
or eax, 1
mov dword [ebx + 0x20], eax
imul esi, dword [ebp + 4], 0x28
add esi, edi
mov edi, ecx
mov dword [ebx + 0x78], esi
cmp dword [ebp + 8], ecx
jle 0x42b5ba
mov eax, 0x1000
test word [esi + 8], ax
je 0x42b594
mov ecx, esi
call fcn.00420cb6
test eax, eax
jne 0x42b439
mov ax, word [esi + 8]
mov ecx, 0x202
and ax, cx
push 2
pop ecx
cmp ax, cx
jne 0x42b5af
mov ecx, esi
call fcn.00420c70
inc edi
add esi, 0x28
cmp edi, dword [ebp + 8]
jl 0x42b57a
xor ecx, ecx
mov esi, dword [esp + 0x10]
cmp byte [esi + 0x51], 0
jne 0x42b43d
push 4
pop eax
test byte [esi + 0x58], al
je 0x42b5e2
push ecx
push ebx
push dword [esi + 0xd0]
push eax
call dword [esi + 0xcc]
add esp, 0x10
sub ebp, dword [esp + 0x58]
push 0x14
mov eax, ebp
cdq
pop ecx
idiv ecx
push 0x64
inc eax
mov dword [ebx + 0x24], eax
pop eax
jmp 0x42b4f5
mov ecx, dword [esp + 0x10]
mov edx, dword [ebp + 4]
mov esi, dword [ebp + 8]
mov dword [esp + 0x8c], edx
movzx eax, byte [ecx + 0x4f]
cmp edx, eax
je 0x42b6a3
test esi, esi
je 0x42b629
mov edx, 0x204
call fcn.00462b98
mov al, 1
jmp 0x42b661
test edx, edx
je 0x42b641
xor eax, eax
cmp dword [ecx + 0xb8], eax
jle 0x42b641
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x42b2ee
xor edx, edx
mov ecx, ebx
inc edx
call fcn.0042375d
test eax, eax
jne 0x42b4f5
mov al, byte [esp + 0x8c]
mov byte [esp + 0x8c], al
mov esi, dword [esp + 0x10]
mov ecx, ebx
mov byte [esi + 0x4f], al
call fcn.004237b8
push 5
pop ecx
cmp eax, ecx
jne 0x42b697
sub ebp, dword [esp + 0x58]
mov eax, ebp
cdq
push 0x14
pop ebp
idiv ebp
mov dword [ebx + 0x24], eax
xor eax, eax
inc eax
sub al, byte [esp + 0x8c]
mov byte [esi + 0x4f], al
jmp 0x42b31f
mov ecx, esi
call fcn.004627f8
jmp 0x42b2b1
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 ebx
call fcn.00421c2d
pop ecx
pop ecx
jmp 0x4286ca
cmp byte [esi + 0x51], 0
push 9
pop eax
push 7
pop ecx
cmovne eax, ecx
mov ecx, eax
mov dword [esp + 0x14], eax
mov dword [ebx + 0x28], eax
call fcn.00462c74
jmp 0x42b401