40b9ca:	5e                   	pop    %esi
40b9cb:	5b                   	pop    %ebx
40b9cc:	8b e5                	mov    %ebp,%esp
40b9ce:	5d                   	pop    %ebp
40b9cf:	c3                   	ret
40b9d0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
40b9d4:	f7 41 04 06 00 00 00 	testl  $0x6,0x4(%ecx)
40b9db:	b8 01 00 00 00       	mov    $0x1,%eax
40b9e0:	74 32                	je     0x40ba14
40b9e2:	8b 44 24 14          	mov    0x14(%esp),%eax
40b9e6:	8b 48 fc             	mov    -0x4(%eax),%ecx
40b9e9:	33 c8                	xor    %eax,%ecx
40b9eb:	e8 70 b6 ff ff       	call   0x407060
40b9f0:	55                   	push   %ebp
40b9f1:	8b 68 10             	mov    0x10(%eax),%ebp
40b9f4:	8b 50 28             	mov    0x28(%eax),%edx
40b9f7:	52                   	push   %edx
40b9f8:	8b 50 24             	mov    0x24(%eax),%edx
40b9fb:	52                   	push   %edx
40b9fc:	e8 14 00 00 00       	call   0x40ba15
40ba01:	83 c4 08             	add    $0x8,%esp
40ba04:	5d                   	pop    %ebp
40ba05:	8b 44 24 08          	mov    0x8(%esp),%eax
40ba09:	8b 54 24 10          	mov    0x10(%esp),%edx
40ba0d:	89 02                	mov    %eax,(%edx)
40ba0f:	b8 03 00 00 00       	mov    $0x3,%eax
40ba14:	c3                   	ret
40ba15:	53                   	push   %ebx
40ba16:	56                   	push   %esi
40ba17:	57                   	push   %edi
40ba18:	8b 44 24 10          	mov    0x10(%esp),%eax
40ba1c:	55                   	push   %ebp
40ba1d:	50                   	push   %eax
40ba1e:	6a fe                	push   $0xfffffffe
40ba20:	68 d0 b9 40 00       	push   $0x40b9d0
40ba25:	64 ff 35 00 00 00 00 	push   %fs:0x0
40ba2c:	a1 28 ba 43 00       	mov    0x43ba28,%eax
40ba31:	33 c4                	xor    %esp,%eax
40ba33:	50                   	push   %eax
40ba34:	8d 44 24 04          	lea    0x4(%esp),%eax
40ba38:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40ba3e:	8b 44 24 28          	mov    0x28(%esp),%eax
40ba42:	8b 58 08             	mov    0x8(%eax),%ebx
40ba45:	8b 70 0c             	mov    0xc(%eax),%esi
40ba48:	83 fe ff             	cmp    $0xffffffff,%esi
40ba4b:	74 3a                	je     0x40ba87
40ba4d:	83 7c 24 2c ff       	cmpl   $0xffffffff,0x2c(%esp)
40ba52:	74 06                	je     0x40ba5a
40ba54:	3b 74 24 2c          	cmp    0x2c(%esp),%esi
40ba58:	76 2d                	jbe    0x40ba87
40ba5a:	8d 34 76             	lea    (%esi,%esi,2),%esi
40ba5d:	8b 0c b3             	mov    (%ebx,%esi,4),%ecx
40ba60:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
40ba64:	89 48 0c             	mov    %ecx,0xc(%eax)
40ba67:	83 7c b3 04 00       	cmpl   $0x0,0x4(%ebx,%esi,4)
40ba6c:	75 17                	jne    0x40ba85
40ba6e:	68 01 01 00 00       	push   $0x101
40ba73:	8b 44 b3 08          	mov    0x8(%ebx,%esi,4),%eax
40ba77:	e8 49 00 00 00       	call   0x40bac5
40ba7c:	8b 44 b3 08          	mov    0x8(%ebx,%esi,4),%eax
40ba80:	e8 5f 00 00 00       	call   0x40bae4
40ba85:	eb b7                	jmp    0x40ba3e
40ba87:	8b 4c 24 04          	mov    0x4(%esp),%ecx
40ba8b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40ba92:	83 c4 18             	add    $0x18,%esp
40ba95:	5f                   	pop    %edi
40ba96:	5e                   	pop    %esi
40ba97:	5b                   	pop    %ebx
40ba98:	c3                   	ret
40ba99:	33 c0                	xor    %eax,%eax
40ba9b:	64 8b 0d 00 00 00 00 	mov    %fs:0x0,%ecx
40baa2:	81 79 04 d0 b9 40 00 	cmpl   $0x40b9d0,0x4(%ecx)
40baa9:	75 10                	jne    0x40babb
40baab:	8b 51 0c             	mov    0xc(%ecx),%edx
40baae:	8b 52 0c             	mov    0xc(%edx),%edx
40bab1:	39 51 08             	cmp    %edx,0x8(%ecx)
40bab4:	75 05                	jne    0x40babb
40bab6:	b8 01 00 00 00       	mov    $0x1,%eax
40babb:	c3                   	ret
40babc:	53                   	push   %ebx
40babd:	51                   	push   %ecx
40babe:	bb 60 ba 43 00       	mov    $0x43ba60,%ebx
40bac3:	eb 0b                	jmp    0x40bad0
40bac5:	53                   	push   %ebx
40bac6:	51                   	push   %ecx
40bac7:	bb 60 ba 43 00       	mov    $0x43ba60,%ebx
40bacc:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
40bad0:	89 4b 08             	mov    %ecx,0x8(%ebx)
40bad3:	89 43 04             	mov    %eax,0x4(%ebx)
40bad6:	89 6b 0c             	mov    %ebp,0xc(%ebx)
40bad9:	55                   	push   %ebp
40bada:	51                   	push   %ecx
40badb:	50                   	push   %eax
40badc:	58                   	pop    %eax
40badd:	59                   	pop    %ecx
40bade:	5d                   	pop    %ebp
40badf:	59                   	pop    %ecx
40bae0:	5b                   	pop    %ebx
40bae1:	c2 04 00             	ret    $0x4
40bae4:	ff d0                	call   *%eax
40bae6:	c3                   	ret
40bae7:	8b ff                	mov    %edi,%edi
40bae9:	55                   	push   %ebp
40baea:	8b ec                	mov    %esp,%ebp
40baec:	8d 41 04             	lea    0x4(%ecx),%eax
40baef:	8b d0                	mov    %eax,%edx
40baf1:	2b d1                	sub    %ecx,%edx
40baf3:	83 c2 03             	add    $0x3,%edx
40baf6:	56                   	push   %esi
40baf7:	33 f6                	xor    %esi,%esi
40baf9:	c1 ea 02             	shr    $0x2,%edx
40bafc:	3b c1                	cmp    %ecx,%eax
40bafe:	1b c0                	sbb    %eax,%eax
40bb00:	f7 d0                	not    %eax
40bb02:	23 c2                	and    %edx,%eax
40bb04:	74 0d                	je     0x40bb13
40bb06:	8b 55 08             	mov    0x8(%ebp),%edx
40bb09:	46                   	inc    %esi
40bb0a:	89 11                	mov    %edx,(%ecx)
40bb0c:	8d 49 04             	lea    0x4(%ecx),%ecx
40bb0f:	3b f0                	cmp    %eax,%esi
40bb11:	75 f6                	jne    0x40bb09
40bb13:	5e                   	pop    %esi
40bb14:	5d                   	pop    %ebp
40bb15:	c2 04 00             	ret    $0x4
40bb18:	8b ff                	mov    %edi,%edi
40bb1a:	55                   	push   %ebp
40bb1b:	8b ec                	mov    %esp,%ebp
40bb1d:	81 ec 28 03 00 00    	sub    $0x328,%esp
40bb23:	a1 28 ba 43 00       	mov    0x43ba28,%eax
40bb28:	33 c5                	xor    %ebp,%eax
40bb2a:	89 45 fc             	mov    %eax,-0x4(%ebp)
40bb2d:	83 7d 08 ff          	cmpl   $0xffffffff,0x8(%ebp)
40bb31:	57                   	push   %edi
40bb32:	74 09                	je     0x40bb3d
40bb34:	ff 75 08             	push   0x8(%ebp)
40bb37:	e8 d3 ba ff ff       	call   0x40760f
40bb3c:	59                   	pop    %ecx
40bb3d:	6a 50                	push   $0x50
40bb3f:	8d 85 e0 fc ff ff    	lea    -0x320(%ebp),%eax
40bb45:	6a 00                	push   $0x0
40bb47:	50                   	push   %eax
40bb48:	e8 93 ce ff ff       	call   0x4089e0
40bb4d:	68 cc 02 00 00       	push   $0x2cc
40bb52:	8d 85 30 fd ff ff    	lea    -0x2d0(%ebp),%eax
40bb58:	6a 00                	push   $0x0
40bb5a:	50                   	push   %eax
40bb5b:	e8 80 ce ff ff       	call   0x4089e0
40bb60:	8d 85 e0 fc ff ff    	lea    -0x320(%ebp),%eax
40bb66:	83 c4 18             	add    $0x18,%esp
40bb69:	89 85 d8 fc ff ff    	mov    %eax,-0x328(%ebp)
40bb6f:	8d 85 30 fd ff ff    	lea    -0x2d0(%ebp),%eax
40bb75:	89 85 dc fc ff ff    	mov    %eax,-0x324(%ebp)
40bb7b:	89 85 e0 fd ff ff    	mov    %eax,-0x220(%ebp)
40bb81:	89 8d dc fd ff ff    	mov    %ecx,-0x224(%ebp)
40bb87:	89 95 d8 fd ff ff    	mov    %edx,-0x228(%ebp)
40bb8d:	89 9d d4 fd ff ff    	mov    %ebx,-0x22c(%ebp)
40bb93:	89 b5 d0 fd ff ff    	mov    %esi,-0x230(%ebp)
40bb99:	89 bd cc fd ff ff    	mov    %edi,-0x234(%ebp)
40bb9f:	66 8c 95 f8 fd ff ff 	data16 mov %ss,-0x208(%ebp)
40bba6:	66 8c 8d ec fd ff ff 	data16 mov %cs,-0x214(%ebp)
40bbad:	66 8c 9d c8 fd ff ff 	data16 mov %ds,-0x238(%ebp)
40bbb4:	66 8c 85 c4 fd ff ff 	data16 mov %es,-0x23c(%ebp)
40bbbb:	66 8c a5 c0 fd ff ff 	data16 mov %fs,-0x240(%ebp)
40bbc2:	66 8c ad bc fd ff ff 	data16 mov %gs,-0x244(%ebp)
40bbc9:	9c                   	pushf
40bbca:	8f 85 f0 fd ff ff    	pop    -0x210(%ebp)
40bbd0:	8b 45 04             	mov    0x4(%ebp),%eax
40bbd3:	89 85 e8 fd ff ff    	mov    %eax,-0x218(%ebp)
40bbd9:	8d 45 04             	lea    0x4(%ebp),%eax
40bbdc:	89 85 f4 fd ff ff    	mov    %eax,-0x20c(%ebp)
40bbe2:	c7 85 30 fd ff ff 01 	movl   $0x10001,-0x2d0(%ebp)
40bbe9:	00 01 00
40bbec:	8b 40 fc             	mov    -0x4(%eax),%eax
40bbef:	89 85 e4 fd ff ff    	mov    %eax,-0x21c(%ebp)
40bbf5:	8b 45 0c             	mov    0xc(%ebp),%eax
40bbf8:	89 85 e0 fc ff ff    	mov    %eax,-0x320(%ebp)
40bbfe:	8b 45 10             	mov    0x10(%ebp),%eax
40bc01:	89 85 e4 fc ff ff    	mov    %eax,-0x31c(%ebp)
40bc07:	8b 45 04             	mov    0x4(%ebp),%eax
40bc0a:	89 85 ec fc ff ff    	mov    %eax,-0x314(%ebp)
40bc10:	ff 15 94 71 42 00    	call   *0x427194
40bc16:	6a 00                	push   $0x0
40bc18:	8b f8                	mov    %eax,%edi
40bc1a:	ff 15 9c 71 42 00    	call   *0x42719c
40bc20:	8d 85 d8 fc ff ff    	lea    -0x328(%ebp),%eax
40bc26:	50                   	push   %eax
40bc27:	ff 15 98 71 42 00    	call   *0x427198
40bc2d:	85 c0                	test   %eax,%eax
40bc2f:	75 13                	jne    0x40bc44
40bc31:	85 ff                	test   %edi,%edi
40bc33:	75 0f                	jne    0x40bc44
40bc35:	83 7d 08 ff          	cmpl   $0xffffffff,0x8(%ebp)
40bc39:	74 09                	je     0x40bc44
40bc3b:	ff 75 08             	push   0x8(%ebp)
40bc3e:	e8 cc b9 ff ff       	call   0x40760f
40bc43:	59                   	pop    %ecx
40bc44:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40bc47:	33 cd                	xor    %ebp,%ecx
40bc49:	5f                   	pop    %edi
40bc4a:	e8 11 b4 ff ff       	call   0x407060
40bc4f:	8b e5                	mov    %ebp,%esp
40bc51:	5d                   	pop    %ebp
40bc52:	c3                   	ret
40bc53:	8b ff                	mov    %edi,%edi
40bc55:	55                   	push   %ebp
40bc56:	8b ec                	mov    %esp,%ebp
40bc58:	ff 75 08             	push   0x8(%ebp)
40bc5b:	b9 38 9a 83 02       	mov    $0x2839a38,%ecx
40bc60:	e8 82 fe ff ff       	call   0x40bae7
40bc65:	5d                   	pop    %ebp
40bc66:	c3                   	ret
40bc67:	8b ff                	mov    %edi,%edi
40bc69:	55                   	push   %ebp
40bc6a:	8b ec                	mov    %esp,%ebp
40bc6c:	51                   	push   %ecx
40bc6d:	a1 28 ba 43 00       	mov    0x43ba28,%eax
40bc72:	33 c5                	xor    %ebp,%eax
40bc74:	89 45 fc             	mov    %eax,-0x4(%ebp)
40bc77:	56                   	push   %esi
40bc78:	e8 63 cf 00 00       	call   0x418be0
40bc7d:	85 c0                	test   %eax,%eax
40bc7f:	74 35                	je     0x40bcb6
40bc81:	8b b0 5c 03 00 00    	mov    0x35c(%eax),%esi
40bc87:	85 f6                	test   %esi,%esi
40bc89:	74 2b                	je     0x40bcb6
40bc8b:	ff 75 18             	push   0x18(%ebp)
40bc8e:	ff 75 14             	push   0x14(%ebp)
40bc91:	ff 75 10             	push   0x10(%ebp)
40bc94:	ff 75 0c             	push   0xc(%ebp)
40bc97:	ff 75 08             	push   0x8(%ebp)
40bc9a:	8b ce                	mov    %esi,%ecx
40bc9c:	ff 15 50 72 42 00    	call   *0x427250
40bca2:	ff d6                	call   *%esi
40bca4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40bca7:	83 c4 14             	add    $0x14,%esp
40bcaa:	33 cd                	xor    %ebp,%ecx
40bcac:	5e                   	pop    %esi
40bcad:	e8 ae b3 ff ff       	call   0x407060
40bcb2:	8b e5                	mov    %ebp,%esp
40bcb4:	5d                   	pop    %ebp
40bcb5:	c3                   	ret
40bcb6:	ff 75 18             	push   0x18(%ebp)
40bcb9:	8b 35 28 ba 43 00    	mov    0x43ba28,%esi
40bcbf:	8b ce                	mov    %esi,%ecx
40bcc1:	ff 75 14             	push   0x14(%ebp)
40bcc4:	33 35 38 9a 83 02    	xor    0x2839a38,%esi
40bcca:	83 e1 1f             	and    $0x1f,%ecx
40bccd:	ff 75 10             	push   0x10(%ebp)
40bcd0:	d3 ce                	ror    %cl,%esi
40bcd2:	ff 75 0c             	push   0xc(%ebp)
40bcd5:	ff 75 08             	push   0x8(%ebp)
40bcd8:	85 f6                	test   %esi,%esi
40bcda:	75 be                	jne    0x40bc9a
40bcdc:	e8 2e 00 00 00       	call   0x40bd0f
40bce1:	cc                   	int3
40bce2:	33 c0                	xor    %eax,%eax
40bce4:	50                   	push   %eax
40bce5:	50                   	push   %eax
40bce6:	50                   	push   %eax
40bce7:	50                   	push   %eax
40bce8:	50                   	push   %eax
40bce9:	e8 79 ff ff ff       	call   0x40bc67
40bcee:	83 c4 14             	add    $0x14,%esp
40bcf1:	c3                   	ret
40bcf2:	8b ff                	mov    %edi,%edi
40bcf4:	56                   	push   %esi
40bcf5:	33 f6                	xor    %esi,%esi
40bcf7:	56                   	push   %esi
40bcf8:	56                   	push   %esi
40bcf9:	56                   	push   %esi
40bcfa:	56                   	push   %esi
40bcfb:	56                   	push   %esi
40bcfc:	e8 66 ff ff ff       	call   0x40bc67
40bd01:	83 c4 14             	add    $0x14,%esp
40bd04:	56                   	push   %esi
40bd05:	56                   	push   %esi
40bd06:	56                   	push   %esi
40bd07:	56                   	push   %esi
40bd08:	56                   	push   %esi
40bd09:	e8 01 00 00 00       	call   0x40bd0f
40bd0e:	cc                   	int3
40bd0f:	6a 17                	push   $0x17
40bd11:	e8 bc a4 01 00       	call   0x4261d2
40bd16:	85 c0                	test   %eax,%eax
40bd18:	74 05                	je     0x40bd1f
40bd1a:	6a 05                	push   $0x5
40bd1c:	59                   	pop    %ecx
40bd1d:	cd 29                	int    $0x29
40bd1f:	56                   	push   %esi
40bd20:	6a 01                	push   $0x1
40bd22:	be 17 04 00 c0       	mov    $0xc0000417,%esi
40bd27:	56                   	push   %esi
40bd28:	6a 02                	push   $0x2
40bd2a:	e8 e9 fd ff ff       	call   0x40bb18
40bd2f:	83 c4 0c             	add    $0xc,%esp
40bd32:	56                   	push   %esi
40bd33:	ff 15 b4 71 42 00    	call   *0x4271b4
40bd39:	50                   	push   %eax
40bd3a:	ff 15 b8 71 42 00    	call   *0x4271b8
40bd40:	5e                   	pop    %esi
40bd41:	c3                   	ret
40bd42:	8b ff                	mov    %edi,%edi
40bd44:	55                   	push   %ebp
40bd45:	8b ec                	mov    %esp,%ebp
40bd47:	5d                   	pop    %ebp
40bd48:	e9 e2 86 00 00       	jmp    0x41442f
40bd4d:	e9 be 8f 00 00       	jmp    0x414d10
40bd52:	8b ff                	mov    %edi,%edi
40bd54:	55                   	push   %ebp
40bd55:	8b ec                	mov    %esp,%ebp
40bd57:	5d                   	pop    %ebp
40bd58:	e9 5c 93 00 00       	jmp    0x4150b9
40bd5d:	a1 3c 9a 83 02       	mov    0x2839a3c,%eax
40bd62:	56                   	push   %esi
40bd63:	6a 03                	push   $0x3
40bd65:	5e                   	pop    %esi
40bd66:	85 c0                	test   %eax,%eax
40bd68:	75 07                	jne    0x40bd71
40bd6a:	b8 00 02 00 00       	mov    $0x200,%eax
40bd6f:	eb 06                	jmp    0x40bd77
40bd71:	3b c6                	cmp    %esi,%eax
40bd73:	7d 07                	jge    0x40bd7c
40bd75:	8b c6                	mov    %esi,%eax
40bd77:	a3 3c 9a 83 02       	mov    %eax,0x2839a3c
40bd7c:	6a 04                	push   $0x4
40bd7e:	50                   	push   %eax
40bd7f:	e8 ab 86 00 00       	call   0x41442f
40bd84:	6a 00                	push   $0x0
40bd86:	a3 40 9a 83 02       	mov    %eax,0x2839a40
40bd8b:	e8 80 8f 00 00       	call   0x414d10
40bd90:	83 c4 0c             	add    $0xc,%esp
40bd93:	83 3d 40 9a 83 02 00 	cmpl   $0x0,0x2839a40
40bd9a:	75 2b                	jne    0x40bdc7
40bd9c:	6a 04                	push   $0x4
40bd9e:	56                   	push   %esi
40bd9f:	89 35 3c 9a 83 02    	mov    %esi,0x2839a3c
40bda5:	e8 85 86 00 00       	call   0x41442f
40bdaa:	6a 00                	push   $0x0
40bdac:	a3 40 9a 83 02       	mov    %eax,0x2839a40
40bdb1:	e8 5a 8f 00 00       	call   0x414d10
40bdb6:	83 c4 0c             	add    $0xc,%esp
40bdb9:	83 3d 40 9a 83 02 00 	cmpl   $0x0,0x2839a40
40bdc0:	75 05                	jne    0x40bdc7
40bdc2:	83 c8 ff             	or     $0xffffffff,%eax
40bdc5:	5e                   	pop    %esi
40bdc6:	c3                   	ret
40bdc7:	57                   	push   %edi
40bdc8:	33 ff                	xor    %edi,%edi
40bdca:	be 70 ba 43 00       	mov    $0x43ba70,%esi