407c0a:	75 0f                	jne    0x407c1b
407c0c:	57                   	push   %edi
407c0d:	68 c3 00 00 00       	push   $0xc3
407c12:	50                   	push   %eax
407c13:	e8 d2 6a 00 00       	call   0x40e6ea
407c18:	83 c4 0c             	add    $0xc,%esp
407c1b:	56                   	push   %esi
407c1c:	ff 15 7c 35 42 00    	call   *0x42357c
407c22:	c7 04 24 ec 43 40 00 	movl   $0x4043ec,(%esp)
407c29:	56                   	push   %esi
407c2a:	e8 40 9d 00 00       	call   0x41196f
407c2f:	56                   	push   %esi
407c30:	ff 15 58 35 42 00    	call   *0x423558
407c36:	83 c4 0c             	add    $0xc,%esp
407c39:	53                   	push   %ebx
407c3a:	ff 15 7c 30 42 00    	call   *0x42307c
407c40:	68 e4 43 40 00       	push   $0x4043e4
407c45:	57                   	push   %edi
407c46:	ff 15 5c 35 42 00    	call   *0x42355c
407c4c:	8b f0                	mov    %eax,%esi
407c4e:	59                   	pop    %ecx
407c4f:	59                   	pop    %ecx
407c50:	85 f6                	test   %esi,%esi
407c52:	75 ad                	jne    0x407c01
407c54:	8b 5c 24 14          	mov    0x14(%esp),%ebx
407c58:	57                   	push   %edi
407c59:	68 c2 00 00 00       	push   $0xc2
407c5e:	6a 00                	push   $0x0
407c60:	e8 85 6a 00 00       	call   0x40e6ea
407c65:	83 c4 0c             	add    $0xc,%esp
407c68:	5f                   	pop    %edi
407c69:	5e                   	pop    %esi
407c6a:	8b c3                	mov    %ebx,%eax
407c6c:	5b                   	pop    %ebx
407c6d:	8b e5                	mov    %ebp,%esp
407c6f:	5d                   	pop    %ebp
407c70:	c3                   	ret
407c71:	8b ff                	mov    %edi,%edi
407c73:	53                   	push   %ebx
407c74:	56                   	push   %esi
407c75:	33 db                	xor    %ebx,%ebx
407c77:	8b f2                	mov    %edx,%esi
407c79:	57                   	push   %edi
407c7a:	8b f9                	mov    %ecx,%edi
407c7c:	43                   	inc    %ebx
407c7d:	3b fb                	cmp    %ebx,%edi
407c7f:	75 0d                	jne    0x407c8e
407c81:	68 6f 01 00 00       	push   $0x16f
407c86:	e8 c8 69 00 00       	call   0x40e653
407c8b:	59                   	pop    %ecx
407c8c:	89 1e                	mov    %ebx,(%esi)
407c8e:	83 ff 02             	cmp    $0x2,%edi
407c91:	75 0d                	jne    0x407ca0
407c93:	68 70 01 00 00       	push   $0x170
407c98:	e8 b6 69 00 00       	call   0x40e653
407c9d:	59                   	pop    %ecx
407c9e:	89 1e                	mov    %ebx,(%esi)
407ca0:	5f                   	pop    %edi
407ca1:	5e                   	pop    %esi
407ca2:	5b                   	pop    %ebx
407ca3:	c3                   	ret
407ca4:	6a 10                	push   $0x10
407ca6:	b8 9d c8 41 00       	mov    $0x41c89d,%eax
407cab:	e8 88 47 01 00       	call   0x41c438
407cb0:	8b da                	mov    %edx,%ebx
407cb2:	89 4d ec             	mov    %ecx,-0x14(%ebp)
407cb5:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
407cb8:	33 f6                	xor    %esi,%esi
407cba:	6a ff                	push   $0xffffffff
407cbc:	56                   	push   %esi
407cbd:	ff 15 f4 33 42 00    	call   *0x4233f4
407cc3:	8b 45 10             	mov    0x10(%ebp),%eax
407cc6:	8b 4d 34             	mov    0x34(%ebp),%ecx
407cc9:	89 30                	mov    %esi,(%eax)
407ccb:	8b 45 0c             	mov    0xc(%ebp),%eax
407cce:	89 30                	mov    %esi,(%eax)
407cd0:	8b 45 18             	mov    0x18(%ebp),%eax
407cd3:	89 30                	mov    %esi,(%eax)
407cd5:	8b 45 14             	mov    0x14(%ebp),%eax
407cd8:	89 30                	mov    %esi,(%eax)
407cda:	8b 45 20             	mov    0x20(%ebp),%eax
407cdd:	89 30                	mov    %esi,(%eax)
407cdf:	8b 45 24             	mov    0x24(%ebp),%eax
407ce2:	89 30                	mov    %esi,(%eax)
407ce4:	8b 45 28             	mov    0x28(%ebp),%eax
407ce7:	89 30                	mov    %esi,(%eax)
407ce9:	8b 45 2c             	mov    0x2c(%ebp),%eax
407cec:	89 30                	mov    %esi,(%eax)
407cee:	8b 45 30             	mov    0x30(%ebp),%eax
407cf1:	89 30                	mov    %esi,(%eax)
407cf3:	ff 15 f8 33 42 00    	call   *0x4233f8
407cf9:	8b 4d 38             	mov    0x38(%ebp),%ecx
407cfc:	ff 15 f8 33 42 00    	call   *0x4233f8
407d02:	8b 45 3c             	mov    0x3c(%ebp),%eax
407d05:	8b 55 08             	mov    0x8(%ebp),%edx
407d08:	89 30                	mov    %esi,(%eax)
407d0a:	33 c0                	xor    %eax,%eax
407d0c:	40                   	inc    %eax
407d0d:	89 32                	mov    %esi,(%edx)
407d0f:	8b f8                	mov    %eax,%edi
407d11:	89 7d f0             	mov    %edi,-0x10(%ebp)
407d14:	39 45 ec             	cmp    %eax,-0x14(%ebp)
407d17:	0f 8e d8 03 00 00    	jle    0x4080f5
407d1d:	89 45 e4             	mov    %eax,-0x1c(%ebp)
407d20:	8b 0c bb             	mov    (%ebx,%edi,4),%ecx
407d23:	ba a0 14 42 00       	mov    $0x4214a0,%edx
407d28:	e8 ac fd ff ff       	call   0x407ad9
407d2d:	85 c0                	test   %eax,%eax
407d2f:	0f 85 ad 03 00 00    	jne    0x4080e2
407d35:	8b 0c bb             	mov    (%ebx,%edi,4),%ecx
407d38:	ba 90 10 42 00       	mov    $0x421090,%edx
407d3d:	e8 97 fd ff ff       	call   0x407ad9
407d42:	85 c0                	test   %eax,%eax
407d44:	74 12                	je     0x407d58
407d46:	8b 55 08             	mov    0x8(%ebp),%edx
407d49:	8b ce                	mov    %esi,%ecx
407d4b:	e8 21 ff ff ff       	call   0x407c71
407d50:	33 f6                	xor    %esi,%esi
407d52:	46                   	inc    %esi
407d53:	e9 8a 03 00 00       	jmp    0x4080e2
407d58:	8b 0c bb             	mov    (%ebx,%edi,4),%ecx
407d5b:	ba 10 10 42 00       	mov    $0x421010,%edx
407d60:	e8 74 fd ff ff       	call   0x407ad9
407d65:	85 c0                	test   %eax,%eax
407d67:	74 1d                	je     0x407d86
407d69:	8b 55 08             	mov    0x8(%ebp),%edx
407d6c:	8b ce                	mov    %esi,%ecx
407d6e:	e8 fe fe ff ff       	call   0x407c71
407d73:	8b 45 0c             	mov    0xc(%ebp),%eax
407d76:	81 08 bb 09 02 00    	orl    $0x209bb,(%eax)
407d7c:	8b 45 10             	mov    0x10(%ebp),%eax
407d7f:	33 f6                	xor    %esi,%esi
407d81:	e9 56 03 00 00       	jmp    0x4080dc
407d86:	8b 0c bb             	mov    (%ebx,%edi,4),%ecx
407d89:	ba 90 0f 42 00       	mov    $0x420f90,%edx
407d8e:	e8 46 fd ff ff       	call   0x407ad9
407d93:	85 c0                	test   %eax,%eax
407d95:	0f 84 9c 00 00 00    	je     0x407e37
407d9b:	8b 55 08             	mov    0x8(%ebp),%edx
407d9e:	8b ce                	mov    %esi,%ecx
407da0:	e8 cc fe ff ff       	call   0x407c71
407da5:	8b 45 e4             	mov    -0x1c(%ebp),%eax
407da8:	40                   	inc    %eax
407da9:	3b 45 ec             	cmp    -0x14(%ebp),%eax
407dac:	7d 77                	jge    0x407e25
407dae:	8b f8                	mov    %eax,%edi
407db0:	ba 10 0f 42 00       	mov    $0x420f10,%edx
407db5:	8b 0c bb             	mov    (%ebx,%edi,4),%ecx
407db8:	e8 1c fd ff ff       	call   0x407ad9
407dbd:	85 c0                	test   %eax,%eax
407dbf:	74 14                	je     0x407dd5
407dc1:	8b 45 18             	mov    0x18(%ebp),%eax
407dc4:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
407dca:	8b 45 14             	mov    0x14(%ebp),%eax
407dcd:	83 20 00             	andl   $0x0,(%eax)
407dd0:	e9 dd 02 00 00       	jmp    0x4080b2
407dd5:	8b 0c bb             	mov    (%ebx,%edi,4),%ecx
407dd8:	ba 90 0e 42 00       	mov    $0x420e90,%edx
407ddd:	e8 f7 fc ff ff       	call   0x407ad9
407de2:	85 c0                	test   %eax,%eax
407de4:	74 17                	je     0x407dfd
407de6:	8b 45 18             	mov    0x18(%ebp),%eax
407de9:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
407def:	8b 45 14             	mov    0x14(%ebp),%eax
407df2:	c7 00 08 00 00 00    	movl   $0x8,(%eax)
407df8:	e9 b5 02 00 00       	jmp    0x4080b2
407dfd:	8b 0c bb             	mov    (%ebx,%edi,4),%ecx
407e00:	ba 10 0e 42 00       	mov    $0x420e10,%edx
407e05:	e8 cf fc ff ff       	call   0x407ad9
407e0a:	85 c0                	test   %eax,%eax
407e0c:	74 17                	je     0x407e25
407e0e:	8b 45 18             	mov    0x18(%ebp),%eax
407e11:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
407e17:	8b 45 14             	mov    0x14(%ebp),%eax
407e1a:	c7 00 10 00 00 00    	movl   $0x10,(%eax)
407e20:	e9 8d 02 00 00       	jmp    0x4080b2
407e25:	ff 34 bb             	push   (%ebx,%edi,4)
407e28:	68 4b 01 00 00       	push   $0x14b
407e2d:	e8 21 68 00 00       	call   0x40e653
407e32:	e9 79 02 00 00       	jmp    0x4080b0
407e37:	8b 0c bb             	mov    (%ebx,%edi,4),%ecx
407e3a:	ba 90 0d 42 00       	mov    $0x420d90,%edx
407e3f:	e8 95 fc ff ff       	call   0x407ad9
407e44:	85 c0                	test   %eax,%eax
407e46:	74 12                	je     0x407e5a
407e48:	8b 55 08             	mov    0x8(%ebp),%edx
407e4b:	8b ce                	mov    %esi,%ecx
407e4d:	e8 1f fe ff ff       	call   0x407c71
407e52:	8b 45 24             	mov    0x24(%ebp),%eax
407e55:	e9 25 ff ff ff       	jmp    0x407d7f
407e5a:	8b 0c bb             	mov    (%ebx,%edi,4),%ecx
407e5d:	ba 10 0d 42 00       	mov    $0x420d10,%edx
407e62:	e8 72 fc ff ff       	call   0x407ad9
407e67:	85 c0                	test   %eax,%eax
407e69:	74 5c                	je     0x407ec7
407e6b:	8b 55 08             	mov    0x8(%ebp),%edx
407e6e:	8b ce                	mov    %esi,%ecx
407e70:	e8 fc fd ff ff       	call   0x407c71
407e75:	8b 45 24             	mov    0x24(%ebp),%eax
407e78:	83 38 00             	cmpl   $0x0,(%eax)
407e7b:	75 a8                	jne    0x407e25
407e7d:	8b 75 1c             	mov    0x1c(%ebp),%esi
407e80:	8b ce                	mov    %esi,%ecx
407e82:	6a ff                	push   $0xffffffff
407e84:	6a 00                	push   $0x0
407e86:	ff 15 f4 33 42 00    	call   *0x4233f4
407e8c:	6a 01                	push   $0x1
407e8e:	6a 2a                	push   $0x2a
407e90:	8d 4d e8             	lea    -0x18(%ebp),%ecx
407e93:	ff 15 00 34 42 00    	call   *0x423400
407e99:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
407e9d:	8d 45 e8             	lea    -0x18(%ebp),%eax
407ea0:	50                   	push   %eax
407ea1:	ff 76 08             	push   0x8(%esi)
407ea4:	8b ce                	mov    %esi,%ecx
407ea6:	ff 15 fc 33 42 00    	call   *0x4233fc
407eac:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
407eb0:	8d 4d e8             	lea    -0x18(%ebp),%ecx
407eb3:	ff 15 44 32 42 00    	call   *0x423244
407eb9:	8b 45 20             	mov    0x20(%ebp),%eax
407ebc:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
407ec2:	e9 eb 01 00 00       	jmp    0x4080b2
407ec7:	8b 0c bb             	mov    (%ebx,%edi,4),%ecx
407eca:	ba 90 0c 42 00       	mov    $0x420c90,%edx
407ecf:	e8 05 fc ff ff       	call   0x407ad9
407ed4:	85 c0                	test   %eax,%eax
407ed6:	74 26                	je     0x407efe
407ed8:	8b 55 08             	mov    0x8(%ebp),%edx
407edb:	8b ce                	mov    %esi,%ecx
407edd:	e8 8f fd ff ff       	call   0x407c71
407ee2:	8b 45 24             	mov    0x24(%ebp),%eax
407ee5:	83 38 00             	cmpl   $0x0,(%eax)
407ee8:	75 70                	jne    0x407f5a
407eea:	6a ff                	push   $0xffffffff
407eec:	6a 00                	push   $0x0
407eee:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
407ef1:	ff 15 f4 33 42 00    	call   *0x4233f4
407ef7:	6a 02                	push   $0x2
407ef9:	e9 80 01 00 00       	jmp    0x40807e
407efe:	8b 0c bb             	mov    (%ebx,%edi,4),%ecx
407f01:	ba 10 0c 42 00       	mov    $0x420c10,%edx
407f06:	e8 ce fb ff ff       	call   0x407ad9
407f0b:	85 c0                	test   %eax,%eax
407f0d:	74 1d                	je     0x407f2c
407f0f:	8b 55 08             	mov    0x8(%ebp),%edx
407f12:	8b ce                	mov    %esi,%ecx
407f14:	e8 58 fd ff ff       	call   0x407c71
407f19:	8b 45 24             	mov    0x24(%ebp),%eax
407f1c:	83 38 00             	cmpl   $0x0,(%eax)
407f1f:	74 39                	je     0x407f5a
407f21:	8b 45 28             	mov    0x28(%ebp),%eax
407f24:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
407f2a:	eb be                	jmp    0x407eea
407f2c:	8b 0c bb             	mov    (%ebx,%edi,4),%ecx
407f2f:	ba 90 0b 42 00       	mov    $0x420b90,%edx
407f34:	e8 a0 fb ff ff       	call   0x407ad9
407f39:	85 c0                	test   %eax,%eax
407f3b:	74 25                	je     0x407f62
407f3d:	8b 55 08             	mov    0x8(%ebp),%edx
407f40:	8b ce                	mov    %esi,%ecx
407f42:	e8 2a fd ff ff       	call   0x407c71
407f47:	8b 45 24             	mov    0x24(%ebp),%eax
407f4a:	33 c9                	xor    %ecx,%ecx
407f4c:	39 08                	cmp    %ecx,(%eax)
407f4e:	74 0a                	je     0x407f5a
407f50:	8b 45 28             	mov    0x28(%ebp),%eax
407f53:	6a ff                	push   $0xffffffff
407f55:	51                   	push   %ecx
407f56:	89 08                	mov    %ecx,(%eax)
407f58:	eb 94                	jmp    0x407eee
407f5a:	ff 34 bb             	push   (%ebx,%edi,4)
407f5d:	e9 55 01 00 00       	jmp    0x4080b7
407f62:	8b 0c bb             	mov    (%ebx,%edi,4),%ecx
407f65:	ba 10 0b 42 00       	mov    $0x420b10,%edx
407f6a:	e8 6a fb ff ff       	call   0x407ad9
407f6f:	85 c0                	test   %eax,%eax
407f71:	74 14                	je     0x407f87
407f73:	8b 55 08             	mov    0x8(%ebp),%edx
407f76:	8b ce                	mov    %esi,%ecx
407f78:	e8 f4 fc ff ff       	call   0x407c71
407f7d:	8b 45 2c             	mov    0x2c(%ebp),%eax
407f80:	6a 04                	push   $0x4
407f82:	e9 54 01 00 00       	jmp    0x4080db
407f87:	8b 0c bb             	mov    (%ebx,%edi,4),%ecx
407f8a:	ba 90 0a 42 00       	mov    $0x420a90,%edx
407f8f:	e8 45 fb ff ff       	call   0x407ad9
407f94:	85 c0                	test   %eax,%eax
407f96:	74 1a                	je     0x407fb2
407f98:	8b 55 08             	mov    0x8(%ebp),%edx
407f9b:	8b ce                	mov    %esi,%ecx
407f9d:	e8 cf fc ff ff       	call   0x407c71
407fa2:	8b 4d ec             	mov    -0x14(%ebp),%ecx
407fa5:	8d 45 f0             	lea    -0x10(%ebp),%eax
407fa8:	50                   	push   %eax
407fa9:	8b d3                	mov    %ebx,%edx
407fab:	e8 64 11 00 00       	call   0x409114
407fb0:	eb 29                	jmp    0x407fdb
407fb2:	8b 0c bb             	mov    (%ebx,%edi,4),%ecx
407fb5:	ba 10 0a 42 00       	mov    $0x420a10,%edx
407fba:	e8 1a fb ff ff       	call   0x407ad9
407fbf:	85 c0                	test   %eax,%eax
407fc1:	74 22                	je     0x407fe5
407fc3:	8b 55 08             	mov    0x8(%ebp),%edx
407fc6:	8b ce                	mov    %esi,%ecx
407fc8:	e8 a4 fc ff ff       	call   0x407c71
407fcd:	8b 4d ec             	mov    -0x14(%ebp),%ecx
407fd0:	8d 45 f0             	lea    -0x10(%ebp),%eax
407fd3:	50                   	push   %eax
407fd4:	8b d3                	mov    %ebx,%edx
407fd6:	e8 e5 0f 00 00       	call   0x408fc0
407fdb:	8b 7d f0             	mov    -0x10(%ebp),%edi
407fde:	33 f6                	xor    %esi,%esi
407fe0:	e9 fd 00 00 00       	jmp    0x4080e2
407fe5:	83 fe 02             	cmp    $0x2,%esi
407fe8:	0f 84 d7 00 00 00    	je     0x4080c5
407fee:	83 fe 03             	cmp    $0x3,%esi
407ff1:	0f 84 ce 00 00 00    	je     0x4080c5
407ff7:	8b 04 bb             	mov    (%ebx,%edi,4),%eax
407ffa:	83 fe 01             	cmp    $0x1,%esi
407ffd:	75 14                	jne    0x408013
407fff:	8b 55 0c             	mov    0xc(%ebp),%edx
408002:	8b c8                	mov    %eax,%ecx
408004:	e8 f7 0a 00 00       	call   0x408b00
408009:	8b 4d 10             	mov    0x10(%ebp),%ecx
40800c:	89 01                	mov    %eax,(%ecx)
40800e:	e9 9f 00 00 00       	jmp    0x4080b2
408013:	83 fe 04             	cmp    $0x4,%esi
408016:	75 1e                	jne    0x408036
408018:	8b 75 30             	mov    0x30(%ebp),%esi
40801b:	8b c8                	mov    %eax,%ecx
40801d:	8b d6                	mov    %esi,%edx
40801f:	e8 dc 0a 00 00       	call   0x408b00
408024:	85 c0                	test   %eax,%eax
408026:	74 78                	je     0x4080a0
408028:	8b 06                	mov    (%esi),%eax
40802a:	48                   	dec    %eax
40802b:	3d 0f 27 00 00       	cmp    $0x270f,%eax
408030:	77 6e                	ja     0x4080a0
408032:	6a 05                	push   $0x5
408034:	eb 48                	jmp    0x40807e
408036:	83 fe 05             	cmp    $0x5,%esi
408039:	75 20                	jne    0x40805b
40803b:	8b 4d 34             	mov    0x34(%ebp),%ecx
40803e:	50                   	push   %eax
40803f:	ff 15 08 34 42 00    	call   *0x423408
408045:	8b 4d 34             	mov    0x34(%ebp),%ecx
408048:	ff 15 10 34 42 00    	call   *0x423410
40804e:	8b 4d 34             	mov    0x34(%ebp),%ecx
408051:	ff 15 0c 34 42 00    	call   *0x42340c
408057:	6a 06                	push   $0x6