844d6c:	8d 45 fc             	lea    -0x4(%ebp),%eax
844d6f:	8b f1                	mov    %ecx,%esi
844d71:	50                   	push   %eax
844d72:	57                   	push   %edi
844d73:	e8 92 0c bd ff       	call   0x415a0a
844d78:	8b d0                	mov    %eax,%edx
844d7a:	85 d2                	test   %edx,%edx
844d7c:	75 2e                	jne    0x844dac
844d7e:	39 46 04             	cmp    %eax,0x4(%esi)
844d81:	75 0c                	jne    0x844d8f
844d83:	6a 01                	push   $0x1
844d85:	ff 76 08             	push   0x8(%esi)
844d88:	8b ce                	mov    %esi,%ecx
844d8a:	e8 e9 0f bf ff       	call   0x435d78
844d8f:	8b ce                	mov    %esi,%ecx
844d91:	e8 f2 63 bf ff       	call   0x43b188
844d96:	8b 4d fc             	mov    -0x4(%ebp),%ecx
844d99:	8b d0                	mov    %eax,%edx
844d9b:	89 7a 04             	mov    %edi,0x4(%edx)
844d9e:	8b 46 04             	mov    0x4(%esi),%eax
844da1:	8b 04 88             	mov    (%eax,%ecx,4),%eax
844da4:	89 02                	mov    %eax,(%edx)
844da6:	8b 46 04             	mov    0x4(%esi),%eax
844da9:	89 14 88             	mov    %edx,(%eax,%ecx,4)
844dac:	5f                   	pop    %edi
844dad:	8d 42 08             	lea    0x8(%edx),%eax
844db0:	5e                   	pop    %esi
844db1:	8b e5                	mov    %ebp,%esp
844db3:	5d                   	pop    %ebp
844db4:	c2 04 00             	ret    $0x4
844db7:	cc                   	int3
844db8:	cc                   	int3
844db9:	cc                   	int3
844dba:	cc                   	int3
844dbb:	cc                   	int3
844dbc:	cc                   	int3
844dbd:	cc                   	int3
844dbe:	cc                   	int3
844dbf:	cc                   	int3
844dc0:	cc                   	int3
844dc1:	cc                   	int3
844dc2:	cc                   	int3
844dc3:	cc                   	int3
844dc4:	cc                   	int3
844dc5:	cc                   	int3
844dc6:	cc                   	int3
844dc7:	cc                   	int3
844dc8:	cc                   	int3
844dc9:	cc                   	int3
844dca:	cc                   	int3
844dcb:	cc                   	int3
844dcc:	cc                   	int3
844dcd:	55                   	push   %ebp
844dce:	8b ec                	mov    %esp,%ebp
844dd0:	6a ff                	push   $0xffffffff
844dd2:	68 c6 ab b9 00       	push   $0xb9abc6
844dd7:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
844ddd:	50                   	push   %eax
844dde:	56                   	push   %esi
844ddf:	a1 24 f6 d5 00       	mov    0xd5f624,%eax
844de4:	33 c5                	xor    %ebp,%eax
844de6:	50                   	push   %eax
844de7:	8d 45 f4             	lea    -0xc(%ebp),%eax
844dea:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
844df0:	8b f1                	mov    %ecx,%esi
844df2:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
844df6:	c7 06 c8 d1 c3 00    	movl   $0xc3d1c8,(%esi)
844dfc:	e8 94 d5 bd ff       	call   0x422395
844e01:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
844e05:	74 18                	je     0x844e1f
844e07:	f6 45 08 04          	testb  $0x4,0x8(%ebp)
844e0b:	75 08                	jne    0x844e15
844e0d:	56                   	push   %esi
844e0e:	e8 7c c9 bb ff       	call   0x40178f
844e13:	eb 09                	jmp    0x844e1e
844e15:	6a 1c                	push   $0x1c
844e17:	56                   	push   %esi
844e18:	e8 bd a9 bd ff       	call   0x41f7da
844e1d:	59                   	pop    %ecx
844e1e:	59                   	pop    %ecx
844e1f:	8b c6                	mov    %esi,%eax
844e21:	8b 4d f4             	mov    -0xc(%ebp),%ecx
844e24:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
844e2b:	59                   	pop    %ecx
844e2c:	5e                   	pop    %esi
844e2d:	8b e5                	mov    %ebp,%esp
844e2f:	5d                   	pop    %ebp
844e30:	c2 04 00             	ret    $0x4
844e33:	cc                   	int3
844e34:	cc                   	int3
844e35:	cc                   	int3
844e36:	cc                   	int3
844e37:	cc                   	int3
844e38:	cc                   	int3
844e39:	cc                   	int3
844e3a:	cc                   	int3
844e3b:	cc                   	int3
844e3c:	cc                   	int3
844e3d:	cc                   	int3
844e3e:	cc                   	int3
844e3f:	cc                   	int3
844e40:	cc                   	int3
844e41:	cc                   	int3
844e42:	cc                   	int3
844e43:	cc                   	int3
844e44:	cc                   	int3
844e45:	cc                   	int3
844e46:	cc                   	int3
844e47:	cc                   	int3
844e48:	cc                   	int3
844e49:	cc                   	int3
844e4a:	cc                   	int3
844e4b:	cc                   	int3
844e4c:	55                   	push   %ebp
844e4d:	8b ec                	mov    %esp,%ebp
844e4f:	8b 55 08             	mov    0x8(%ebp),%edx
844e52:	8b 41 10             	mov    0x10(%ecx),%eax
844e55:	89 02                	mov    %eax,(%edx)
844e57:	83 69 0c 01          	subl   $0x1,0xc(%ecx)
844e5b:	89 51 10             	mov    %edx,0x10(%ecx)
844e5e:	75 05                	jne    0x844e65
844e60:	e8 30 d5 bd ff       	call   0x422395
844e65:	5d                   	pop    %ebp
844e66:	c2 04 00             	ret    $0x4
844e69:	cc                   	int3
844e6a:	cc                   	int3
844e6b:	cc                   	int3
844e6c:	cc                   	int3
844e6d:	cc                   	int3
844e6e:	cc                   	int3
844e6f:	cc                   	int3
844e70:	55                   	push   %ebp
844e71:	8b ec                	mov    %esp,%ebp
844e73:	56                   	push   %esi
844e74:	57                   	push   %edi
844e75:	8b 7d 08             	mov    0x8(%ebp),%edi
844e78:	8b f1                	mov    %ecx,%esi
844e7a:	57                   	push   %edi
844e7b:	e8 f6 ed be ff       	call   0x433c76
844e80:	8b 55 10             	mov    0x10(%ebp),%edx
844e83:	89 02                	mov    %eax,(%edx)
844e85:	33 d2                	xor    %edx,%edx
844e87:	f7 76 08             	divl   0x8(%esi)
844e8a:	8b 45 0c             	mov    0xc(%ebp),%eax
844e8d:	89 10                	mov    %edx,(%eax)
844e8f:	8b 46 04             	mov    0x4(%esi),%eax
844e92:	85 c0                	test   %eax,%eax
844e94:	74 10                	je     0x844ea6
844e96:	8b 04 90             	mov    (%eax,%edx,4),%eax
844e99:	eb 07                	jmp    0x844ea2
844e9b:	39 78 04             	cmp    %edi,0x4(%eax)
844e9e:	74 08                	je     0x844ea8
844ea0:	8b 00                	mov    (%eax),%eax
844ea2:	85 c0                	test   %eax,%eax
844ea4:	75 f5                	jne    0x844e9b
844ea6:	33 c0                	xor    %eax,%eax
844ea8:	5f                   	pop    %edi
844ea9:	5e                   	pop    %esi
844eaa:	5d                   	pop    %ebp
844eab:	c2 0c 00             	ret    $0xc
844eae:	cc                   	int3
844eaf:	cc                   	int3
844eb0:	cc                   	int3
844eb1:	cc                   	int3
844eb2:	cc                   	int3
844eb3:	cc                   	int3
844eb4:	cc                   	int3
844eb5:	cc                   	int3
844eb6:	cc                   	int3
844eb7:	cc                   	int3
844eb8:	cc                   	int3
844eb9:	cc                   	int3
844eba:	cc                   	int3
844ebb:	cc                   	int3
844ebc:	cc                   	int3
844ebd:	55                   	push   %ebp
844ebe:	8b ec                	mov    %esp,%ebp
844ec0:	53                   	push   %ebx
844ec1:	56                   	push   %esi
844ec2:	8b 75 08             	mov    0x8(%ebp),%esi
844ec5:	8b d9                	mov    %ecx,%ebx
844ec7:	8b 36                	mov    (%esi),%esi
844ec9:	85 f6                	test   %esi,%esi
844ecb:	74 65                	je     0x844f32
844ecd:	83 fe ff             	cmp    $0xffffffff,%esi
844ed0:	75 1b                	jne    0x844eed
844ed2:	33 c0                	xor    %eax,%eax
844ed4:	39 43 08             	cmp    %eax,0x8(%ebx)
844ed7:	76 14                	jbe    0x844eed
844ed9:	8b 4b 04             	mov    0x4(%ebx),%ecx
844edc:	8b 31                	mov    (%ecx),%esi
844ede:	85 f6                	test   %esi,%esi
844ee0:	75 0b                	jne    0x844eed
844ee2:	40                   	inc    %eax
844ee3:	83 c1 04             	add    $0x4,%ecx
844ee6:	3b 43 08             	cmp    0x8(%ebx),%eax
844ee9:	72 f1                	jb     0x844edc
844eeb:	eb 4b                	jmp    0x844f38
844eed:	57                   	push   %edi
844eee:	8b 3e                	mov    (%esi),%edi
844ef0:	85 ff                	test   %edi,%edi
844ef2:	75 28                	jne    0x844f1c
844ef4:	ff 76 04             	push   0x4(%esi)
844ef7:	e8 7a ed be ff       	call   0x433c76
844efc:	8b 4b 08             	mov    0x8(%ebx),%ecx
844eff:	33 d2                	xor    %edx,%edx
844f01:	f7 f1                	div    %ecx
844f03:	42                   	inc    %edx
844f04:	3b d1                	cmp    %ecx,%edx
844f06:	73 14                	jae    0x844f1c
844f08:	8b 43 04             	mov    0x4(%ebx),%eax
844f0b:	8d 04 90             	lea    (%eax,%edx,4),%eax
844f0e:	8b 38                	mov    (%eax),%edi
844f10:	85 ff                	test   %edi,%edi
844f12:	75 08                	jne    0x844f1c
844f14:	42                   	inc    %edx
844f15:	83 c0 04             	add    $0x4,%eax
844f18:	3b d1                	cmp    %ecx,%edx
844f1a:	72 f2                	jb     0x844f0e
844f1c:	8b 45 08             	mov    0x8(%ebp),%eax
844f1f:	89 38                	mov    %edi,(%eax)
844f21:	8b 45 0c             	mov    0xc(%ebp),%eax
844f24:	8b 4e 04             	mov    0x4(%esi),%ecx
844f27:	5f                   	pop    %edi
844f28:	89 08                	mov    %ecx,(%eax)
844f2a:	8b 45 10             	mov    0x10(%ebp),%eax
844f2d:	8b 4e 08             	mov    0x8(%esi),%ecx
844f30:	89 08                	mov    %ecx,(%eax)
844f32:	5e                   	pop    %esi
844f33:	5b                   	pop    %ebx
844f34:	5d                   	pop    %ebp
844f35:	c2 0c 00             	ret    $0xc
844f38:	e8 29 d0 be ff       	call   0x431f66
844f3d:	cc                   	int3
844f3e:	cc                   	int3
844f3f:	cc                   	int3
844f40:	cc                   	int3
844f41:	cc                   	int3
844f42:	cc                   	int3
844f43:	cc                   	int3
844f44:	cc                   	int3
844f45:	cc                   	int3
844f46:	cc                   	int3
844f47:	cc                   	int3
844f48:	cc                   	int3
844f49:	cc                   	int3
844f4a:	cc                   	int3
844f4b:	cc                   	int3
844f4c:	cc                   	int3
844f4d:	cc                   	int3
844f4e:	cc                   	int3
844f4f:	cc                   	int3
844f50:	cc                   	int3
844f51:	cc                   	int3
844f52:	cc                   	int3
844f53:	cc                   	int3
844f54:	cc                   	int3
844f55:	cc                   	int3
844f56:	cc                   	int3
844f57:	cc                   	int3
844f58:	cc                   	int3
844f59:	cc                   	int3
844f5a:	cc                   	int3
844f5b:	cc                   	int3
844f5c:	cc                   	int3
844f5d:	cc                   	int3
844f5e:	b8 a0 d1 c3 00       	mov    $0xc3d1a0,%eax
844f63:	c3                   	ret
844f64:	55                   	push   %ebp
844f65:	8b ec                	mov    %esp,%ebp
844f67:	56                   	push   %esi
844f68:	8b f1                	mov    %ecx,%esi
844f6a:	85 f6                	test   %esi,%esi
844f6c:	74 37                	je     0x844fa5
844f6e:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
844f72:	75 04                	jne    0x844f78
844f74:	33 c0                	xor    %eax,%eax
844f76:	eb 23                	jmp    0x844f9b
844f78:	57                   	push   %edi
844f79:	8b 7d 08             	mov    0x8(%ebp),%edi
844f7c:	57                   	push   %edi
844f7d:	e8 f4 ec be ff       	call   0x433c76
844f82:	33 d2                	xor    %edx,%edx
844f84:	f7 76 08             	divl   0x8(%esi)
844f87:	8b 46 04             	mov    0x4(%esi),%eax
844f8a:	8b 04 90             	mov    (%eax,%edx,4),%eax
844f8d:	eb 07                	jmp    0x844f96
844f8f:	39 78 04             	cmp    %edi,0x4(%eax)
844f92:	74 0c                	je     0x844fa0
844f94:	8b 00                	mov    (%eax),%eax
844f96:	85 c0                	test   %eax,%eax
844f98:	75 f5                	jne    0x844f8f
844f9a:	5f                   	pop    %edi
844f9b:	5e                   	pop    %esi
844f9c:	5d                   	pop    %ebp
844f9d:	c2 04 00             	ret    $0x4
844fa0:	8b 40 08             	mov    0x8(%eax),%eax
844fa3:	eb f5                	jmp    0x844f9a
844fa5:	e8 bc cf be ff       	call   0x431f66
844faa:	cc                   	int3
844fab:	cc                   	int3
844fac:	cc                   	int3
844fad:	cc                   	int3
844fae:	cc                   	int3
844faf:	cc                   	int3
844fb0:	cc                   	int3
844fb1:	cc                   	int3
844fb2:	cc                   	int3
844fb3:	cc                   	int3
844fb4:	cc                   	int3
844fb5:	cc                   	int3
844fb6:	cc                   	int3
844fb7:	cc                   	int3
844fb8:	cc                   	int3
844fb9:	cc                   	int3
844fba:	cc                   	int3
844fbb:	cc                   	int3
844fbc:	55                   	push   %ebp
844fbd:	8b ec                	mov    %esp,%ebp
844fbf:	5d                   	pop    %ebp
844fc0:	e9 b1 ec be ff       	jmp    0x433c76
844fc5:	cc                   	int3
844fc6:	cc                   	int3
844fc7:	55                   	push   %ebp
844fc8:	8b ec                	mov    %esp,%ebp
844fca:	56                   	push   %esi
844fcb:	8b 75 08             	mov    0x8(%ebp),%esi
844fce:	57                   	push   %edi
844fcf:	8b f9                	mov    %ecx,%edi
844fd1:	85 f6                	test   %esi,%esi
844fd3:	75 03                	jne    0x844fd8
844fd5:	6a 11                	push   $0x11
844fd7:	5e                   	pop    %esi
844fd8:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
844fdc:	74 0d                	je     0x844feb
844fde:	ff 77 04             	push   0x4(%edi)
844fe1:	e8 2c 96 bf ff       	call   0x43e612
844fe6:	83 67 04 00          	andl   $0x0,0x4(%edi)
844fea:	59                   	pop    %ecx
844feb:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
844fef:	74 2a                	je     0x84501b
844ff1:	33 c9                	xor    %ecx,%ecx
844ff3:	8b c6                	mov    %esi,%eax
844ff5:	6a 04                	push   $0x4
844ff7:	5a                   	pop    %edx
844ff8:	f7 e2                	mul    %edx
844ffa:	0f 90 c1             	seto   %cl
844ffd:	f7 d9                	neg    %ecx
844fff:	0b c8                	or     %eax,%ecx
845001:	51                   	push   %ecx