409d8f:	6a 10                	push   $0x10
409d91:	5b                   	pop    %ebx
409d92:	ff 75 ec             	push   -0x14(%ebp)
409d95:	ff 75 e8             	push   -0x18(%ebp)
409d98:	56                   	push   %esi
409d99:	ff 75 e4             	push   -0x1c(%ebp)
409d9c:	ff 75 e0             	push   -0x20(%ebp)
409d9f:	ff 75 dc             	push   -0x24(%ebp)
409da2:	52                   	push   %edx
409da3:	51                   	push   %ecx
409da4:	53                   	push   %ebx
409da5:	68 ff 01 0f 00       	push   $0xf01ff
409daa:	ff 75 d8             	push   -0x28(%ebp)
409dad:	ff 75 d0             	push   -0x30(%ebp)
409db0:	ff 75 c4             	push   -0x3c(%ebp)
409db3:	ff 15 44 00 41 00    	call   *0x410044
409db9:	8b f8                	mov    %eax,%edi
409dbb:	85 ff                	test   %edi,%edi
409dbd:	0f 85 75 03 00 00    	jne    0x40a138
409dc3:	ff 15 40 f0 40 00    	call   *0x40f040
409dc9:	b9 8c 46 40 00       	mov    $0x40468c,%ecx
409dce:	e9 59 03 00 00       	jmp    0x40a12c
409dd3:	68 dc 42 40 00       	push   $0x4042dc
409dd8:	ff 76 fc             	push   -0x4(%esi)
409ddb:	ff 15 28 f1 40 00    	call   *0x40f128
409de1:	59                   	pop    %ecx
409de2:	59                   	pop    %ecx
409de3:	85 c0                	test   %eax,%eax
409de5:	0f 85 c7 00 00 00    	jne    0x409eb2
409deb:	39 7d fc             	cmp    %edi,-0x4(%ebp)
409dee:	0f 83 be 00 00 00    	jae    0x409eb2
409df4:	68 a0 40 40 00       	push   $0x4040a0
409df9:	ff 36                	push   (%esi)
409dfb:	ff 15 28 f1 40 00    	call   *0x40f128
409e01:	59                   	pop    %ecx
409e02:	59                   	pop    %ecx
409e03:	85 c0                	test   %eax,%eax
409e05:	75 0a                	jne    0x409e11
409e07:	8b c8                	mov    %eax,%ecx
409e09:	89 4d f8             	mov    %ecx,-0x8(%ebp)
409e0c:	e9 5e ff ff ff       	jmp    0x409d6f
409e11:	68 ec 42 40 00       	push   $0x4042ec
409e16:	ff 36                	push   (%esi)
409e18:	ff 15 28 f1 40 00    	call   *0x40f128
409e1e:	59                   	pop    %ecx
409e1f:	59                   	pop    %ecx
409e20:	85 c0                	test   %eax,%eax
409e22:	75 05                	jne    0x409e29
409e24:	33 c9                	xor    %ecx,%ecx
409e26:	41                   	inc    %ecx
409e27:	eb e0                	jmp    0x409e09
409e29:	68 fc 42 40 00       	push   $0x4042fc
409e2e:	ff 36                	push   (%esi)
409e30:	ff 15 28 f1 40 00    	call   *0x40f128
409e36:	59                   	pop    %ecx
409e37:	59                   	pop    %ecx
409e38:	85 c0                	test   %eax,%eax
409e3a:	75 05                	jne    0x409e41
409e3c:	6a 02                	push   $0x2
409e3e:	59                   	pop    %ecx
409e3f:	eb c8                	jmp    0x409e09
409e41:	68 08 43 40 00       	push   $0x404308
409e46:	ff 36                	push   (%esi)
409e48:	ff 15 28 f1 40 00    	call   *0x40f128
409e4e:	59                   	pop    %ecx
409e4f:	59                   	pop    %ecx
409e50:	85 c0                	test   %eax,%eax
409e52:	75 04                	jne    0x409e58
409e54:	6a 03                	push   $0x3
409e56:	eb e6                	jmp    0x409e3e
409e58:	68 18 43 40 00       	push   $0x404318
409e5d:	ff 36                	push   (%esi)
409e5f:	ff 15 28 f1 40 00    	call   *0x40f128
409e65:	59                   	pop    %ecx
409e66:	59                   	pop    %ecx
409e67:	85 c0                	test   %eax,%eax
409e69:	75 04                	jne    0x409e6f
409e6b:	6a 04                	push   $0x4
409e6d:	eb cf                	jmp    0x409e3e
409e6f:	68 2c 43 40 00       	push   $0x40432c
409e74:	ff 36                	push   (%esi)
409e76:	ff 15 28 f1 40 00    	call   *0x40f128
409e7c:	59                   	pop    %ecx
409e7d:	59                   	pop    %ecx
409e7e:	85 c0                	test   %eax,%eax
409e80:	75 0f                	jne    0x409e91
409e82:	6a 02                	push   $0x2
409e84:	59                   	pop    %ecx
409e85:	40                   	inc    %eax
409e86:	89 4d f8             	mov    %ecx,-0x8(%ebp)
409e89:	89 45 d4             	mov    %eax,-0x2c(%ebp)
409e8c:	e9 de fe ff ff       	jmp    0x409d6f
409e91:	68 94 3b 40 00       	push   $0x403b94
409e96:	ff 36                	push   (%esi)
409e98:	ff 15 28 f1 40 00    	call   *0x40f128
409e9e:	59                   	pop    %ecx
409e9f:	59                   	pop    %ecx
409ea0:	85 c0                	test   %eax,%eax
409ea2:	0f 85 55 02 00 00    	jne    0x40a0fd
409ea8:	b9 11 49 03 d0       	mov    $0xd0034911,%ecx
409ead:	e9 57 ff ff ff       	jmp    0x409e09
409eb2:	68 48 43 40 00       	push   $0x404348
409eb7:	ff 76 fc             	push   -0x4(%esi)
409eba:	ff 15 28 f1 40 00    	call   *0x40f128
409ec0:	59                   	pop    %ecx
409ec1:	59                   	pop    %ecx
409ec2:	85 c0                	test   %eax,%eax
409ec4:	0f 85 8e 00 00 00    	jne    0x409f58
409eca:	39 7d fc             	cmp    %edi,-0x4(%ebp)
409ecd:	0f 83 85 00 00 00    	jae    0x409f58
409ed3:	68 58 43 40 00       	push   $0x404358
409ed8:	ff 36                	push   (%esi)
409eda:	ff 15 28 f1 40 00    	call   *0x40f128
409ee0:	59                   	pop    %ecx
409ee1:	59                   	pop    %ecx
409ee2:	85 c0                	test   %eax,%eax
409ee4:	75 0e                	jne    0x409ef4
409ee6:	33 d2                	xor    %edx,%edx
409ee8:	42                   	inc    %edx
409ee9:	8b 4d f8             	mov    -0x8(%ebp),%ecx
409eec:	89 55 f4             	mov    %edx,-0xc(%ebp)
409eef:	e9 7e fe ff ff       	jmp    0x409d72
409ef4:	68 68 43 40 00       	push   $0x404368
409ef9:	ff 36                	push   (%esi)
409efb:	ff 15 28 f1 40 00    	call   *0x40f128
409f01:	59                   	pop    %ecx
409f02:	59                   	pop    %ecx
409f03:	85 c0                	test   %eax,%eax
409f05:	75 05                	jne    0x409f0c
409f07:	6a 02                	push   $0x2
409f09:	5a                   	pop    %edx
409f0a:	eb dd                	jmp    0x409ee9
409f0c:	68 88 43 40 00       	push   $0x404388
409f11:	ff 36                	push   (%esi)
409f13:	ff 15 28 f1 40 00    	call   *0x40f128
409f19:	59                   	pop    %ecx
409f1a:	59                   	pop    %ecx
409f1b:	85 c0                	test   %eax,%eax
409f1d:	75 04                	jne    0x409f23
409f1f:	6a 03                	push   $0x3
409f21:	eb e6                	jmp    0x409f09
409f23:	68 78 43 40 00       	push   $0x404378
409f28:	ff 36                	push   (%esi)
409f2a:	ff 15 28 f1 40 00    	call   *0x40f128
409f30:	59                   	pop    %ecx
409f31:	59                   	pop    %ecx
409f32:	85 c0                	test   %eax,%eax
409f34:	75 04                	jne    0x409f3a
409f36:	8b d0                	mov    %eax,%edx
409f38:	eb af                	jmp    0x409ee9
409f3a:	68 94 3b 40 00       	push   $0x403b94
409f3f:	ff 36                	push   (%esi)
409f41:	ff 15 28 f1 40 00    	call   *0x40f128
409f47:	59                   	pop    %ecx
409f48:	59                   	pop    %ecx
409f49:	85 c0                	test   %eax,%eax
409f4b:	0f 85 be 01 00 00    	jne    0x40a10f
409f51:	ba 50 45 d7 00       	mov    $0xd74550,%edx
409f56:	eb 91                	jmp    0x409ee9
409f58:	68 9c 43 40 00       	push   $0x40439c
409f5d:	ff 76 fc             	push   -0x4(%esi)
409f60:	ff 15 28 f1 40 00    	call   *0x40f128
409f66:	59                   	pop    %ecx
409f67:	59                   	pop    %ecx
409f68:	85 c0                	test   %eax,%eax
409f6a:	75 11                	jne    0x409f7d
409f6c:	8b 45 fc             	mov    -0x4(%ebp),%eax
409f6f:	3b c7                	cmp    %edi,%eax
409f71:	73 0a                	jae    0x409f7d
409f73:	8b 0e                	mov    (%esi),%ecx
409f75:	89 4d dc             	mov    %ecx,-0x24(%ebp)
409f78:	e9 2e 01 00 00       	jmp    0x40a0ab
409f7d:	68 94 11 40 00       	push   $0x401194
409f82:	ff 76 fc             	push   -0x4(%esi)
409f85:	ff 15 28 f1 40 00    	call   *0x40f128
409f8b:	59                   	pop    %ecx
409f8c:	59                   	pop    %ecx
409f8d:	85 c0                	test   %eax,%eax
409f8f:	75 11                	jne    0x409fa2
409f91:	8b 45 fc             	mov    -0x4(%ebp),%eax
409f94:	3b c7                	cmp    %edi,%eax
409f96:	73 0a                	jae    0x409fa2
409f98:	8b 0e                	mov    (%esi),%ecx
409f9a:	89 4d e0             	mov    %ecx,-0x20(%ebp)
409f9d:	e9 09 01 00 00       	jmp    0x40a0ab
409fa2:	68 b0 43 40 00       	push   $0x4043b0
409fa7:	ff 76 fc             	push   -0x4(%esi)
409faa:	ff 15 28 f1 40 00    	call   *0x40f128
409fb0:	59                   	pop    %ecx
409fb1:	59                   	pop    %ecx
409fb2:	85 c0                	test   %eax,%eax
409fb4:	75 27                	jne    0x409fdd
409fb6:	39 7d fc             	cmp    %edi,-0x4(%ebp)
409fb9:	73 22                	jae    0x409fdd
409fbb:	68 bc 43 40 00       	push   $0x4043bc
409fc0:	ff 36                	push   (%esi)
409fc2:	ff 15 28 f1 40 00    	call   *0x40f128
409fc8:	59                   	pop    %ecx
409fc9:	59                   	pop    %ecx
409fca:	85 c0                	test   %eax,%eax
409fcc:	0f 85 9a fd ff ff    	jne    0x409d6c
409fd2:	8d 45 cc             	lea    -0x34(%ebp),%eax
409fd5:	89 45 e4             	mov    %eax,-0x1c(%ebp)
409fd8:	e9 8f fd ff ff       	jmp    0x409d6c
409fdd:	68 38 44 40 00       	push   $0x404438
409fe2:	ff 76 fc             	push   -0x4(%esi)
409fe5:	ff 15 28 f1 40 00    	call   *0x40f128
409feb:	59                   	pop    %ecx
409fec:	59                   	pop    %ecx
409fed:	85 c0                	test   %eax,%eax
409fef:	75 11                	jne    0x40a002
409ff1:	8b 45 fc             	mov    -0x4(%ebp),%eax
409ff4:	3b c7                	cmp    %edi,%eax
409ff6:	73 0a                	jae    0x40a002
409ff8:	8b 0e                	mov    (%esi),%ecx
409ffa:	89 4d d8             	mov    %ecx,-0x28(%ebp)
409ffd:	e9 a9 00 00 00       	jmp    0x40a0ab
40a002:	68 c4 43 40 00       	push   $0x4043c4
40a007:	ff 76 fc             	push   -0x4(%esi)
40a00a:	ff 15 28 f1 40 00    	call   *0x40f128
40a010:	59                   	pop    %ecx
40a011:	59                   	pop    %ecx
40a012:	85 c0                	test   %eax,%eax
40a014:	75 75                	jne    0x40a08b
40a016:	39 7d fc             	cmp    %edi,-0x4(%ebp)
40a019:	73 70                	jae    0x40a08b
40a01b:	8b 06                	mov    (%esi),%eax
40a01d:	33 ff                	xor    %edi,%edi
40a01f:	8b c8                	mov    %eax,%ecx
40a021:	89 45 c8             	mov    %eax,-0x38(%ebp)
40a024:	8d 51 02             	lea    0x2(%ecx),%edx
40a027:	66 8b 01             	mov    (%ecx),%ax
40a02a:	83 c1 02             	add    $0x2,%ecx
40a02d:	66 3b c7             	cmp    %di,%ax
40a030:	75 f5                	jne    0x40a027
40a032:	2b ca                	sub    %edx,%ecx
40a034:	d1 f9                	sar    $1,%ecx
40a036:	8d 3c 4d 04 00 00 00 	lea    0x4(,%ecx,2),%edi
40a03d:	57                   	push   %edi
40a03e:	6a 40                	push   $0x40
40a040:	ff 15 64 f0 40 00    	call   *0x40f064
40a046:	89 45 f0             	mov    %eax,-0x10(%ebp)
40a049:	85 c0                	test   %eax,%eax
40a04b:	0f 84 d0 00 00 00    	je     0x40a121
40a051:	ff 75 c8             	push   -0x38(%ebp)
40a054:	8b d7                	mov    %edi,%edx
40a056:	8b c8                	mov    %eax,%ecx
40a058:	e8 e6 27 00 00       	call   0x40c843
40a05d:	8b 45 f0             	mov    -0x10(%ebp),%eax
40a060:	8b c8                	mov    %eax,%ecx
40a062:	0f b7 10             	movzwl (%eax),%edx
40a065:	66 85 d2             	test   %dx,%dx
40a068:	0f 84 fb fc ff ff    	je     0x409d69
40a06e:	66 83 fa 2f          	cmp    $0x2f,%dx
40a072:	75 05                	jne    0x40a079
40a074:	33 c0                	xor    %eax,%eax
40a076:	66 89 01             	mov    %ax,(%ecx)
40a079:	83 c1 02             	add    $0x2,%ecx
40a07c:	0f b7 01             	movzwl (%ecx),%eax
40a07f:	8b d0                	mov    %eax,%edx
40a081:	66 85 c0             	test   %ax,%ax
40a084:	75 e8                	jne    0x40a06e
40a086:	e9 de fc ff ff       	jmp    0x409d69
40a08b:	68 18 44 40 00       	push   $0x404418
40a090:	ff 76 fc             	push   -0x4(%esi)
40a093:	ff 15 28 f1 40 00    	call   *0x40f128
40a099:	59                   	pop    %ecx
40a09a:	59                   	pop    %ecx
40a09b:	85 c0                	test   %eax,%eax
40a09d:	75 17                	jne    0x40a0b6
40a09f:	8b 45 fc             	mov    -0x4(%ebp),%eax
40a0a2:	3b c7                	cmp    %edi,%eax
40a0a4:	73 10                	jae    0x40a0b6
40a0a6:	8b 0e                	mov    (%esi),%ecx
40a0a8:	89 4d e8             	mov    %ecx,-0x18(%ebp)
40a0ab:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40a0ae:	8b 55 f4             	mov    -0xc(%ebp),%edx
40a0b1:	e9 bf fc ff ff       	jmp    0x409d75
40a0b6:	68 24 44 40 00       	push   $0x404424
40a0bb:	ff 76 fc             	push   -0x4(%esi)
40a0be:	ff 15 28 f1 40 00    	call   *0x40f128
40a0c4:	59                   	pop    %ecx
40a0c5:	59                   	pop    %ecx
40a0c6:	85 c0                	test   %eax,%eax
40a0c8:	75 29                	jne    0x40a0f3
40a0ca:	8b 45 fc             	mov    -0x4(%ebp),%eax
40a0cd:	3b c7                	cmp    %edi,%eax
40a0cf:	73 22                	jae    0x40a0f3
40a0d1:	8b 0e                	mov    (%esi),%ecx
40a0d3:	89 4d ec             	mov    %ecx,-0x14(%ebp)
40a0d6:	eb d3                	jmp    0x40a0ab
40a0d8:	80 3d c4 eb 40 00 01 	cmpb   $0x1,0x40ebc4
40a0df:	75 12                	jne    0x40a0f3
40a0e1:	c7 45 c8 b4 11 40 00 	movl   $0x4011b4,-0x38(%ebp)
40a0e8:	6a 69                	push   $0x69
40a0ea:	8d 55 c8             	lea    -0x38(%ebp),%edx
40a0ed:	59                   	pop    %ecx
40a0ee:	e8 bc 04 00 00       	call   0x40a5af
40a0f3:	e8 f1 fa ff ff       	call   0x409be9
40a0f8:	e9 c6 00 00 00       	jmp    0x40a1c3
40a0fd:	80 3d c4 eb 40 00 01 	cmpb   $0x1,0x40ebc4
40a104:	75 ed                	jne    0x40a0f3
40a106:	c7 45 c8 dc 42 40 00 	movl   $0x4042dc,-0x38(%ebp)
40a10d:	eb d9                	jmp    0x40a0e8
40a10f:	80 3d c4 eb 40 00 01 	cmpb   $0x1,0x40ebc4
40a116:	75 db                	jne    0x40a0f3
40a118:	c7 45 c8 48 43 40 00 	movl   $0x404348,-0x38(%ebp)
40a11f:	eb c7                	jmp    0x40a0e8
40a121:	ff 15 40 f0 40 00    	call   *0x40f040
40a127:	b9 d8 43 40 00       	mov    $0x4043d8,%ecx
40a12c:	8b d0                	mov    %eax,%edx
40a12e:	e8 4d e8 ff ff       	call   0x408980
40a133:	e9 8b 00 00 00       	jmp    0x40a1c3
40a138:	8b 45 d4             	mov    -0x2c(%ebp),%eax
40a13b:	85 c0                	test   %eax,%eax
40a13d:	74 4b                	je     0x40a18a
40a13f:	89 45 c4             	mov    %eax,-0x3c(%ebp)
40a142:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40a145:	50                   	push   %eax
40a146:	6a 03                	push   $0x3
40a148:	57                   	push   %edi
40a149:	ff 15 68 00 41 00    	call   *0x410068
40a14f:	85 c0                	test   %eax,%eax
40a151:	75 37                	jne    0x40a18a
40a153:	ff 15 40 f0 40 00    	call   *0x40f040
40a159:	8b f0                	mov    %eax,%esi
40a15b:	85 f6                	test   %esi,%esi
40a15d:	74 2b                	je     0x40a18a
40a15f:	8b d6                	mov    %esi,%edx
40a161:	b9 b8 44 40 00       	mov    $0x4044b8,%ecx
40a166:	e8 15 e8 ff ff       	call   0x408980
40a16b:	57                   	push   %edi
40a16c:	ff 15 40 00 41 00    	call   *0x410040
40a172:	85 c0                	test   %eax,%eax
40a174:	75 44                	jne    0x40a1ba
40a176:	ff 15 40 f0 40 00    	call   *0x40f040
40a17c:	8b d0                	mov    %eax,%edx
40a17e:	b9 74 40 40 00       	mov    $0x404074,%ecx
40a183:	e8 f8 e7 ff ff       	call   0x408980
40a188:	eb 2e                	jmp    0x40a1b8
40a18a:	6a 64                	push   $0x64
40a18c:	8d 55 c8             	lea    -0x38(%ebp),%edx
40a18f:	c7 45 c8 8c 46 40 00 	movl   $0x40468c,-0x38(%ebp)
40a196:	59                   	pop    %ecx
40a197:	e8 13 04 00 00       	call   0x40a5af
40a19c:	83 fb ff             	cmp    $0xffffffff,%ebx
40a19f:	74 15                	je     0x40a1b6
40a1a1:	f7 c3 00 01 00 00    	test   $0x100,%ebx
40a1a7:	74 0d                	je     0x40a1b6
40a1a9:	8d 55 d0             	lea    -0x30(%ebp),%edx