404dd4:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
404dd8:	ff 75 08             	push   0x8(%ebp)
404ddb:	e8 23 00 00 00       	call   0x404e03
404de0:	59                   	pop    %ecx
404de1:	8b f0                	mov    %eax,%esi
404de3:	89 75 e4             	mov    %esi,-0x1c(%ebp)
404de6:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
404ded:	e8 0b 00 00 00       	call   0x404dfd
404df2:	8b c6                	mov    %esi,%eax
404df4:	e8 fc 5f 00 00       	call   0x40adf5
404df9:	c3                   	ret
404dfa:	8b 75 e4             	mov    -0x1c(%ebp),%esi
404dfd:	e8 23 5e 00 00       	call   0x40ac25
404e02:	c3                   	ret
404e03:	55                   	push   %ebp
404e04:	8b ec                	mov    %esp,%ebp
404e06:	51                   	push   %ecx
404e07:	53                   	push   %ebx
404e08:	56                   	push   %esi
404e09:	8b 35 5c 90 41 00    	mov    0x41905c,%esi
404e0f:	57                   	push   %edi
404e10:	ff 35 28 2b 42 00    	push   0x422b28
404e16:	ff d6                	call   *%esi
404e18:	ff 35 24 2b 42 00    	push   0x422b24
404e1e:	89 45 fc             	mov    %eax,-0x4(%ebp)
404e21:	ff d6                	call   *%esi
404e23:	8b d8                	mov    %eax,%ebx
404e25:	8b 45 fc             	mov    -0x4(%ebp),%eax
404e28:	3b d8                	cmp    %eax,%ebx
404e2a:	0f 82 82 00 00 00    	jb     0x404eb2
404e30:	8b fb                	mov    %ebx,%edi
404e32:	2b f8                	sub    %eax,%edi
404e34:	8d 4f 04             	lea    0x4(%edi),%ecx
404e37:	83 f9 04             	cmp    $0x4,%ecx
404e3a:	72 76                	jb     0x404eb2
404e3c:	50                   	push   %eax
404e3d:	e8 2f 5f 00 00       	call   0x40ad71
404e42:	8b f0                	mov    %eax,%esi
404e44:	8d 47 04             	lea    0x4(%edi),%eax
404e47:	59                   	pop    %ecx
404e48:	3b f0                	cmp    %eax,%esi
404e4a:	73 47                	jae    0x404e93
404e4c:	b8 00 08 00 00       	mov    $0x800,%eax
404e51:	3b f0                	cmp    %eax,%esi
404e53:	73 02                	jae    0x404e57
404e55:	8b c6                	mov    %esi,%eax
404e57:	8b 5d fc             	mov    -0x4(%ebp),%ebx
404e5a:	03 c6                	add    %esi,%eax
404e5c:	3b c6                	cmp    %esi,%eax
404e5e:	72 0d                	jb     0x404e6d
404e60:	50                   	push   %eax
404e61:	53                   	push   %ebx
404e62:	e8 84 3c 00 00       	call   0x408aeb
404e67:	59                   	pop    %ecx
404e68:	59                   	pop    %ecx
404e69:	85 c0                	test   %eax,%eax
404e6b:	75 14                	jne    0x404e81
404e6d:	8d 46 10             	lea    0x10(%esi),%eax
404e70:	3b c6                	cmp    %esi,%eax
404e72:	72 3e                	jb     0x404eb2
404e74:	50                   	push   %eax
404e75:	53                   	push   %ebx
404e76:	e8 70 3c 00 00       	call   0x408aeb
404e7b:	59                   	pop    %ecx
404e7c:	59                   	pop    %ecx
404e7d:	85 c0                	test   %eax,%eax
404e7f:	74 31                	je     0x404eb2
404e81:	c1 ff 02             	sar    $0x2,%edi
404e84:	50                   	push   %eax
404e85:	8d 1c b8             	lea    (%eax,%edi,4),%ebx
404e88:	ff 15 58 90 41 00    	call   *0x419058
404e8e:	a3 28 2b 42 00       	mov    %eax,0x422b28
404e93:	ff 75 08             	push   0x8(%ebp)
404e96:	ff 15 58 90 41 00    	call   *0x419058
404e9c:	8d 4b 04             	lea    0x4(%ebx),%ecx
404e9f:	51                   	push   %ecx
404ea0:	89 03                	mov    %eax,(%ebx)
404ea2:	ff 15 58 90 41 00    	call   *0x419058
404ea8:	a3 24 2b 42 00       	mov    %eax,0x422b24
404ead:	8b 45 08             	mov    0x8(%ebp),%eax
404eb0:	eb 02                	jmp    0x404eb4
404eb2:	33 c0                	xor    %eax,%eax
404eb4:	5f                   	pop    %edi
404eb5:	5e                   	pop    %esi
404eb6:	5b                   	pop    %ebx
404eb7:	c9                   	leave
404eb8:	c3                   	ret
404eb9:	55                   	push   %ebp
404eba:	8b ec                	mov    %esp,%ebp
404ebc:	ff 75 08             	push   0x8(%ebp)
404ebf:	e8 ff fe ff ff       	call   0x404dc3
404ec4:	f7 d8                	neg    %eax
404ec6:	1b c0                	sbb    %eax,%eax
404ec8:	f7 d8                	neg    %eax
404eca:	59                   	pop    %ecx
404ecb:	48                   	dec    %eax
404ecc:	5d                   	pop    %ebp
404ecd:	c3                   	ret
404ece:	ff 35 40 27 42 00    	push   0x422740
404ed4:	ff 15 5c 90 41 00    	call   *0x41905c
404eda:	85 c0                	test   %eax,%eax
404edc:	74 02                	je     0x404ee0
404ede:	ff d0                	call   *%eax
404ee0:	6a 19                	push   $0x19
404ee2:	e8 1b 61 00 00       	call   0x40b002
404ee7:	6a 01                	push   $0x1
404ee9:	6a 00                	push   $0x0
404eeb:	e8 47 3c 00 00       	call   0x408b37
404ef0:	83 c4 0c             	add    $0xc,%esp
404ef3:	e9 5e 3c 00 00       	jmp    0x408b56
404ef8:	e9 1b 02 00 00       	jmp    0x405118
404efd:	51                   	push   %ecx
404efe:	c7 01 cc a2 41 00    	movl   $0x41a2cc,(%ecx)
404f04:	e8 98 64 00 00       	call   0x40b3a1
404f09:	59                   	pop    %ecx
404f0a:	c3                   	ret
404f0b:	55                   	push   %ebp
404f0c:	8b ec                	mov    %esp,%ebp
404f0e:	8d 41 09             	lea    0x9(%ecx),%eax
404f11:	50                   	push   %eax
404f12:	8b 45 08             	mov    0x8(%ebp),%eax
404f15:	83 c0 09             	add    $0x9,%eax
404f18:	50                   	push   %eax
404f19:	e8 82 3c 00 00       	call   0x408ba0
404f1e:	f7 d8                	neg    %eax
404f20:	59                   	pop    %ecx
404f21:	1b c0                	sbb    %eax,%eax
404f23:	59                   	pop    %ecx
404f24:	40                   	inc    %eax
404f25:	5d                   	pop    %ebp
404f26:	c2 04 00             	ret    $0x4
404f29:	55                   	push   %ebp
404f2a:	8b ec                	mov    %esp,%ebp
404f2c:	56                   	push   %esi
404f2d:	8b f1                	mov    %ecx,%esi
404f2f:	e8 c9 ff ff ff       	call   0x404efd
404f34:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
404f38:	74 07                	je     0x404f41
404f3a:	56                   	push   %esi
404f3b:	e8 b8 ff ff ff       	call   0x404ef8
404f40:	59                   	pop    %ecx
404f41:	8b c6                	mov    %esi,%eax
404f43:	5e                   	pop    %esi
404f44:	5d                   	pop    %ebp
404f45:	c2 04 00             	ret    $0x4
404f48:	55                   	push   %ebp
404f49:	8b ec                	mov    %esp,%ebp
404f4b:	83 ec 10             	sub    $0x10,%esp
404f4e:	eb 0d                	jmp    0x404f5d
404f50:	ff 75 08             	push   0x8(%ebp)
404f53:	e8 ba 64 00 00       	call   0x40b412
404f58:	59                   	pop    %ecx
404f59:	85 c0                	test   %eax,%eax
404f5b:	74 0f                	je     0x404f6c
404f5d:	ff 75 08             	push   0x8(%ebp)
404f60:	e8 d8 32 00 00       	call   0x40823d
404f65:	59                   	pop    %ecx
404f66:	85 c0                	test   %eax,%eax
404f68:	74 e6                	je     0x404f50
404f6a:	c9                   	leave
404f6b:	c3                   	ret
404f6c:	6a 01                	push   $0x1
404f6e:	8d 45 fc             	lea    -0x4(%ebp),%eax
404f71:	50                   	push   %eax
404f72:	8d 4d f0             	lea    -0x10(%ebp),%ecx
404f75:	c7 45 fc cc 9f 41 00 	movl   $0x419fcc,-0x4(%ebp)
404f7c:	e8 72 00 00 00       	call   0x404ff3
404f81:	68 f0 df 41 00       	push   $0x41dff0
404f86:	8d 45 f0             	lea    -0x10(%ebp),%eax
404f89:	50                   	push   %eax
404f8a:	c7 45 f0 c4 9f 41 00 	movl   $0x419fc4,-0x10(%ebp)
404f91:	e8 e5 0d 00 00       	call   0x405d7b
404f96:	cc                   	int3
404f97:	55                   	push   %ebp
404f98:	8b ec                	mov    %esp,%ebp
404f9a:	56                   	push   %esi
404f9b:	ff 75 08             	push   0x8(%ebp)
404f9e:	8b f1                	mov    %ecx,%esi
404fa0:	e8 69 00 00 00       	call   0x40500e
404fa5:	c7 06 f4 a2 41 00    	movl   $0x41a2f4,(%esi)
404fab:	8b c6                	mov    %esi,%eax
404fad:	5e                   	pop    %esi
404fae:	5d                   	pop    %ebp
404faf:	c2 04 00             	ret    $0x4
404fb2:	55                   	push   %ebp
404fb3:	8b ec                	mov    %esp,%ebp
404fb5:	56                   	push   %esi
404fb6:	8d 45 08             	lea    0x8(%ebp),%eax
404fb9:	50                   	push   %eax
404fba:	8b f1                	mov    %ecx,%esi
404fbc:	e8 0d 00 00 00       	call   0x404fce
404fc1:	c7 06 f4 a2 41 00    	movl   $0x41a2f4,(%esi)
404fc7:	8b c6                	mov    %esi,%eax
404fc9:	5e                   	pop    %esi
404fca:	5d                   	pop    %ebp
404fcb:	c2 04 00             	ret    $0x4
404fce:	55                   	push   %ebp
404fcf:	8b ec                	mov    %esp,%ebp
404fd1:	8b 45 08             	mov    0x8(%ebp),%eax
404fd4:	56                   	push   %esi
404fd5:	8b f1                	mov    %ecx,%esi
404fd7:	83 66 04 00          	andl   $0x0,0x4(%esi)
404fdb:	c7 06 d4 a2 41 00    	movl   $0x41a2d4,(%esi)
404fe1:	c6 46 08 00          	movb   $0x0,0x8(%esi)
404fe5:	ff 30                	push   (%eax)
404fe7:	e8 a8 00 00 00       	call   0x405094
404fec:	8b c6                	mov    %esi,%eax
404fee:	5e                   	pop    %esi
404fef:	5d                   	pop    %ebp
404ff0:	c2 04 00             	ret    $0x4
404ff3:	55                   	push   %ebp
404ff4:	8b ec                	mov    %esp,%ebp
404ff6:	8b 45 08             	mov    0x8(%ebp),%eax
404ff9:	c7 01 d4 a2 41 00    	movl   $0x41a2d4,(%ecx)
404fff:	8b 00                	mov    (%eax),%eax
405001:	89 41 04             	mov    %eax,0x4(%ecx)
405004:	c6 41 08 00          	movb   $0x0,0x8(%ecx)
405008:	8b c1                	mov    %ecx,%eax
40500a:	5d                   	pop    %ebp
40500b:	c2 08 00             	ret    $0x8
40500e:	55                   	push   %ebp
40500f:	8b ec                	mov    %esp,%ebp
405011:	56                   	push   %esi
405012:	ff 75 08             	push   0x8(%ebp)
405015:	8b f1                	mov    %ecx,%esi
405017:	83 66 04 00          	andl   $0x0,0x4(%esi)
40501b:	c7 06 d4 a2 41 00    	movl   $0x41a2d4,(%esi)
405021:	c6 46 08 00          	movb   $0x0,0x8(%esi)
405025:	e8 12 00 00 00       	call   0x40503c
40502a:	8b c6                	mov    %esi,%eax
40502c:	5e                   	pop    %esi
40502d:	5d                   	pop    %ebp
40502e:	c2 04 00             	ret    $0x4
405031:	c7 01 d4 a2 41 00    	movl   $0x41a2d4,(%ecx)
405037:	e9 96 00 00 00       	jmp    0x4050d2
40503c:	55                   	push   %ebp
40503d:	8b ec                	mov    %esp,%ebp
40503f:	56                   	push   %esi
405040:	57                   	push   %edi
405041:	8b 7d 08             	mov    0x8(%ebp),%edi
405044:	8b f1                	mov    %ecx,%esi
405046:	3b f7                	cmp    %edi,%esi
405048:	74 1d                	je     0x405067
40504a:	e8 83 00 00 00       	call   0x4050d2
40504f:	80 7f 08 00          	cmpb   $0x0,0x8(%edi)
405053:	74 0c                	je     0x405061
405055:	ff 77 04             	push   0x4(%edi)
405058:	8b ce                	mov    %esi,%ecx
40505a:	e8 35 00 00 00       	call   0x405094
40505f:	eb 06                	jmp    0x405067
405061:	8b 47 04             	mov    0x4(%edi),%eax
405064:	89 46 04             	mov    %eax,0x4(%esi)
405067:	5f                   	pop    %edi
405068:	8b c6                	mov    %esi,%eax
40506a:	5e                   	pop    %esi
40506b:	5d                   	pop    %ebp
40506c:	c2 04 00             	ret    $0x4
40506f:	55                   	push   %ebp
405070:	8b ec                	mov    %esp,%ebp
405072:	56                   	push   %esi
405073:	8b f1                	mov    %ecx,%esi
405075:	c7 06 d4 a2 41 00    	movl   $0x41a2d4,(%esi)
40507b:	e8 52 00 00 00       	call   0x4050d2
405080:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
405084:	74 07                	je     0x40508d
405086:	56                   	push   %esi
405087:	e8 6c fe ff ff       	call   0x404ef8
40508c:	59                   	pop    %ecx
40508d:	8b c6                	mov    %esi,%eax
40508f:	5e                   	pop    %esi
405090:	5d                   	pop    %ebp
405091:	c2 04 00             	ret    $0x4
405094:	55                   	push   %ebp
405095:	8b ec                	mov    %esp,%ebp
405097:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40509b:	53                   	push   %ebx
40509c:	8b d9                	mov    %ecx,%ebx
40509e:	74 2d                	je     0x4050cd
4050a0:	57                   	push   %edi
4050a1:	ff 75 08             	push   0x8(%ebp)
4050a4:	e8 47 0c 00 00       	call   0x405cf0
4050a9:	8d 78 01             	lea    0x1(%eax),%edi
4050ac:	57                   	push   %edi
4050ad:	e8 8b 31 00 00       	call   0x40823d
4050b2:	59                   	pop    %ecx
4050b3:	59                   	pop    %ecx
4050b4:	89 43 04             	mov    %eax,0x4(%ebx)
4050b7:	85 c0                	test   %eax,%eax
4050b9:	74 11                	je     0x4050cc
4050bb:	ff 75 08             	push   0x8(%ebp)
4050be:	57                   	push   %edi
4050bf:	50                   	push   %eax
4050c0:	e8 80 63 00 00       	call   0x40b445
4050c5:	83 c4 0c             	add    $0xc,%esp
4050c8:	c6 43 08 01          	movb   $0x1,0x8(%ebx)
4050cc:	5f                   	pop    %edi
4050cd:	5b                   	pop    %ebx
4050ce:	5d                   	pop    %ebp
4050cf:	c2 04 00             	ret    $0x4
4050d2:	56                   	push   %esi
4050d3:	8b f1                	mov    %ecx,%esi
4050d5:	80 7e 08 00          	cmpb   $0x0,0x8(%esi)
4050d9:	74 09                	je     0x4050e4
4050db:	ff 76 04             	push   0x4(%esi)
4050de:	e8 35 00 00 00       	call   0x405118
4050e3:	59                   	pop    %ecx
4050e4:	83 66 04 00          	andl   $0x0,0x4(%esi)
4050e8:	c6 46 08 00          	movb   $0x0,0x8(%esi)
4050ec:	5e                   	pop    %esi
4050ed:	c3                   	ret
4050ee:	8b 41 04             	mov    0x4(%ecx),%eax
4050f1:	85 c0                	test   %eax,%eax
4050f3:	75 05                	jne    0x4050fa
4050f5:	b8 dc a2 41 00       	mov    $0x41a2dc,%eax
4050fa:	c3                   	ret
4050fb:	55                   	push   %ebp
4050fc:	8b ec                	mov    %esp,%ebp
4050fe:	5d                   	pop    %ebp
4050ff:	e9 00 00 00 00       	jmp    0x405104
405104:	55                   	push   %ebp
405105:	8b ec                	mov    %esp,%ebp
405107:	6a 0a                	push   $0xa
405109:	6a 00                	push   $0x0
40510b:	ff 75 08             	push   0x8(%ebp)
40510e:	e8 96 03 00 00       	call   0x4054a9
405113:	83 c4 0c             	add    $0xc,%esp
405116:	5d                   	pop    %ebp
405117:	c3                   	ret
405118:	55                   	push   %ebp
405119:	8b ec                	mov    %esp,%ebp
40511b:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40511f:	74 2d                	je     0x40514e
405121:	ff 75 08             	push   0x8(%ebp)
405124:	6a 00                	push   $0x0
405126:	ff 35 54 27 42 00    	push   0x422754
40512c:	ff 15 7c 90 41 00    	call   *0x41907c
405132:	85 c0                	test   %eax,%eax
405134:	75 18                	jne    0x40514e
405136:	56                   	push   %esi
405137:	e8 41 30 00 00       	call   0x40817d
40513c:	8b f0                	mov    %eax,%esi
40513e:	ff 15 18 90 41 00    	call   *0x419018
405144:	50                   	push   %eax
405145:	e8 46 30 00 00       	call   0x408190
40514a:	59                   	pop    %ecx
40514b:	89 06                	mov    %eax,(%esi)
40514d:	5e                   	pop    %esi
40514e:	5d                   	pop    %ebp
40514f:	c3                   	ret
405150:	8b 44 24 0c          	mov    0xc(%esp),%eax