40fd3a:	89 75 fc             	mov    %esi,-0x4(%ebp)
40fd3d:	39 75 14             	cmp    %esi,0x14(%ebp)
40fd40:	75 20                	jne    0x40fd62
40fd42:	be 57 00 07 80       	mov    $0x80070057,%esi
40fd47:	56                   	push   %esi
40fd48:	68 f8 41 40 00       	push   $0x4041f8
40fd4d:	68 0d 01 00 00       	push   $0x10d
40fd52:	68 20 41 40 00       	push   $0x404120
40fd57:	51                   	push   %ecx
40fd58:	e8 75 12 00 00       	call   0x410fd2
40fd5d:	e9 cb 00 00 00       	jmp    0x40fe2d
40fd62:	8d 45 fc             	lea    -0x4(%ebp),%eax
40fd65:	50                   	push   %eax
40fd66:	56                   	push   %esi
40fd67:	56                   	push   %esi
40fd68:	ff 75 10             	push   0x10(%ebp)
40fd6b:	ff 75 0c             	push   0xc(%ebp)
40fd6e:	ff 75 08             	push   0x8(%ebp)
40fd71:	ff 15 88 60 41 00    	call   *0x416088
40fd77:	85 c0                	test   %eax,%eax
40fd79:	75 22                	jne    0x40fd9d
40fd7b:	ff 15 68 61 41 00    	call   *0x416168
40fd81:	8b f0                	mov    %eax,%esi
40fd83:	85 f6                	test   %esi,%esi
40fd85:	7e 09                	jle    0x40fd90
40fd87:	0f b7 f6             	movzwl %si,%esi
40fd8a:	81 ce 00 00 07 80    	or     $0x80070000,%esi
40fd90:	56                   	push   %esi
40fd91:	68 f8 41 40 00       	push   $0x4041f8
40fd96:	68 20 01 00 00       	push   $0x120
40fd9b:	eb b5                	jmp    0x40fd52
40fd9d:	ff 75 fc             	push   -0x4(%ebp)
40fda0:	ff 15 b8 62 41 00    	call   *0x4162b8
40fda6:	8b f8                	mov    %eax,%edi
40fda8:	59                   	pop    %ecx
40fda9:	85 ff                	test   %edi,%edi
40fdab:	75 12                	jne    0x40fdbf
40fdad:	be 0e 00 07 80       	mov    $0x8007000e,%esi
40fdb2:	56                   	push   %esi
40fdb3:	68 f8 41 40 00       	push   $0x4041f8
40fdb8:	68 27 01 00 00       	push   $0x127
40fdbd:	eb 93                	jmp    0x40fd52
40fdbf:	8d 45 fc             	lea    -0x4(%ebp),%eax
40fdc2:	50                   	push   %eax
40fdc3:	57                   	push   %edi
40fdc4:	56                   	push   %esi
40fdc5:	ff 75 10             	push   0x10(%ebp)
40fdc8:	ff 75 0c             	push   0xc(%ebp)
40fdcb:	ff 75 08             	push   0x8(%ebp)
40fdce:	ff 15 88 60 41 00    	call   *0x416088
40fdd4:	85 c0                	test   %eax,%eax
40fdd6:	75 22                	jne    0x40fdfa
40fdd8:	ff 15 68 61 41 00    	call   *0x416168
40fdde:	8b f0                	mov    %eax,%esi
40fde0:	85 f6                	test   %esi,%esi
40fde2:	7e 09                	jle    0x40fded
40fde4:	0f b7 f6             	movzwl %si,%esi
40fde7:	81 ce 00 00 07 80    	or     $0x80070000,%esi
40fded:	56                   	push   %esi
40fdee:	68 f8 41 40 00       	push   $0x4041f8
40fdf3:	68 36 01 00 00       	push   $0x136
40fdf8:	eb 20                	jmp    0x40fe1a
40fdfa:	ff 75 18             	push   0x18(%ebp)
40fdfd:	ff 75 14             	push   0x14(%ebp)
40fe00:	ff 75 fc             	push   -0x4(%ebp)
40fe03:	57                   	push   %edi
40fe04:	e8 2c 00 00 00       	call   0x40fe35
40fe09:	8b f0                	mov    %eax,%esi
40fe0b:	85 f6                	test   %esi,%esi
40fe0d:	79 16                	jns    0x40fe25
40fe0f:	56                   	push   %esi
40fe10:	68 f8 41 40 00       	push   $0x4041f8
40fe15:	68 3f 01 00 00       	push   $0x13f
40fe1a:	68 20 41 40 00       	push   $0x404120
40fe1f:	51                   	push   %ecx
40fe20:	e8 ad 11 00 00       	call   0x410fd2
40fe25:	57                   	push   %edi
40fe26:	ff 15 bc 62 41 00    	call   *0x4162bc
40fe2c:	59                   	pop    %ecx
40fe2d:	5f                   	pop    %edi
40fe2e:	8b c6                	mov    %esi,%eax
40fe30:	5e                   	pop    %esi
40fe31:	c9                   	leave
40fe32:	c2 14 00             	ret    $0x14
40fe35:	8b ff                	mov    %edi,%edi
40fe37:	55                   	push   %ebp
40fe38:	8b ec                	mov    %esp,%ebp
40fe3a:	51                   	push   %ecx
40fe3b:	53                   	push   %ebx
40fe3c:	56                   	push   %esi
40fe3d:	33 f6                	xor    %esi,%esi
40fe3f:	57                   	push   %edi
40fe40:	89 75 fc             	mov    %esi,-0x4(%ebp)
40fe43:	39 75 10             	cmp    %esi,0x10(%ebp)
40fe46:	75 20                	jne    0x40fe68
40fe48:	bf 57 00 07 80       	mov    $0x80070057,%edi
40fe4d:	57                   	push   %edi
40fe4e:	68 48 42 40 00       	push   $0x404248
40fe53:	68 6b 01 00 00       	push   $0x16b
40fe58:	68 20 41 40 00       	push   $0x404120
40fe5d:	51                   	push   %ecx
40fe5e:	e8 6f 11 00 00       	call   0x410fd2
40fe63:	e9 e0 00 00 00       	jmp    0x40ff48
40fe68:	8b 7d 14             	mov    0x14(%ebp),%edi
40fe6b:	57                   	push   %edi
40fe6c:	56                   	push   %esi
40fe6d:	6a 01                	push   $0x1
40fe6f:	ff 75 0c             	push   0xc(%ebp)
40fe72:	ff 75 08             	push   0x8(%ebp)
40fe75:	ff 15 ac 60 41 00    	call   *0x4160ac
40fe7b:	85 c0                	test   %eax,%eax
40fe7d:	75 22                	jne    0x40fea1
40fe7f:	ff 15 68 61 41 00    	call   *0x416168
40fe85:	8b f8                	mov    %eax,%edi
40fe87:	85 ff                	test   %edi,%edi
40fe89:	7e 09                	jle    0x40fe94
40fe8b:	0f b7 ff             	movzwl %di,%edi
40fe8e:	81 cf 00 00 07 80    	or     $0x80070000,%edi
40fe94:	57                   	push   %edi
40fe95:	68 48 42 40 00       	push   $0x404248
40fe9a:	68 79 01 00 00       	push   $0x179
40fe9f:	eb b7                	jmp    0x40fe58
40fea1:	8b 07                	mov    (%edi),%eax
40fea3:	03 c0                	add    %eax,%eax
40fea5:	50                   	push   %eax
40fea6:	ff 15 b8 62 41 00    	call   *0x4162b8
40feac:	8b d8                	mov    %eax,%ebx
40feae:	59                   	pop    %ecx
40feaf:	85 db                	test   %ebx,%ebx
40feb1:	75 12                	jne    0x40fec5
40feb3:	bf 0e 00 07 80       	mov    $0x8007000e,%edi
40feb8:	57                   	push   %edi
40feb9:	68 48 42 40 00       	push   $0x404248
40febe:	68 7f 01 00 00       	push   $0x17f
40fec3:	eb 93                	jmp    0x40fe58
40fec5:	57                   	push   %edi
40fec6:	53                   	push   %ebx
40fec7:	6a 01                	push   $0x1
40fec9:	ff 75 0c             	push   0xc(%ebp)
40fecc:	ff 75 08             	push   0x8(%ebp)
40fecf:	ff 15 ac 60 41 00    	call   *0x4160ac
40fed5:	85 c0                	test   %eax,%eax
40fed7:	75 2d                	jne    0x40ff06
40fed9:	ff 15 68 61 41 00    	call   *0x416168
40fedf:	8b f8                	mov    %eax,%edi
40fee1:	85 ff                	test   %edi,%edi
40fee3:	7e 09                	jle    0x40feee
40fee5:	0f b7 ff             	movzwl %di,%edi
40fee8:	81 cf 00 00 07 80    	or     $0x80070000,%edi
40feee:	57                   	push   %edi
40feef:	68 48 42 40 00       	push   $0x404248
40fef4:	68 8d 01 00 00       	push   $0x18d
40fef9:	68 20 41 40 00       	push   $0x404120
40fefe:	51                   	push   %ecx
40feff:	e8 ce 10 00 00       	call   0x410fd2
40ff04:	eb 3a                	jmp    0x40ff40
40ff06:	8b cb                	mov    %ebx,%ecx
40ff08:	e8 a8 4c ff ff       	call   0x404bb5
40ff0d:	50                   	push   %eax
40ff0e:	53                   	push   %ebx
40ff0f:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40ff12:	e8 00 0d 00 00       	call   0x410c17
40ff17:	8b f8                	mov    %eax,%edi
40ff19:	85 ff                	test   %edi,%edi
40ff1b:	79 1b                	jns    0x40ff38
40ff1d:	57                   	push   %edi
40ff1e:	68 48 42 40 00       	push   $0x404248
40ff23:	68 92 01 00 00       	push   $0x192
40ff28:	68 20 41 40 00       	push   $0x404120
40ff2d:	51                   	push   %ecx
40ff2e:	e8 9f 10 00 00       	call   0x410fd2
40ff33:	8b 75 fc             	mov    -0x4(%ebp),%esi
40ff36:	eb 08                	jmp    0x40ff40
40ff38:	8b 4d 10             	mov    0x10(%ebp),%ecx
40ff3b:	8b 45 fc             	mov    -0x4(%ebp),%eax
40ff3e:	89 01                	mov    %eax,(%ecx)
40ff40:	53                   	push   %ebx
40ff41:	ff 15 bc 62 41 00    	call   *0x4162bc
40ff47:	59                   	pop    %ecx
40ff48:	56                   	push   %esi
40ff49:	ff 15 b8 61 41 00    	call   *0x4161b8
40ff4f:	8b c7                	mov    %edi,%eax
40ff51:	5f                   	pop    %edi
40ff52:	5e                   	pop    %esi
40ff53:	5b                   	pop    %ebx
40ff54:	c9                   	leave
40ff55:	c2 10 00             	ret    $0x10
40ff58:	8b ff                	mov    %edi,%edi
40ff5a:	55                   	push   %ebp
40ff5b:	8b ec                	mov    %esp,%ebp
40ff5d:	51                   	push   %ecx
40ff5e:	51                   	push   %ecx
40ff5f:	56                   	push   %esi
40ff60:	57                   	push   %edi
40ff61:	8b 7d 14             	mov    0x14(%ebp),%edi
40ff64:	8d 45 fc             	lea    -0x4(%ebp),%eax
40ff67:	50                   	push   %eax
40ff68:	8d 45 f8             	lea    -0x8(%ebp),%eax
40ff6b:	33 f6                	xor    %esi,%esi
40ff6d:	50                   	push   %eax
40ff6e:	57                   	push   %edi
40ff6f:	56                   	push   %esi
40ff70:	6a 01                	push   $0x1
40ff72:	ff 75 0c             	push   0xc(%ebp)
40ff75:	ff 75 08             	push   0x8(%ebp)
40ff78:	ff 15 a8 60 41 00    	call   *0x4160a8
40ff7e:	85 c0                	test   %eax,%eax
40ff80:	75 22                	jne    0x40ffa4
40ff82:	ff 15 68 61 41 00    	call   *0x416168
40ff88:	8b f0                	mov    %eax,%esi
40ff8a:	85 f6                	test   %esi,%esi
40ff8c:	7e 09                	jle    0x40ff97
40ff8e:	0f b7 f6             	movzwl %si,%esi
40ff91:	81 ce 00 00 07 80    	or     $0x80070000,%esi
40ff97:	56                   	push   %esi
40ff98:	68 90 42 40 00       	push   $0x404290
40ff9d:	68 c9 01 00 00       	push   $0x1c9
40ffa2:	eb 4c                	jmp    0x40fff0
40ffa4:	ff 37                	push   (%edi)
40ffa6:	ff 15 b8 62 41 00    	call   *0x4162b8
40ffac:	59                   	pop    %ecx
40ffad:	8b c8                	mov    %eax,%ecx
40ffaf:	8b 45 10             	mov    0x10(%ebp),%eax
40ffb2:	89 08                	mov    %ecx,(%eax)
40ffb4:	8d 45 fc             	lea    -0x4(%ebp),%eax
40ffb7:	50                   	push   %eax
40ffb8:	8d 45 f8             	lea    -0x8(%ebp),%eax
40ffbb:	50                   	push   %eax
40ffbc:	57                   	push   %edi
40ffbd:	51                   	push   %ecx
40ffbe:	6a 01                	push   $0x1
40ffc0:	ff 75 0c             	push   0xc(%ebp)
40ffc3:	ff 75 08             	push   0x8(%ebp)
40ffc6:	ff 15 a8 60 41 00    	call   *0x4160a8
40ffcc:	85 c0                	test   %eax,%eax
40ffce:	75 2b                	jne    0x40fffb
40ffd0:	ff 15 68 61 41 00    	call   *0x416168
40ffd6:	8b f0                	mov    %eax,%esi
40ffd8:	85 f6                	test   %esi,%esi
40ffda:	7e 09                	jle    0x40ffe5
40ffdc:	0f b7 f6             	movzwl %si,%esi
40ffdf:	81 ce 00 00 07 80    	or     $0x80070000,%esi
40ffe5:	56                   	push   %esi
40ffe6:	68 90 42 40 00       	push   $0x404290
40ffeb:	68 da 01 00 00       	push   $0x1da
40fff0:	68 20 41 40 00       	push   $0x404120
40fff5:	51                   	push   %ecx
40fff6:	e8 d7 0f 00 00       	call   0x410fd2
40fffb:	5f                   	pop    %edi
40fffc:	8b c6                	mov    %esi,%eax
40fffe:	5e                   	pop    %esi
40ffff:	c9                   	leave
410000:	c2 10 00             	ret    $0x10
410003:	8b ff                	mov    %edi,%edi
410005:	55                   	push   %ebp
410006:	8b ec                	mov    %esp,%ebp
410008:	83 ec 10             	sub    $0x10,%esp
41000b:	53                   	push   %ebx
41000c:	56                   	push   %esi
41000d:	57                   	push   %edi
41000e:	8b d9                	mov    %ecx,%ebx
410010:	8d 45 fc             	lea    -0x4(%ebp),%eax
410013:	8b 4d 08             	mov    0x8(%ebp),%ecx
410016:	33 ff                	xor    %edi,%edi
410018:	21 7d fc             	and    %edi,-0x4(%ebp)
41001b:	ba d4 42 40 00       	mov    $0x4042d4,%edx
410020:	21 7d f8             	and    %edi,-0x8(%ebp)
410023:	50                   	push   %eax
410024:	89 5d f4             	mov    %ebx,-0xc(%ebp)
410027:	e8 aa 11 00 00       	call   0x4111d6
41002c:	85 c0                	test   %eax,%eax
41002e:	0f 84 a3 00 00 00    	je     0x4100d7
410034:	ff 75 fc             	push   -0x4(%ebp)
410037:	8d 4b 34             	lea    0x34(%ebx),%ecx
41003a:	e8 61 98 ff ff       	call   0x4098a0
41003f:	ff 73 34             	push   0x34(%ebx)
410042:	ff 15 7c 61 41 00    	call   *0x41617c
410048:	85 c0                	test   %eax,%eax
41004a:	75 15                	jne    0x410061
41004c:	b8 57 00 07 80       	mov    $0x80070057,%eax
410051:	50                   	push   %eax
410052:	68 e0 42 40 00       	push   $0x4042e0
410057:	68 10 02 00 00       	push   $0x210
41005c:	e9 86 00 00 00       	jmp    0x4100e7
410061:	8b 4d 08             	mov    0x8(%ebp),%ecx
410064:	8d 45 f8             	lea    -0x8(%ebp),%eax
410067:	50                   	push   %eax
410068:	ba 38 43 40 00       	mov    $0x404338,%edx
41006d:	e8 64 11 00 00       	call   0x4111d6
410072:	8b 5d f8             	mov    -0x8(%ebp),%ebx
410075:	85 c0                	test   %eax,%eax
410077:	74 2b                	je     0x4100a4
410079:	8b 75 f4             	mov    -0xc(%ebp),%esi
41007c:	53                   	push   %ebx
41007d:	8d 4e 38             	lea    0x38(%esi),%ecx
410080:	e8 1b 98 ff ff       	call   0x4098a0
410085:	ff 76 38             	push   0x38(%esi)
410088:	ff 15 7c 61 41 00    	call   *0x41617c
41008e:	85 c0                	test   %eax,%eax
410090:	75 2f                	jne    0x4100c1
410092:	b8 57 00 07 80       	mov    $0x80070057,%eax
410097:	50                   	push   %eax
410098:	68 e0 42 40 00       	push   $0x4042e0
41009d:	68 2b 02 00 00       	push   $0x22b
4100a2:	eb 10                	jmp    0x4100b4
4100a4:	b8 57 00 07 80       	mov    $0x80070057,%eax
4100a9:	50                   	push   %eax
4100aa:	68 e0 42 40 00       	push   $0x4042e0
4100af:	68 33 02 00 00       	push   $0x233
4100b4:	68 20 41 40 00       	push   $0x404120
4100b9:	51                   	push   %ecx
4100ba:	8b f8                	mov    %eax,%edi
4100bc:	e8 11 0f 00 00       	call   0x410fd2
4100c1:	85 db                	test   %ebx,%ebx
4100c3:	74 2f                	je     0x4100f4
4100c5:	53                   	push   %ebx
4100c6:	6a 00                	push   $0x0
4100c8:	ff 15 e0 60 41 00    	call   *0x4160e0
4100ce:	50                   	push   %eax
4100cf:	ff 15 e4 60 41 00    	call   *0x4160e4
4100d5:	eb 1d                	jmp    0x4100f4
4100d7:	b8 57 00 07 80       	mov    $0x80070057,%eax
4100dc:	50                   	push   %eax
4100dd:	68 e0 42 40 00       	push   $0x4042e0
4100e2:	68 19 02 00 00       	push   $0x219
4100e7:	68 20 41 40 00       	push   $0x404120
4100ec:	51                   	push   %ecx
4100ed:	8b f8                	mov    %eax,%edi
4100ef:	e8 de 0e 00 00       	call   0x410fd2
4100f4:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4100f8:	74 12                	je     0x41010c
4100fa:	ff 75 fc             	push   -0x4(%ebp)
4100fd:	6a 00                	push   $0x0
4100ff:	ff 15 e0 60 41 00    	call   *0x4160e0
410105:	50                   	push   %eax
410106:	ff 15 e4 60 41 00    	call   *0x4160e4
41010c:	8b c7                	mov    %edi,%eax
41010e:	5f                   	pop    %edi
41010f:	5e                   	pop    %esi
410110:	5b                   	pop    %ebx
410111:	c9                   	leave
410112:	c2 04 00             	ret    $0x4
410115:	8b ff                	mov    %edi,%edi
410117:	55                   	push   %ebp
410118:	8b ec                	mov    %esp,%ebp
41011a:	83 ec 18             	sub    $0x18,%esp
41011d:	33 c0                	xor    %eax,%eax
41011f:	ba 40 43 40 00       	mov    $0x404340,%edx
410124:	53                   	push   %ebx
410125:	56                   	push   %esi