4079ff:	e8 4b 7d 00 00       	call   0x40f74f
407a04:	33 c9                	xor    %ecx,%ecx
407a06:	39 0d f8 09 42 00    	cmp    %ecx,0x4209f8
407a0c:	74 68                	je     0x407a76
407a0e:	be 38 01 00 00       	mov    $0x138,%esi
407a13:	8b d6                	mov    %esi,%edx
407a15:	e8 6a 6d 00 00       	call   0x40e784
407a1a:	8d 56 f8             	lea    -0x8(%esi),%edx
407a1d:	33 c9                	xor    %ecx,%ecx
407a1f:	e8 60 6d 00 00       	call   0x40e784
407a24:	e8 ae ab 00 00       	call   0x4125d7
407a29:	8b d6                	mov    %esi,%edx
407a2b:	33 c9                	xor    %ecx,%ecx
407a2d:	e8 52 6d 00 00       	call   0x40e784
407a32:	8d 56 c7             	lea    -0x39(%esi),%edx
407a35:	e9 e1 fd ff ff       	jmp    0x40781b
407a3a:	8b 35 10 12 42 00    	mov    0x421210,%esi
407a40:	8d 45 e4             	lea    -0x1c(%ebp),%eax
407a43:	51                   	push   %ecx
407a44:	8b cc                	mov    %esp,%ecx
407a46:	89 65 b0             	mov    %esp,-0x50(%ebp)
407a49:	50                   	push   %eax
407a4a:	ff 15 f0 33 42 00    	call   *0x4233f0
407a50:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
407a54:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
407a58:	8b ce                	mov    %esi,%ecx
407a5a:	e8 ac 77 00 00       	call   0x40f20b
407a5f:	85 c0                	test   %eax,%eax
407a61:	75 0b                	jne    0x407a6e
407a63:	8b 35 18 12 42 00    	mov    0x421218,%esi
407a69:	e9 1c ff ff ff       	jmp    0x40798a
407a6e:	8b 4d ec             	mov    -0x14(%ebp),%ecx
407a71:	e9 2f ff ff ff       	jmp    0x4079a5
407a76:	ba 38 01 00 00       	mov    $0x138,%edx
407a7b:	e8 04 6d 00 00       	call   0x40e784
407a80:	ba ef 00 00 00       	mov    $0xef,%edx
407a85:	e9 91 fd ff ff       	jmp    0x40781b
407a8a:	e8 3b 0f 00 00       	call   0x4089ca
407a8f:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
407a93:	8d 4d e8             	lea    -0x18(%ebp),%ecx
407a96:	ff 15 44 32 42 00    	call   *0x423244
407a9c:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
407aa0:	8d 4d e0             	lea    -0x20(%ebp),%ecx
407aa3:	ff 15 44 32 42 00    	call   *0x423244
407aa9:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
407aad:	8d 4d dc             	lea    -0x24(%ebp),%ecx
407ab0:	ff 15 44 32 42 00    	call   *0x423244
407ab6:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
407aba:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
407abd:	ff 15 44 32 42 00    	call   *0x423244
407ac3:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
407ac7:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
407aca:	ff 15 d4 33 42 00    	call   *0x4233d4
407ad0:	8b 45 d8             	mov    -0x28(%ebp),%eax
407ad3:	e8 2e 49 01 00       	call   0x41c406
407ad8:	c3                   	ret
407ad9:	8b ff                	mov    %edi,%edi
407adb:	52                   	push   %edx
407adc:	51                   	push   %ecx
407add:	ff 15 64 35 42 00    	call   *0x423564
407ae3:	f7 d8                	neg    %eax
407ae5:	59                   	pop    %ecx
407ae6:	1b c0                	sbb    %eax,%eax
407ae8:	59                   	pop    %ecx
407ae9:	40                   	inc    %eax
407aea:	c3                   	ret
407aeb:	8b ff                	mov    %edi,%edi
407aed:	55                   	push   %ebp
407aee:	8b ec                	mov    %esp,%ebp
407af0:	51                   	push   %ecx
407af1:	53                   	push   %ebx
407af2:	56                   	push   %esi
407af3:	33 f6                	xor    %esi,%esi
407af5:	8b c1                	mov    %ecx,%eax
407af7:	57                   	push   %edi
407af8:	46                   	inc    %esi
407af9:	89 45 fc             	mov    %eax,-0x4(%ebp)
407afc:	33 ff                	xor    %edi,%edi
407afe:	8b da                	mov    %edx,%ebx
407b00:	3b c6                	cmp    %esi,%eax
407b02:	7e 3f                	jle    0x407b43
407b04:	8b 0c b3             	mov    (%ebx,%esi,4),%ecx
407b07:	ba a0 14 42 00       	mov    $0x4214a0,%edx
407b0c:	e8 c8 ff ff ff       	call   0x407ad9
407b11:	85 c0                	test   %eax,%eax
407b13:	75 28                	jne    0x407b3d
407b15:	8b 55 08             	mov    0x8(%ebp),%edx
407b18:	8b 0c b3             	mov    (%ebx,%esi,4),%ecx
407b1b:	e8 b9 ff ff ff       	call   0x407ad9
407b20:	85 c0                	test   %eax,%eax
407b22:	74 05                	je     0x407b29
407b24:	33 ff                	xor    %edi,%edi
407b26:	47                   	inc    %edi
407b27:	eb 14                	jmp    0x407b3d
407b29:	83 ff 01             	cmp    $0x1,%edi
407b2c:	75 1e                	jne    0x407b4c
407b2e:	ff 34 b3             	push   (%ebx,%esi,4)
407b31:	68 4b 01 00 00       	push   $0x14b
407b36:	e8 18 6b 00 00       	call   0x40e653
407b3b:	59                   	pop    %ecx
407b3c:	59                   	pop    %ecx
407b3d:	46                   	inc    %esi
407b3e:	3b 75 fc             	cmp    -0x4(%ebp),%esi
407b41:	7c c1                	jl     0x407b04
407b43:	8b c7                	mov    %edi,%eax
407b45:	5f                   	pop    %edi
407b46:	5e                   	pop    %esi
407b47:	5b                   	pop    %ebx
407b48:	c9                   	leave
407b49:	c2 04 00             	ret    $0x4
407b4c:	33 c0                	xor    %eax,%eax
407b4e:	eb f5                	jmp    0x407b45
407b50:	8b ff                	mov    %edi,%edi
407b52:	55                   	push   %ebp
407b53:	8b ec                	mov    %esp,%ebp
407b55:	83 e4 f8             	and    $0xfffffff8,%esp
407b58:	83 ec 0c             	sub    $0xc,%esp
407b5b:	53                   	push   %ebx
407b5c:	56                   	push   %esi
407b5d:	57                   	push   %edi
407b5e:	8b c2                	mov    %edx,%eax
407b60:	33 db                	xor    %ebx,%ebx
407b62:	33 ff                	xor    %edi,%edi
407b64:	89 44 24 0c          	mov    %eax,0xc(%esp)
407b68:	83 f9 02             	cmp    $0x2,%ecx
407b6b:	0f 8c f7 00 00 00    	jl     0x407c68
407b71:	33 f6                	xor    %esi,%esi
407b73:	c7 44 24 10 30 75 00 	movl   $0x7530,0x10(%esp)
407b7a:	00
407b7b:	49                   	dec    %ecx
407b7c:	46                   	inc    %esi
407b7d:	89 4c 24 14          	mov    %ecx,0x14(%esp)
407b81:	3b ce                	cmp    %esi,%ecx
407b83:	0f 8e df 00 00 00    	jle    0x407c68
407b89:	8b 0c b0             	mov    (%eax,%esi,4),%ecx
407b8c:	ba 90 11 42 00       	mov    $0x421190,%edx
407b91:	e8 43 ff ff ff       	call   0x407ad9
407b96:	85 c0                	test   %eax,%eax
407b98:	74 0d                	je     0x407ba7
407b9a:	8b 44 24 0c          	mov    0xc(%esp),%eax
407b9e:	33 db                	xor    %ebx,%ebx
407ba0:	43                   	inc    %ebx
407ba1:	8b 7c b0 04          	mov    0x4(%eax,%esi,4),%edi
407ba5:	eb 32                	jmp    0x407bd9
407ba7:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
407bab:	ba 10 11 42 00       	mov    $0x421110,%edx
407bb0:	8b 0c b1             	mov    (%ecx,%esi,4),%ecx
407bb3:	e8 21 ff ff ff       	call   0x407ad9
407bb8:	85 c0                	test   %eax,%eax
407bba:	8b 44 24 0c          	mov    0xc(%esp),%eax
407bbe:	74 19                	je     0x407bd9
407bc0:	ff 74 b0 04          	push   0x4(%eax,%esi,4)
407bc4:	ff 15 60 35 42 00    	call   *0x423560
407bca:	69 c0 e8 03 00 00    	imul   $0x3e8,%eax,%eax
407bd0:	59                   	pop    %ecx
407bd1:	89 44 24 10          	mov    %eax,0x10(%esp)
407bd5:	8b 44 24 0c          	mov    0xc(%esp),%eax
407bd9:	46                   	inc    %esi
407bda:	3b 74 24 14          	cmp    0x14(%esp),%esi
407bde:	7c a9                	jl     0x407b89
407be0:	89 5c 24 14          	mov    %ebx,0x14(%esp)
407be4:	83 fb 01             	cmp    $0x1,%ebx
407be7:	75 7f                	jne    0x407c68
407be9:	68 e4 43 40 00       	push   $0x4043e4
407bee:	57                   	push   %edi
407bef:	ff 15 5c 35 42 00    	call   *0x42355c
407bf5:	8b f0                	mov    %eax,%esi
407bf7:	59                   	pop    %ecx
407bf8:	59                   	pop    %ecx
407bf9:	85 f6                	test   %esi,%esi
407bfb:	74 5b                	je     0x407c58
407bfd:	8b 5c 24 10          	mov    0x10(%esp),%ebx
407c01:	8b ce                	mov    %esi,%ecx
407c03:	e8 d8 99 00 00       	call   0x4115e0
407c08:	85 c0                	test   %eax,%eax
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)