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
845002:	e8 90 07 bf ff       	call   0x435797
845007:	8b ce                	mov    %esi,%ecx
845009:	89 47 04             	mov    %eax,0x4(%edi)
84500c:	c1 e1 02             	shl    $0x2,%ecx
84500f:	51                   	push   %ecx
845010:	6a 00                	push   $0x0
845012:	50                   	push   %eax
845013:	e8 a0 f7 bc ff       	call   0x4147b8
845018:	83 c4 10             	add    $0x10,%esp
84501b:	89 77 08             	mov    %esi,0x8(%edi)
84501e:	5f                   	pop    %edi
84501f:	5e                   	pop    %esi
845020:	5d                   	pop    %ebp
845021:	c2 08 00             	ret    $0x8
845024:	cc                   	int3
845025:	cc                   	int3
845026:	cc                   	int3
845027:	cc                   	int3
845028:	cc                   	int3
845029:	cc                   	int3
84502a:	cc                   	int3
84502b:	cc                   	int3
84502c:	cc                   	int3
84502d:	cc                   	int3
84502e:	cc                   	int3
84502f:	cc                   	int3
845030:	cc                   	int3
845031:	cc                   	int3
845032:	cc                   	int3
845033:	cc                   	int3
845034:	cc                   	int3
845035:	cc                   	int3
845036:	cc                   	int3
845037:	cc                   	int3
845038:	cc                   	int3
845039:	cc                   	int3
84503a:	cc                   	int3
84503b:	55                   	push   %ebp
84503c:	8b ec                	mov    %esp,%ebp
84503e:	51                   	push   %ecx
84503f:	51                   	push   %ecx
845040:	8d 45 fc             	lea    -0x4(%ebp),%eax
845043:	50                   	push   %eax
845044:	8d 45 f8             	lea    -0x8(%ebp),%eax
845047:	50                   	push   %eax
845048:	ff 75 08             	push   0x8(%ebp)
84504b:	e8 ba 09 bd ff       	call   0x415a0a
845050:	85 c0                	test   %eax,%eax
845052:	74 0b                	je     0x84505f
845054:	8b 48 08             	mov    0x8(%eax),%ecx
845057:	8b 45 0c             	mov    0xc(%ebp),%eax
84505a:	89 08                	mov    %ecx,(%eax)
84505c:	33 c0                	xor    %eax,%eax
84505e:	40                   	inc    %eax
84505f:	8b e5                	mov    %ebp,%esp
845061:	5d                   	pop    %ebp
845062:	c2 08 00             	ret    $0x8
845065:	cc                   	int3
845066:	cc                   	int3
845067:	cc                   	int3
845068:	cc                   	int3
845069:	cc                   	int3
84506a:	cc                   	int3
84506b:	cc                   	int3
84506c:	cc                   	int3
84506d:	cc                   	int3
84506e:	cc                   	int3
84506f:	56                   	push   %esi
845070:	8b f1                	mov    %ecx,%esi
845072:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
845076:	75 2e                	jne    0x8450a6
845078:	6a 0c                	push   $0xc
84507a:	ff 76 18             	push   0x18(%esi)
84507d:	8d 46 14             	lea    0x14(%esi),%eax
845080:	50                   	push   %eax
845081:	e8 26 e0 bc ff       	call   0x4130ac
845086:	8b 56 18             	mov    0x18(%esi),%edx
845089:	83 c0 08             	add    $0x8,%eax
84508c:	6b ca 0c             	imul   $0xc,%edx,%ecx
84508f:	83 c1 f4             	add    $0xfffffff4,%ecx
845092:	03 c8                	add    %eax,%ecx
845094:	eb 0b                	jmp    0x8450a1
845096:	8b 46 10             	mov    0x10(%esi),%eax
845099:	89 01                	mov    %eax,(%ecx)
84509b:	89 4e 10             	mov    %ecx,0x10(%esi)
84509e:	83 e9 0c             	sub    $0xc,%ecx
8450a1:	83 ea 01             	sub    $0x1,%edx
8450a4:	79 f0                	jns    0x845096
8450a6:	8b 46 10             	mov    0x10(%esi),%eax
8450a9:	8b 08                	mov    (%eax),%ecx
8450ab:	ff 46 0c             	incl   0xc(%esi)
8450ae:	89 4e 10             	mov    %ecx,0x10(%esi)
8450b1:	83 60 04 00          	andl   $0x0,0x4(%eax)
8450b5:	83 60 08 00          	andl   $0x0,0x8(%eax)
8450b9:	5e                   	pop    %esi
8450ba:	c3                   	ret
8450bb:	cc                   	int3
8450bc:	cc                   	int3
8450bd:	cc                   	int3
8450be:	cc                   	int3
8450bf:	cc                   	int3
8450c0:	cc                   	int3
8450c1:	cc                   	int3
8450c2:	cc                   	int3
8450c3:	cc                   	int3
8450c4:	cc                   	int3
8450c5:	cc                   	int3
8450c6:	cc                   	int3
8450c7:	cc                   	int3
8450c8:	cc                   	int3
8450c9:	cc                   	int3
8450ca:	cc                   	int3
8450cb:	cc                   	int3
8450cc:	cc                   	int3
8450cd:	cc                   	int3
8450ce:	56                   	push   %esi
8450cf:	8b f1                	mov    %ecx,%esi
8450d1:	57                   	push   %edi
8450d2:	33 ff                	xor    %edi,%edi
8450d4:	39 7e 04             	cmp    %edi,0x4(%esi)
8450d7:	74 0c                	je     0x8450e5
8450d9:	ff 76 04             	push   0x4(%esi)
8450dc:	e8 31 95 bf ff       	call   0x43e612
8450e1:	59                   	pop    %ecx
8450e2:	89 7e 04             	mov    %edi,0x4(%esi)
8450e5:	8b 4e 14             	mov    0x14(%esi),%ecx
8450e8:	89 7e 0c             	mov    %edi,0xc(%esi)
8450eb:	89 7e 10             	mov    %edi,0x10(%esi)
8450ee:	e8 78 53 bc ff       	call   0x40a46b
8450f3:	89 7e 14             	mov    %edi,0x14(%esi)
8450f6:	5f                   	pop    %edi
8450f7:	5e                   	pop    %esi
8450f8:	c3                   	ret
8450f9:	cc                   	int3
8450fa:	cc                   	int3
8450fb:	cc                   	int3
8450fc:	cc                   	int3
8450fd:	cc                   	int3
8450fe:	cc                   	int3
8450ff:	cc                   	int3
845100:	cc                   	int3
845101:	cc                   	int3
845102:	cc                   	int3
845103:	55                   	push   %ebp
845104:	8b ec                	mov    %esp,%ebp
845106:	56                   	push   %esi
845107:	8b f1                	mov    %ecx,%esi
845109:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
84510d:	75 04                	jne    0x845113
84510f:	33 c0                	xor    %eax,%eax
845111:	eb 29                	jmp    0x84513c
845113:	57                   	push   %edi
845114:	8b 7d 08             	mov    0x8(%ebp),%edi
845117:	57                   	push   %edi
845118:	e8 59 eb be ff       	call   0x433c76
84511d:	33 d2                	xor    %edx,%edx
84511f:	f7 76 08             	divl   0x8(%esi)
845122:	8b 46 04             	mov    0x4(%esi),%eax
845125:	8d 14 90             	lea    (%eax,%edx,4),%edx
845128:	8b 0a                	mov    (%edx),%ecx
84512a:	eb 09                	jmp    0x845135
84512c:	39 79 04             	cmp    %edi,0x4(%ecx)
84512f:	74 10                	je     0x845141
845131:	8b d1                	mov    %ecx,%edx
845133:	8b 09                	mov    (%ecx),%ecx
845135:	85 c9                	test   %ecx,%ecx
845137:	75 f3                	jne    0x84512c
845139:	33 c0                	xor    %eax,%eax
84513b:	5f                   	pop    %edi
84513c:	5e                   	pop    %esi
84513d:	5d                   	pop    %ebp
84513e:	c2 04 00             	ret    $0x4
845141:	8b 01                	mov    (%ecx),%eax
845143:	51                   	push   %ecx
845144:	8b ce                	mov    %esi,%ecx