402aa3:	50                   	push   %eax
402aa4:	e8 34 ef ff ff       	call   0x4019dd
402aa9:	8b 85 d0 fd ff ff    	mov    -0x230(%ebp),%eax
402aaf:	83 c4 10             	add    $0x10,%esp
402ab2:	a9 00 80 00 00       	test   $0x8000,%eax
402ab7:	74 23                	je     0x402adc
402ab9:	8b cf                	mov    %edi,%ecx
402abb:	8b df                	mov    %edi,%ebx
402abd:	e8 b0 ef ff ff       	call   0x401a72
402ac2:	68 e9 ed 00 00       	push   $0xede9
402ac7:	57                   	push   %edi
402ac8:	e8 ac 43 00 00       	call   0x406e79
402acd:	59                   	pop    %ecx
402ace:	50                   	push   %eax
402acf:	e8 09 ef ff ff       	call   0x4019dd
402ad4:	8b 85 d0 fd ff ff    	mov    -0x230(%ebp),%eax
402ada:	59                   	pop    %ecx
402adb:	59                   	pop    %ecx
402adc:	a8 08                	test   $0x8,%al
402ade:	74 0e                	je     0x402aee
402ae0:	8b cf                	mov    %edi,%ecx
402ae2:	e8 8b ef ff ff       	call   0x401a72
402ae7:	68 ea ed 00 00       	push   $0xedea
402aec:	eb 10                	jmp    0x402afe
402aee:	85 db                	test   %ebx,%ebx
402af0:	75 1b                	jne    0x402b0d
402af2:	8b cf                	mov    %edi,%ecx
402af4:	e8 79 ef ff ff       	call   0x401a72
402af9:	68 ec ed 00 00       	push   $0xedec
402afe:	57                   	push   %edi
402aff:	e8 75 43 00 00       	call   0x406e79
402b04:	59                   	pop    %ecx
402b05:	50                   	push   %eax
402b06:	e8 d2 ee ff ff       	call   0x4019dd
402b0b:	59                   	pop    %ecx
402b0c:	59                   	pop    %ecx
402b0d:	8b c7                	mov    %edi,%eax
402b0f:	eb 20                	jmp    0x402b31
402b11:	33 ff                	xor    %edi,%edi
402b13:	47                   	inc    %edi
402b14:	8b cf                	mov    %edi,%ecx
402b16:	e8 57 ef ff ff       	call   0x401a72
402b1b:	68 11 ee 00 00       	push   $0xee11
402b20:	57                   	push   %edi
402b21:	e8 53 43 00 00       	call   0x406e79
402b26:	59                   	pop    %ecx
402b27:	50                   	push   %eax
402b28:	e8 b0 ee ff ff       	call   0x4019dd
402b2d:	33 c0                	xor    %eax,%eax
402b2f:	59                   	pop    %ecx
402b30:	59                   	pop    %ecx
402b31:	8b 4d fc             	mov    -0x4(%ebp),%ecx
402b34:	5f                   	pop    %edi
402b35:	5e                   	pop    %esi
402b36:	33 cd                	xor    %ebp,%ecx
402b38:	5b                   	pop    %ebx
402b39:	e8 a2 3d 00 00       	call   0x4068e0
402b3e:	c9                   	leave
402b3f:	c3                   	ret
402b40:	cc                   	int3
402b41:	cc                   	int3
402b42:	cc                   	int3
402b43:	cc                   	int3
402b44:	cc                   	int3
402b45:	cc                   	int3
402b46:	8b ff                	mov    %edi,%edi
402b48:	55                   	push   %ebp
402b49:	8b ec                	mov    %esp,%ebp
402b4b:	83 e4 f8             	and    $0xfffffff8,%esp
402b4e:	83 ec 14             	sub    $0x14,%esp
402b51:	53                   	push   %ebx
402b52:	56                   	push   %esi
402b53:	57                   	push   %edi
402b54:	8b 7d 08             	mov    0x8(%ebp),%edi
402b57:	8b c2                	mov    %edx,%eax
402b59:	50                   	push   %eax
402b5a:	33 c9                	xor    %ecx,%ecx
402b5c:	89 44 24 18          	mov    %eax,0x18(%esp)
402b60:	51                   	push   %ecx
402b61:	8d 44 24 20          	lea    0x20(%esp),%eax
402b65:	89 4c 24 18          	mov    %ecx,0x18(%esp)
402b69:	50                   	push   %eax
402b6a:	51                   	push   %ecx
402b6b:	57                   	push   %edi
402b6c:	8d 44 24 24          	lea    0x24(%esp),%eax
402b70:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
402b74:	50                   	push   %eax
402b75:	8b d9                	mov    %ecx,%ebx
402b77:	ff 15 2c 81 40 00    	call   *0x40812c
402b7d:	85 c0                	test   %eax,%eax
402b7f:	0f 85 43 01 00 00    	jne    0x402cc8
402b85:	3b 7d 08             	cmp    0x8(%ebp),%edi
402b88:	74 07                	je     0x402b91
402b8a:	57                   	push   %edi
402b8b:	ff 15 e0 80 40 00    	call   *0x4080e0
402b91:	ff 74 24 14          	push   0x14(%esp)
402b95:	8b 7c 24 14          	mov    0x14(%esp),%edi
402b99:	8d 44 24 20          	lea    0x20(%esp),%eax
402b9d:	6a 00                	push   $0x0
402b9f:	57                   	push   %edi
402ba0:	50                   	push   %eax
402ba1:	ff 15 f4 80 40 00    	call   *0x4080f4
402ba7:	85 c0                	test   %eax,%eax
402ba9:	0f 85 ec 00 00 00    	jne    0x402c9b
402baf:	ff 74 24 1c          	push   0x1c(%esp)
402bb3:	e8 06 3a 00 00       	call   0x4065be
402bb8:	8b f0                	mov    %eax,%esi
402bba:	59                   	pop    %ecx
402bbb:	85 f6                	test   %esi,%esi
402bbd:	0f 84 d8 00 00 00    	je     0x402c9b
402bc3:	ff 74 24 14          	push   0x14(%esp)
402bc7:	6a 00                	push   $0x0
402bc9:	ff 74 24 24          	push   0x24(%esp)
402bcd:	56                   	push   %esi
402bce:	ff 74 24 20          	push   0x20(%esp)
402bd2:	ff 15 38 81 40 00    	call   *0x408138
402bd8:	85 c0                	test   %eax,%eax
402bda:	0f 85 b4 00 00 00    	jne    0x402c94
402be0:	8b 44 24 18          	mov    0x18(%esp),%eax
402be4:	83 e8 01             	sub    $0x1,%eax
402be7:	74 70                	je     0x402c59
402be9:	83 e8 01             	sub    $0x1,%eax
402bec:	74 3a                	je     0x402c28
402bee:	83 e8 01             	sub    $0x1,%eax
402bf1:	74 23                	je     0x402c16
402bf3:	83 e8 01             	sub    $0x1,%eax
402bf6:	0f 85 98 00 00 00    	jne    0x402c94
402bfc:	6a 02                	push   $0x2
402bfe:	59                   	pop    %ecx
402bff:	e8 6e ee ff ff       	call   0x401a72
402c04:	ff 76 0c             	push   0xc(%esi)
402c07:	68 60 12 40 00       	push   $0x401260
402c0c:	ff 15 bc 81 40 00    	call   *0x4081bc
402c12:	59                   	pop    %ecx
402c13:	59                   	pop    %ecx
402c14:	eb 7b                	jmp    0x402c91
402c16:	6a 02                	push   $0x2
402c18:	59                   	pop    %ecx
402c19:	e8 54 ee ff ff       	call   0x401a72
402c1e:	ff 76 0c             	push   0xc(%esi)
402c21:	68 4c 12 40 00       	push   $0x40124c
402c26:	eb e4                	jmp    0x402c0c
402c28:	8b 4e 10             	mov    0x10(%esi),%ecx
402c2b:	2b 4e 08             	sub    0x8(%esi),%ecx
402c2e:	8b 46 14             	mov    0x14(%esi),%eax
402c31:	1b 46 0c             	sbb    0xc(%esi),%eax
402c34:	83 c1 01             	add    $0x1,%ecx
402c37:	83 d0 00             	adc    $0x0,%eax
402c3a:	0b c8                	or     %eax,%ecx
402c3c:	74 56                	je     0x402c94
402c3e:	6a 02                	push   $0x2
402c40:	59                   	pop    %ecx
402c41:	e8 2c ee ff ff       	call   0x401a72
402c46:	ff 76 14             	push   0x14(%esi)
402c49:	ff 76 10             	push   0x10(%esi)
402c4c:	ff 76 0c             	push   0xc(%esi)
402c4f:	ff 76 08             	push   0x8(%esi)
402c52:	68 1c 12 40 00       	push   $0x40121c
402c57:	eb 2f                	jmp    0x402c88
402c59:	8b 4e 10             	mov    0x10(%esi),%ecx
402c5c:	2b 4e 08             	sub    0x8(%esi),%ecx
402c5f:	8b 46 14             	mov    0x14(%esi),%eax
402c62:	1b 46 0c             	sbb    0xc(%esi),%eax
402c65:	83 c1 01             	add    $0x1,%ecx
402c68:	83 d0 00             	adc    $0x0,%eax
402c6b:	0b c8                	or     %eax,%ecx
402c6d:	74 25                	je     0x402c94
402c6f:	6a 02                	push   $0x2
402c71:	59                   	pop    %ecx
402c72:	e8 fb ed ff ff       	call   0x401a72
402c77:	ff 76 14             	push   0x14(%esi)
402c7a:	ff 76 10             	push   0x10(%esi)
402c7d:	ff 76 0c             	push   0xc(%esi)
402c80:	ff 76 08             	push   0x8(%esi)
402c83:	68 ec 11 40 00       	push   $0x4011ec
402c88:	ff 15 bc 81 40 00    	call   *0x4081bc
402c8e:	83 c4 14             	add    $0x14,%esp
402c91:	33 db                	xor    %ebx,%ebx
402c93:	43                   	inc    %ebx
402c94:	56                   	push   %esi
402c95:	e8 53 39 00 00       	call   0x4065ed
402c9a:	59                   	pop    %ecx
402c9b:	ff 74 24 14          	push   0x14(%esp)
402c9f:	8d 44 24 1c          	lea    0x1c(%esp),%eax
402ca3:	6a 00                	push   $0x0
402ca5:	50                   	push   %eax
402ca6:	6a 00                	push   $0x0
402ca8:	57                   	push   %edi
402ca9:	8d 44 24 24          	lea    0x24(%esp),%eax
402cad:	50                   	push   %eax
402cae:	ff 15 2c 81 40 00    	call   *0x40812c
402cb4:	85 c0                	test   %eax,%eax
402cb6:	0f 84 c9 fe ff ff    	je     0x402b85
402cbc:	3b 7d 08             	cmp    0x8(%ebp),%edi
402cbf:	74 07                	je     0x402cc8
402cc1:	57                   	push   %edi
402cc2:	ff 15 e0 80 40 00    	call   *0x4080e0
402cc8:	5f                   	pop    %edi
402cc9:	5e                   	pop    %esi
402cca:	8b c3                	mov    %ebx,%eax
402ccc:	5b                   	pop    %ebx
402ccd:	8b e5                	mov    %ebp,%esp
402ccf:	5d                   	pop    %ebp
402cd0:	c2 08 00             	ret    $0x8
402cd3:	cc                   	int3
402cd4:	cc                   	int3
402cd5:	cc                   	int3
402cd6:	cc                   	int3
402cd7:	cc                   	int3
402cd8:	cc                   	int3
402cd9:	8b ff                	mov    %edi,%edi
402cdb:	55                   	push   %ebp
402cdc:	8b ec                	mov    %esp,%ebp
402cde:	81 ec 38 02 00 00    	sub    $0x238,%esp
402ce4:	a1 b4 71 40 00       	mov    0x4071b4,%eax
402ce9:	33 c5                	xor    %ebp,%eax
402ceb:	89 45 fc             	mov    %eax,-0x4(%ebp)
402cee:	56                   	push   %esi
402cef:	57                   	push   %edi
402cf0:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
402cf6:	c7 85 d4 fd ff ff 26 	movl   $0x226,-0x22c(%ebp)
402cfd:	02 00 00
402d00:	33 ff                	xor    %edi,%edi
402d02:	8b f2                	mov    %edx,%esi
402d04:	50                   	push   %eax
402d05:	51                   	push   %ecx
402d06:	89 bd d0 fd ff ff    	mov    %edi,-0x230(%ebp)
402d0c:	89 bd c8 fd ff ff    	mov    %edi,-0x238(%ebp)
402d12:	89 bd cc fd ff ff    	mov    %edi,-0x234(%ebp)
402d18:	ff 15 0c 81 40 00    	call   *0x40810c
402d1e:	85 c0                	test   %eax,%eax
402d20:	0f 84 17 01 00 00    	je     0x402e3d
402d26:	ff b5 e8 fd ff ff    	push   -0x218(%ebp)
402d2c:	8d 85 c8 fd ff ff    	lea    -0x238(%ebp),%eax
402d32:	57                   	push   %edi
402d33:	ff 76 14             	push   0x14(%esi)
402d36:	50                   	push   %eax
402d37:	8d 85 d0 fd ff ff    	lea    -0x230(%ebp),%eax
402d3d:	50                   	push   %eax
402d3e:	ff 15 30 81 40 00    	call   *0x408130
402d44:	85 c0                	test   %eax,%eax
402d46:	0f 85 f1 00 00 00    	jne    0x402e3d
402d4c:	bf 00 04 00 00       	mov    $0x400,%edi
402d51:	85 bd d0 fd ff ff    	test   %edi,-0x230(%ebp)
402d57:	75 1c                	jne    0x402d75
402d59:	ff b5 e8 fd ff ff    	push   -0x218(%ebp)
402d5f:	8d 85 cc fd ff ff    	lea    -0x234(%ebp),%eax
402d65:	6a 02                	push   $0x2
402d67:	ff 76 14             	push   0x14(%esi)
402d6a:	50                   	push   %eax
402d6b:	ff 15 54 81 40 00    	call   *0x408154
402d71:	85 c0                	test   %eax,%eax
402d73:	74 7c                	je     0x402df1
402d75:	ff b5 e8 fd ff ff    	push   -0x218(%ebp)
402d7b:	8d 85 cc fd ff ff    	lea    -0x234(%ebp),%eax
402d81:	6a 04                	push   $0x4
402d83:	ff 76 14             	push   0x14(%esi)
402d86:	50                   	push   %eax
402d87:	ff 15 54 81 40 00    	call   *0x408154
402d8d:	85 c0                	test   %eax,%eax
402d8f:	74 60                	je     0x402df1
402d91:	85 bd d0 fd ff ff    	test   %edi,-0x230(%ebp)
402d97:	74 09                	je     0x402da2
402d99:	83 bd c8 fd ff ff 1d 	cmpl   $0x1d,-0x238(%ebp)
402da0:	74 1c                	je     0x402dbe
402da2:	ff b5 e8 fd ff ff    	push   -0x218(%ebp)
402da8:	8d 85 cc fd ff ff    	lea    -0x234(%ebp),%eax
402dae:	6a 03                	push   $0x3
402db0:	ff 76 14             	push   0x14(%esi)
402db3:	50                   	push   %eax
402db4:	ff 15 54 81 40 00    	call   *0x408154
402dba:	85 c0                	test   %eax,%eax
402dbc:	74 33                	je     0x402df1
402dbe:	33 c9                	xor    %ecx,%ecx
402dc0:	41                   	inc    %ecx
402dc1:	e8 ac ec ff ff       	call   0x401a72
402dc6:	8b 85 d0 fd ff ff    	mov    -0x230(%ebp),%eax
402dcc:	24 08                	and    $0x8,%al
402dce:	0f b6 f0             	movzbl %al,%esi
402dd1:	f7 de                	neg    %esi
402dd3:	6a 01                	push   $0x1
402dd5:	1b f6                	sbb    %esi,%esi
402dd7:	81 c6 ee ed 00 00    	add    $0xedee,%esi
402ddd:	e8 97 40 00 00       	call   0x406e79
402de2:	56                   	push   %esi
402de3:	50                   	push   %eax
402de4:	e8 f4 eb ff ff       	call   0x4019dd
402de9:	83 c4 0c             	add    $0xc,%esp
402dec:	33 c0                	xor    %eax,%eax
402dee:	40                   	inc    %eax
402def:	eb 4e                	jmp    0x402e3f
402df1:	33 c9                	xor    %ecx,%ecx
402df3:	41                   	inc    %ecx
402df4:	e8 79 ec ff ff       	call   0x401a72
402df9:	8b 85 d0 fd ff ff    	mov    -0x230(%ebp),%eax
402dff:	24 08                	and    $0x8,%al
402e01:	0f b6 f0             	movzbl %al,%esi
402e04:	f7 de                	neg    %esi
402e06:	6a 01                	push   $0x1
402e08:	1b f6                	sbb    %esi,%esi
402e0a:	81 c6 f0 ed 00 00    	add    $0xedf0,%esi
402e10:	e8 64 40 00 00       	call   0x406e79
402e15:	56                   	push   %esi
402e16:	50                   	push   %eax
402e17:	e8 c1 eb ff ff       	call   0x4019dd
402e1c:	8b 95 e8 fd ff ff    	mov    -0x218(%ebp),%edx
402e22:	59                   	pop    %ecx
402e23:	59                   	pop    %ecx
402e24:	ff b5 cc fd ff ff    	push   -0x234(%ebp)
402e2a:	e8 17 fd ff ff       	call   0x402b46
402e2f:	ff b5 cc fd ff ff    	push   -0x234(%ebp)
402e35:	ff 15 d4 80 40 00    	call   *0x4080d4
402e3b:	eb af                	jmp    0x402dec
402e3d:	33 c0                	xor    %eax,%eax
402e3f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
402e42:	5f                   	pop    %edi
402e43:	33 cd                	xor    %ebp,%ecx
402e45:	5e                   	pop    %esi
402e46:	e8 95 3a 00 00       	call   0x4068e0
402e4b:	c9                   	leave
402e4c:	c3                   	ret
402e4d:	cc                   	int3
402e4e:	cc                   	int3
402e4f:	cc                   	int3
402e50:	cc                   	int3
402e51:	cc                   	int3
402e52:	cc                   	int3
402e53:	cc                   	int3
402e54:	cc                   	int3
402e55:	cc                   	int3
402e56:	cc                   	int3
402e57:	cc                   	int3
402e58:	cc                   	int3
402e59:	cc                   	int3
402e5a:	cc                   	int3
402e5b:	cc                   	int3
402e5c:	cc                   	int3
402e5d:	cc                   	int3
402e5e:	cc                   	int3
402e5f:	cc                   	int3
402e60:	8b ff                	mov    %edi,%edi
402e62:	55                   	push   %ebp
402e63:	8b ec                	mov    %esp,%ebp
402e65:	8b 45 08             	mov    0x8(%ebp),%eax
402e68:	85 c0                	test   %eax,%eax
402e6a:	74 04                	je     0x402e70
402e6c:	ff 00                	incl   (%eax)
402e6e:	eb 18                	jmp    0x402e88
402e70:	6a 02                	push   $0x2
402e72:	59                   	pop    %ecx