401c72:	8b 55 10             	mov    0x10(%ebp),%edx
401c75:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
401c7c:	8d 4a 02             	lea    0x2(%edx),%ecx
401c7f:	66 8b 02             	mov    (%edx),%ax
401c82:	83 c2 02             	add    $0x2,%edx
401c85:	66 3b c6             	cmp    %si,%ax
401c88:	75 f5                	jne    0x401c7f
401c8a:	8b 75 0c             	mov    0xc(%ebp),%esi
401c8d:	2b d1                	sub    %ecx,%edx
401c8f:	d1 fa                	sar    $1,%edx
401c91:	8b 4e 10             	mov    0x10(%esi),%ecx
401c94:	03 ca                	add    %edx,%ecx
401c96:	51                   	push   %ecx
401c97:	8b cf                	mov    %edi,%ecx
401c99:	e8 a3 0b 02 00       	call   0x422841
401c9e:	56                   	push   %esi
401c9f:	8b cf                	mov    %edi,%ecx
401ca1:	e8 5f d9 01 00       	call   0x41f605
401ca6:	ff 75 10             	push   0x10(%ebp)
401ca9:	8b cf                	mov    %edi,%ecx
401cab:	e8 cc d9 01 00       	call   0x41f67c
401cb0:	8b c7                	mov    %edi,%eax
401cb2:	e8 5c dd 03 00       	call   0x43fa13
401cb7:	c3                   	ret
401cb8:	6a 04                	push   $0x4
401cba:	b8 e6 9d 48 00       	mov    $0x489de6,%eax
401cbf:	e8 86 dd 03 00       	call   0x43fa4a
401cc4:	33 f6                	xor    %esi,%esi
401cc6:	89 75 fc             	mov    %esi,-0x4(%ebp)
401cc9:	33 c0                	xor    %eax,%eax
401ccb:	89 75 f0             	mov    %esi,-0x10(%ebp)
401cce:	8b 7d 08             	mov    0x8(%ebp),%edi
401cd1:	89 77 10             	mov    %esi,0x10(%edi)
401cd4:	c7 47 14 07 00 00 00 	movl   $0x7,0x14(%edi)
401cdb:	66 89 07             	mov    %ax,(%edi)
401cde:	89 75 fc             	mov    %esi,-0x4(%ebp)
401ce1:	8b 55 0c             	mov    0xc(%ebp),%edx
401ce4:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
401ceb:	8d 4a 02             	lea    0x2(%edx),%ecx
401cee:	66 8b 02             	mov    (%edx),%ax
401cf1:	83 c2 02             	add    $0x2,%edx
401cf4:	66 3b c6             	cmp    %si,%ax
401cf7:	75 f5                	jne    0x401cee
401cf9:	8b 75 10             	mov    0x10(%ebp),%esi
401cfc:	2b d1                	sub    %ecx,%edx
401cfe:	d1 fa                	sar    $1,%edx
401d00:	8b 4e 10             	mov    0x10(%esi),%ecx
401d03:	03 ca                	add    %edx,%ecx
401d05:	51                   	push   %ecx
401d06:	8b cf                	mov    %edi,%ecx
401d08:	e8 34 0b 02 00       	call   0x422841
401d0d:	ff 75 0c             	push   0xc(%ebp)
401d10:	8b cf                	mov    %edi,%ecx
401d12:	e8 65 d9 01 00       	call   0x41f67c
401d17:	56                   	push   %esi
401d18:	8b cf                	mov    %edi,%ecx
401d1a:	e8 e6 d8 01 00       	call   0x41f605
401d1f:	8b c7                	mov    %edi,%eax
401d21:	e8 ed dc 03 00       	call   0x43fa13
401d26:	c3                   	ret
401d27:	55                   	push   %ebp
401d28:	8b ec                	mov    %esp,%ebp
401d2a:	56                   	push   %esi
401d2b:	8b f1                	mov    %ecx,%esi
401d2d:	33 d2                	xor    %edx,%edx
401d2f:	6a 03                	push   $0x3
401d31:	59                   	pop    %ecx
401d32:	ff 46 08             	incl   0x8(%esi)
401d35:	8b 46 08             	mov    0x8(%esi),%eax
401d38:	f7 f1                	div    %ecx
401d3a:	85 d2                	test   %edx,%edx
401d3c:	75 1a                	jne    0x401d58
401d3e:	8b 4d 08             	mov    0x8(%ebp),%ecx
401d41:	8b 46 04             	mov    0x4(%esi),%eax
401d44:	29 01                	sub    %eax,(%ecx)
401d46:	ff 31                	push   (%ecx)
401d48:	8b 46 04             	mov    0x4(%esi),%eax
401d4b:	03 06                	add    (%esi),%eax
401d4d:	50                   	push   %eax
401d4e:	ff 36                	push   (%esi)
401d50:	e8 ca 6d 00 00       	call   0x408b1f
401d55:	83 c4 0c             	add    $0xc,%esp
401d58:	5e                   	pop    %esi
401d59:	5d                   	pop    %ebp
401d5a:	c2 04 00             	ret    $0x4
401d5d:	68 30 01 00 00       	push   $0x130
401d62:	b8 4d 9e 48 00       	mov    $0x489e4d,%eax
401d67:	e8 80 dd 03 00       	call   0x43faec
401d6c:	8b 75 08             	mov    0x8(%ebp),%esi
401d6f:	8b 5d 0c             	mov    0xc(%ebp),%ebx
401d72:	ff 15 04 41 49 00    	call   *0x494104
401d78:	50                   	push   %eax
401d79:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
401d7c:	e8 dd 95 00 00       	call   0x40b35e
401d81:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
401d85:	68 50 62 49 00       	push   $0x496250
401d8a:	56                   	push   %esi
401d8b:	8d 45 bc             	lea    -0x44(%ebp),%eax
401d8e:	50                   	push   %eax
401d8f:	e8 b5 fe ff ff       	call   0x401c49
401d94:	83 c4 0c             	add    $0xc,%esp
401d97:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
401d9b:	6a 01                	push   $0x1
401d9d:	50                   	push   %eax
401d9e:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
401da1:	e8 eb f8 ff ff       	call   0x401691
401da6:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
401daa:	8d 4d bc             	lea    -0x44(%ebp),%ecx
401dad:	e8 48 b5 01 00       	call   0x41d2fa
401db2:	8d 7d d4             	lea    -0x2c(%ebp),%edi
401db5:	83 7d e8 08          	cmpl   $0x8,-0x18(%ebp)
401db9:	0f 43 7d d4          	cmovae -0x2c(%ebp),%edi
401dbd:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
401dc0:	0f 43 4d d4          	cmovae -0x2c(%ebp),%ecx
401dc4:	8b 45 e4             	mov    -0x1c(%ebp),%eax
401dc7:	8d 34 41             	lea    (%ecx,%eax,2),%esi
401dca:	8d 8d 6c ff ff ff    	lea    -0x94(%ebp),%ecx
401dd0:	e8 14 99 00 00       	call   0x40b6e9
401dd5:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
401dd9:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
401ddd:	57                   	push   %edi
401dde:	6a 00                	push   $0x0
401de0:	8d 45 a4             	lea    -0x5c(%ebp),%eax
401de3:	50                   	push   %eax
401de4:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
401dea:	50                   	push   %eax
401deb:	56                   	push   %esi
401dec:	57                   	push   %edi
401ded:	e8 26 39 00 00       	call   0x405718
401df2:	83 c4 18             	add    $0x18,%esp
401df5:	84 c0                	test   %al,%al
401df7:	0f 84 a3 00 00 00    	je     0x401ea0
401dfd:	6a 01                	push   $0x1
401dff:	8d 8d 6c ff ff ff    	lea    -0x94(%ebp),%ecx
401e05:	e8 7f df 00 00       	call   0x40fd89
401e0a:	8b 70 04             	mov    0x4(%eax),%esi
401e0d:	6a 01                	push   $0x1
401e0f:	8d 8d 6c ff ff ff    	lea    -0x94(%ebp),%ecx
401e15:	e8 6f df 00 00       	call   0x40fd89
401e1a:	8d 4d bb             	lea    -0x45(%ebp),%ecx
401e1d:	51                   	push   %ecx
401e1e:	56                   	push   %esi
401e1f:	ff 30                	push   (%eax)
401e21:	8d 4d bc             	lea    -0x44(%ebp),%ecx
401e24:	e8 f1 f8 ff ff       	call   0x40171a
401e29:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
401e2d:	6a 01                	push   $0x1
401e2f:	6a 01                	push   $0x1
401e31:	8d 45 bc             	lea    -0x44(%ebp),%eax
401e34:	50                   	push   %eax
401e35:	8d 8d c4 fe ff ff    	lea    -0x13c(%ebp),%ecx
401e3b:	e8 ee 92 00 00       	call   0x40b12e
401e40:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
401e44:	53                   	push   %ebx
401e45:	8d 8d c4 fe ff ff    	lea    -0x13c(%ebp),%ecx
401e4b:	e8 24 0f 00 00       	call   0x402d74
401e50:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
401e54:	8d 8d c4 fe ff ff    	lea    -0x13c(%ebp),%ecx
401e5a:	e8 41 e4 00 00       	call   0x4102a0
401e5f:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
401e63:	8d 4d bc             	lea    -0x44(%ebp),%ecx
401e66:	e8 8f b4 01 00       	call   0x41d2fa
401e6b:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
401e6f:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
401e73:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
401e79:	e8 04 b4 01 00       	call   0x41d282
401e7e:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
401e82:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
401e85:	e8 49 bf 00 00       	call   0x40ddd3
401e8a:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
401e8e:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
401e91:	e8 64 b4 01 00       	call   0x41d2fa
401e96:	b0 01                	mov    $0x1,%al
401e98:	eb 36                	jmp    0x401ed0
401e9a:	b8 a0 1e 40 00       	mov    $0x401ea0,%eax
401e9f:	c3                   	ret
401ea0:	c7 45 fc 04 00 00 00 	movl   $0x4,-0x4(%ebp)
401ea7:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
401eab:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
401eb1:	e8 cc b3 01 00       	call   0x41d282
401eb6:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
401eba:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
401ebd:	e8 11 bf 00 00       	call   0x40ddd3
401ec2:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
401ec6:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
401ec9:	e8 2c b4 01 00       	call   0x41d2fa
401ece:	32 c0                	xor    %al,%al
401ed0:	e8 64 db 03 00       	call   0x43fa39
401ed5:	c3                   	ret
401ed6:	6a 18                	push   $0x18
401ed8:	b8 8d 9e 48 00       	mov    $0x489e8d,%eax
401edd:	e8 68 db 03 00       	call   0x43fa4a
401ee2:	e8 c0 34 02 00       	call   0x4253a7
401ee7:	ff 75 08             	push   0x8(%ebp)
401eea:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
401eed:	51                   	push   %ecx
401eee:	8b c8                	mov    %eax,%ecx
401ef0:	e8 ac 34 02 00       	call   0x4253a1
401ef5:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
401ef9:	8d 45 ec             	lea    -0x14(%ebp),%eax
401efc:	50                   	push   %eax
401efd:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
401f00:	e8 a5 01 02 00       	call   0x4220aa
401f05:	33 db                	xor    %ebx,%ebx
401f07:	43                   	inc    %ebx
401f08:	88 5d fc             	mov    %bl,-0x4(%ebp)
401f0b:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
401f0f:	74 44                	je     0x401f55
401f11:	8d 45 ec             	lea    -0x14(%ebp),%eax
401f14:	50                   	push   %eax
401f15:	8d 45 dc             	lea    -0x24(%ebp),%eax
401f18:	50                   	push   %eax
401f19:	e8 3e 4e 00 00       	call   0x406d5c
401f1e:	59                   	pop    %ecx
401f1f:	59                   	pop    %ecx
401f20:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
401f24:	8b 75 0c             	mov    0xc(%ebp),%esi
401f27:	8b ce                	mov    %esi,%ecx
401f29:	50                   	push   %eax
401f2a:	e8 94 d8 00 00       	call   0x40f7c3
401f2f:	88 5d fc             	mov    %bl,-0x4(%ebp)
401f32:	8b 4d e0             	mov    -0x20(%ebp),%ecx
401f35:	85 c9                	test   %ecx,%ecx
401f37:	74 05                	je     0x401f3e
401f39:	e8 e4 5d 01 00       	call   0x417d22
401f3e:	83 3e 00             	cmpl   $0x0,(%esi)
401f41:	74 12                	je     0x401f55
401f43:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
401f47:	8b 4d f0             	mov    -0x10(%ebp),%ecx
401f4a:	85 c9                	test   %ecx,%ecx
401f4c:	74 19                	je     0x401f67
401f4e:	e8 cf 5d 01 00       	call   0x417d22
401f53:	eb 12                	jmp    0x401f67
401f55:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
401f59:	8b 4d f0             	mov    -0x10(%ebp),%ecx
401f5c:	85 c9                	test   %ecx,%ecx
401f5e:	74 05                	je     0x401f65
401f60:	e8 bd 5d 01 00       	call   0x417d22
401f65:	32 db                	xor    %bl,%bl
401f67:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
401f6b:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
401f6e:	e8 e6 5d 01 00       	call   0x417d59
401f73:	8a c3                	mov    %bl,%al
401f75:	e8 99 da 03 00       	call   0x43fa13
401f7a:	c3                   	ret
401f7b:	6a 18                	push   $0x18
401f7d:	b8 c0 9e 48 00       	mov    $0x489ec0,%eax
401f82:	e8 c3 da 03 00       	call   0x43fa4a
401f87:	e8 1b 34 02 00       	call   0x4253a7
401f8c:	ff 75 08             	push   0x8(%ebp)
401f8f:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
401f92:	51                   	push   %ecx
401f93:	8b c8                	mov    %eax,%ecx
401f95:	e8 07 34 02 00       	call   0x4253a1
401f9a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
401f9e:	8d 45 ec             	lea    -0x14(%ebp),%eax
401fa1:	50                   	push   %eax
401fa2:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
401fa5:	e8 00 01 02 00       	call   0x4220aa
401faa:	33 db                	xor    %ebx,%ebx
401fac:	43                   	inc    %ebx
401fad:	88 5d fc             	mov    %bl,-0x4(%ebp)
401fb0:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
401fb4:	74 44                	je     0x401ffa
401fb6:	8d 45 ec             	lea    -0x14(%ebp),%eax
401fb9:	50                   	push   %eax
401fba:	8d 45 dc             	lea    -0x24(%ebp),%eax
401fbd:	50                   	push   %eax
401fbe:	e8 22 4e 00 00       	call   0x406de5
401fc3:	59                   	pop    %ecx
401fc4:	59                   	pop    %ecx
401fc5:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
401fc9:	8b 75 0c             	mov    0xc(%ebp),%esi
401fcc:	8b ce                	mov    %esi,%ecx
401fce:	50                   	push   %eax
401fcf:	e8 65 d8 00 00       	call   0x40f839
401fd4:	88 5d fc             	mov    %bl,-0x4(%ebp)
401fd7:	8b 4d e0             	mov    -0x20(%ebp),%ecx
401fda:	85 c9                	test   %ecx,%ecx
401fdc:	74 05                	je     0x401fe3
401fde:	e8 3f 5d 01 00       	call   0x417d22
401fe3:	83 3e 00             	cmpl   $0x0,(%esi)
401fe6:	74 12                	je     0x401ffa
401fe8:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
401fec:	8b 4d f0             	mov    -0x10(%ebp),%ecx
401fef:	85 c9                	test   %ecx,%ecx
401ff1:	74 19                	je     0x40200c
401ff3:	e8 2a 5d 01 00       	call   0x417d22
401ff8:	eb 12                	jmp    0x40200c
401ffa:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
401ffe:	8b 4d f0             	mov    -0x10(%ebp),%ecx
402001:	85 c9                	test   %ecx,%ecx
402003:	74 05                	je     0x40200a
402005:	e8 18 5d 01 00       	call   0x417d22
40200a:	32 db                	xor    %bl,%bl
40200c:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
402010:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
402013:	e8 41 5d 01 00       	call   0x417d59
402018:	8a c3                	mov    %bl,%al
40201a:	e8 f4 d9 03 00       	call   0x43fa13
40201f:	c3                   	ret
402020:	6a 18                	push   $0x18
402022:	b8 f3 9e 48 00       	mov    $0x489ef3,%eax
402027:	e8 1e da 03 00       	call   0x43fa4a
40202c:	e8 76 33 02 00       	call   0x4253a7
402031:	ff 75 08             	push   0x8(%ebp)
402034:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
402037:	51                   	push   %ecx
402038:	8b c8                	mov    %eax,%ecx
40203a:	e8 62 33 02 00       	call   0x4253a1
40203f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
402043:	8d 45 ec             	lea    -0x14(%ebp),%eax
402046:	50                   	push   %eax
402047:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40204a:	e8 5b 00 02 00       	call   0x4220aa
40204f:	33 db                	xor    %ebx,%ebx
402051:	43                   	inc    %ebx
402052:	88 5d fc             	mov    %bl,-0x4(%ebp)
402055:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
402059:	74 44                	je     0x40209f
40205b:	8d 45 ec             	lea    -0x14(%ebp),%eax
40205e:	50                   	push   %eax
40205f:	8d 45 dc             	lea    -0x24(%ebp),%eax
402062:	50                   	push   %eax
402063:	e8 06 4e 00 00       	call   0x406e6e
402068:	59                   	pop    %ecx
402069:	59                   	pop    %ecx
40206a:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
40206e:	8b 75 0c             	mov    0xc(%ebp),%esi
402071:	8b ce                	mov    %esi,%ecx
402073:	50                   	push   %eax
402074:	e8 36 d8 00 00       	call   0x40f8af
402079:	88 5d fc             	mov    %bl,-0x4(%ebp)
40207c:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40207f:	85 c9                	test   %ecx,%ecx
402081:	74 05                	je     0x402088
402083:	e8 9a 5c 01 00       	call   0x417d22
402088:	83 3e 00             	cmpl   $0x0,(%esi)
40208b:	74 12                	je     0x40209f
40208d:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
402091:	8b 4d f0             	mov    -0x10(%ebp),%ecx
402094:	85 c9                	test   %ecx,%ecx
402096:	74 19                	je     0x4020b1
402098:	e8 85 5c 01 00       	call   0x417d22
40209d:	eb 12                	jmp    0x4020b1
40209f:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
4020a3:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4020a6:	85 c9                	test   %ecx,%ecx
4020a8:	74 05                	je     0x4020af
4020aa:	e8 73 5c 01 00       	call   0x417d22