41f9a9:	56                   	push   %esi
41f9aa:	e8 01 00 00 00       	call   0x41f9b0
41f9af:	cc                   	int3
41f9b0:	6a 17                	push   $0x17
41f9b2:	ff 15 7c e1 43 00    	call   *0x43e17c
41f9b8:	85 c0                	test   %eax,%eax
41f9ba:	74 05                	je     0x41f9c1
41f9bc:	6a 05                	push   $0x5
41f9be:	59                   	pop    %ecx
41f9bf:	cd 29                	int    $0x29
41f9c1:	56                   	push   %esi
41f9c2:	6a 01                	push   $0x1
41f9c4:	be 17 04 00 c0       	mov    $0xc0000417,%esi
41f9c9:	56                   	push   %esi
41f9ca:	6a 02                	push   $0x2
41f9cc:	e8 b6 fd ff ff       	call   0x41f787
41f9d1:	83 c4 0c             	add    $0xc,%esp
41f9d4:	56                   	push   %esi
41f9d5:	ff 15 f4 e1 43 00    	call   *0x43e1f4
41f9db:	50                   	push   %eax
41f9dc:	ff 15 3c e1 43 00    	call   *0x43e13c
41f9e2:	5e                   	pop    %esi
41f9e3:	c3                   	ret
41f9e4:	8b ff                	mov    %edi,%edi
41f9e6:	55                   	push   %ebp
41f9e7:	8b ec                	mov    %esp,%ebp
41f9e9:	51                   	push   %ecx
41f9ea:	51                   	push   %ecx
41f9eb:	8b 55 1c             	mov    0x1c(%ebp),%edx
41f9ee:	53                   	push   %ebx
41f9ef:	56                   	push   %esi
41f9f0:	8b 75 20             	mov    0x20(%ebp),%esi
41f9f3:	85 d2                	test   %edx,%edx
41f9f5:	75 23                	jne    0x41fa1a
41f9f7:	56                   	push   %esi
41f9f8:	33 db                	xor    %ebx,%ebx
41f9fa:	c6 46 1c 01          	movb   $0x1,0x1c(%esi)
41f9fe:	53                   	push   %ebx
41f9ff:	53                   	push   %ebx
41fa00:	53                   	push   %ebx
41fa01:	53                   	push   %ebx
41fa02:	53                   	push   %ebx
41fa03:	c7 46 18 16 00 00 00 	movl   $0x16,0x18(%esi)
41fa0a:	e8 f7 fe ff ff       	call   0x41f906
41fa0f:	83 c4 18             	add    $0x18,%esp
41fa12:	83 c8 ff             	or     $0xffffffff,%eax
41fa15:	e9 c7 00 00 00       	jmp    0x41fae1
41fa1a:	8b 45 18             	mov    0x18(%ebp),%eax
41fa1d:	57                   	push   %edi
41fa1e:	8b 7d 10             	mov    0x10(%ebp),%edi
41fa21:	85 c0                	test   %eax,%eax
41fa23:	75 12                	jne    0x41fa37
41fa25:	85 ff                	test   %edi,%edi
41fa27:	75 16                	jne    0x41fa3f
41fa29:	39 7d 14             	cmp    %edi,0x14(%ebp)
41fa2c:	0f 85 90 00 00 00    	jne    0x41fac2
41fa32:	e9 a9 00 00 00       	jmp    0x41fae0
41fa37:	85 ff                	test   %edi,%edi
41fa39:	0f 84 83 00 00 00    	je     0x41fac2
41fa3f:	8b 4d 14             	mov    0x14(%ebp),%ecx
41fa42:	85 c9                	test   %ecx,%ecx
41fa44:	74 7c                	je     0x41fac2
41fa46:	8b 5e 18             	mov    0x18(%esi),%ebx
41fa49:	ff 75 24             	push   0x24(%ebp)
41fa4c:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41fa4f:	8b 5e 1c             	mov    0x1c(%esi),%ebx
41fa52:	89 5d f8             	mov    %ebx,-0x8(%ebp)
41fa55:	33 db                	xor    %ebx,%ebx
41fa57:	56                   	push   %esi
41fa58:	52                   	push   %edx
41fa59:	3b c8                	cmp    %eax,%ecx
41fa5b:	76 2a                	jbe    0x41fa87
41fa5d:	40                   	inc    %eax
41fa5e:	50                   	push   %eax
41fa5f:	57                   	push   %edi
41fa60:	ff 75 0c             	push   0xc(%ebp)
41fa63:	ff 75 08             	push   0x8(%ebp)
41fa66:	e8 8c 01 00 00       	call   0x41fbf7
41fa6b:	83 c4 1c             	add    $0x1c,%esp
41fa6e:	83 f8 fe             	cmp    $0xfffffffe,%eax
41fa71:	74 36                	je     0x41faa9
41fa73:	85 c0                	test   %eax,%eax
41fa75:	79 69                	jns    0x41fae0
41fa77:	88 1f                	mov    %bl,(%edi)
41fa79:	83 f8 fe             	cmp    $0xfffffffe,%eax
41fa7c:	75 5f                	jne    0x41fadd
41fa7e:	c7 46 18 22 00 00 00 	movl   $0x22,0x18(%esi)
41fa85:	eb 44                	jmp    0x41facb
41fa87:	51                   	push   %ecx
41fa88:	57                   	push   %edi
41fa89:	ff 75 0c             	push   0xc(%ebp)
41fa8c:	ff 75 08             	push   0x8(%ebp)
41fa8f:	e8 63 01 00 00       	call   0x41fbf7
41fa94:	8b 4d 14             	mov    0x14(%ebp),%ecx
41fa97:	83 c4 1c             	add    $0x1c,%esp
41fa9a:	88 5c 0f ff          	mov    %bl,-0x1(%edi,%ecx,1)
41fa9e:	83 f8 fe             	cmp    $0xfffffffe,%eax
41faa1:	75 d0                	jne    0x41fa73
41faa3:	83 7d 18 ff          	cmpl   $0xffffffff,0x18(%ebp)
41faa7:	75 ce                	jne    0x41fa77
41faa9:	38 5e 1c             	cmp    %bl,0x1c(%esi)
41faac:	74 2f                	je     0x41fadd
41faae:	83 7e 18 22          	cmpl   $0x22,0x18(%esi)
41fab2:	75 29                	jne    0x41fadd
41fab4:	8b 45 fc             	mov    -0x4(%ebp),%eax
41fab7:	89 46 18             	mov    %eax,0x18(%esi)
41faba:	8b 45 f8             	mov    -0x8(%ebp),%eax
41fabd:	89 46 1c             	mov    %eax,0x1c(%esi)
41fac0:	eb 1b                	jmp    0x41fadd
41fac2:	c7 46 18 16 00 00 00 	movl   $0x16,0x18(%esi)
41fac9:	33 db                	xor    %ebx,%ebx
41facb:	56                   	push   %esi
41facc:	53                   	push   %ebx
41facd:	53                   	push   %ebx
41face:	53                   	push   %ebx
41facf:	53                   	push   %ebx
41fad0:	53                   	push   %ebx
41fad1:	c6 46 1c 01          	movb   $0x1,0x1c(%esi)
41fad5:	e8 2c fe ff ff       	call   0x41f906
41fada:	83 c4 18             	add    $0x18,%esp
41fadd:	83 c8 ff             	or     $0xffffffff,%eax
41fae0:	5f                   	pop    %edi
41fae1:	5e                   	pop    %esi
41fae2:	5b                   	pop    %ebx
41fae3:	c9                   	leave
41fae4:	c3                   	ret
41fae5:	8b ff                	mov    %edi,%edi
41fae7:	55                   	push   %ebp
41fae8:	8b ec                	mov    %esp,%ebp
41faea:	51                   	push   %ecx
41faeb:	51                   	push   %ecx
41faec:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
41faef:	56                   	push   %esi
41faf0:	8b 75 20             	mov    0x20(%ebp),%esi
41faf3:	85 c9                	test   %ecx,%ecx
41faf5:	75 23                	jne    0x41fb1a
41faf7:	33 c0                	xor    %eax,%eax
41faf9:	c6 46 1c 01          	movb   $0x1,0x1c(%esi)
41fafd:	56                   	push   %esi
41fafe:	50                   	push   %eax
41faff:	50                   	push   %eax
41fb00:	50                   	push   %eax
41fb01:	50                   	push   %eax
41fb02:	50                   	push   %eax
41fb03:	c7 46 18 16 00 00 00 	movl   $0x16,0x18(%esi)
41fb0a:	e8 f7 fd ff ff       	call   0x41f906
41fb0f:	83 c4 18             	add    $0x18,%esp
41fb12:	83 c8 ff             	or     $0xffffffff,%eax
41fb15:	e9 da 00 00 00       	jmp    0x41fbf4
41fb1a:	53                   	push   %ebx
41fb1b:	8b 5d 18             	mov    0x18(%ebp),%ebx
41fb1e:	57                   	push   %edi
41fb1f:	8b 7d 10             	mov    0x10(%ebp),%edi
41fb22:	85 db                	test   %ebx,%ebx
41fb24:	75 14                	jne    0x41fb3a
41fb26:	85 ff                	test   %edi,%edi
41fb28:	75 18                	jne    0x41fb42
41fb2a:	39 7d 14             	cmp    %edi,0x14(%ebp)
41fb2d:	0f 85 a1 00 00 00    	jne    0x41fbd4
41fb33:	33 c0                	xor    %eax,%eax
41fb35:	e9 b8 00 00 00       	jmp    0x41fbf2
41fb3a:	85 ff                	test   %edi,%edi
41fb3c:	0f 84 92 00 00 00    	je     0x41fbd4
41fb42:	8b 45 14             	mov    0x14(%ebp),%eax
41fb45:	85 c0                	test   %eax,%eax
41fb47:	0f 84 87 00 00 00    	je     0x41fbd4
41fb4d:	8b 56 18             	mov    0x18(%esi),%edx
41fb50:	89 55 fc             	mov    %edx,-0x4(%ebp)
41fb53:	8b 56 1c             	mov    0x1c(%esi),%edx
41fb56:	89 55 f8             	mov    %edx,-0x8(%ebp)
41fb59:	ff 75 24             	push   0x24(%ebp)
41fb5c:	56                   	push   %esi
41fb5d:	51                   	push   %ecx
41fb5e:	3b c3                	cmp    %ebx,%eax
41fb60:	76 1e                	jbe    0x41fb80
41fb62:	8d 43 01             	lea    0x1(%ebx),%eax
41fb65:	50                   	push   %eax
41fb66:	57                   	push   %edi
41fb67:	ff 75 0c             	push   0xc(%ebp)
41fb6a:	ff 75 08             	push   0x8(%ebp)
41fb6d:	e8 f9 01 00 00       	call   0x41fd6b
41fb72:	83 c4 1c             	add    $0x1c,%esp
41fb75:	83 f8 fe             	cmp    $0xfffffffe,%eax
41fb78:	75 43                	jne    0x41fbbd
41fb7a:	80 7e 1c 00          	cmpb   $0x0,0x1c(%esi)
41fb7e:	eb 27                	jmp    0x41fba7
41fb80:	50                   	push   %eax
41fb81:	57                   	push   %edi
41fb82:	ff 75 0c             	push   0xc(%ebp)
41fb85:	ff 75 08             	push   0x8(%ebp)
41fb88:	e8 de 01 00 00       	call   0x41fd6b
41fb8d:	8b 4d 14             	mov    0x14(%ebp),%ecx
41fb90:	33 d2                	xor    %edx,%edx
41fb92:	83 c4 1c             	add    $0x1c,%esp
41fb95:	66 89 54 4f fe       	mov    %dx,-0x2(%edi,%ecx,2)
41fb9a:	83 f8 fe             	cmp    $0xfffffffe,%eax
41fb9d:	75 1e                	jne    0x41fbbd
41fb9f:	83 fb ff             	cmp    $0xffffffff,%ebx
41fba2:	75 1d                	jne    0x41fbc1
41fba4:	38 56 1c             	cmp    %dl,0x1c(%esi)
41fba7:	74 46                	je     0x41fbef
41fba9:	83 7e 18 22          	cmpl   $0x22,0x18(%esi)
41fbad:	75 40                	jne    0x41fbef
41fbaf:	8b 45 fc             	mov    -0x4(%ebp),%eax
41fbb2:	89 46 18             	mov    %eax,0x18(%esi)
41fbb5:	8b 45 f8             	mov    -0x8(%ebp),%eax
41fbb8:	89 46 1c             	mov    %eax,0x1c(%esi)
41fbbb:	eb 32                	jmp    0x41fbef
41fbbd:	85 c0                	test   %eax,%eax
41fbbf:	79 31                	jns    0x41fbf2
41fbc1:	33 c9                	xor    %ecx,%ecx
41fbc3:	66 89 0f             	mov    %cx,(%edi)
41fbc6:	83 f8 fe             	cmp    $0xfffffffe,%eax
41fbc9:	75 24                	jne    0x41fbef
41fbcb:	c7 46 18 22 00 00 00 	movl   $0x22,0x18(%esi)
41fbd2:	eb 07                	jmp    0x41fbdb
41fbd4:	c7 46 18 16 00 00 00 	movl   $0x16,0x18(%esi)
41fbdb:	33 c0                	xor    %eax,%eax
41fbdd:	c6 46 1c 01          	movb   $0x1,0x1c(%esi)
41fbe1:	56                   	push   %esi
41fbe2:	50                   	push   %eax
41fbe3:	50                   	push   %eax
41fbe4:	50                   	push   %eax
41fbe5:	50                   	push   %eax
41fbe6:	50                   	push   %eax
41fbe7:	e8 1a fd ff ff       	call   0x41f906
41fbec:	83 c4 18             	add    $0x18,%esp
41fbef:	83 c8 ff             	or     $0xffffffff,%eax
41fbf2:	5f                   	pop    %edi
41fbf3:	5b                   	pop    %ebx
41fbf4:	5e                   	pop    %esi
41fbf5:	c9                   	leave
41fbf6:	c3                   	ret
41fbf7:	8b ff                	mov    %edi,%edi
41fbf9:	55                   	push   %ebp
41fbfa:	8b ec                	mov    %esp,%ebp
41fbfc:	81 ec 74 04 00 00    	sub    $0x474,%esp
41fc02:	a1 14 50 45 00       	mov    0x455014,%eax
41fc07:	33 c5                	xor    %ebp,%eax
41fc09:	89 45 fc             	mov    %eax,-0x4(%ebp)
41fc0c:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
41fc10:	8b 45 10             	mov    0x10(%ebp),%eax
41fc13:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
41fc16:	53                   	push   %ebx
41fc17:	56                   	push   %esi
41fc18:	8b 75 14             	mov    0x14(%ebp),%esi
41fc1b:	89 85 a0 fb ff ff    	mov    %eax,-0x460(%ebp)
41fc21:	75 23                	jne    0x41fc46
41fc23:	51                   	push   %ecx
41fc24:	33 db                	xor    %ebx,%ebx
41fc26:	c6 41 1c 01          	movb   $0x1,0x1c(%ecx)
41fc2a:	53                   	push   %ebx
41fc2b:	53                   	push   %ebx
41fc2c:	53                   	push   %ebx
41fc2d:	53                   	push   %ebx
41fc2e:	53                   	push   %ebx
41fc2f:	c7 41 18 16 00 00 00 	movl   $0x16,0x18(%ecx)
41fc36:	e8 cb fc ff ff       	call   0x41f906
41fc3b:	83 c4 18             	add    $0x18,%esp
41fc3e:	83 c8 ff             	or     $0xffffffff,%eax
41fc41:	e9 17 01 00 00       	jmp    0x41fd5d
41fc46:	85 f6                	test   %esi,%esi
41fc48:	74 04                	je     0x41fc4e
41fc4a:	85 c0                	test   %eax,%eax
41fc4c:	74 d5                	je     0x41fc23
41fc4e:	8b 55 08             	mov    0x8(%ebp),%edx
41fc51:	33 c0                	xor    %eax,%eax
41fc53:	57                   	push   %edi
41fc54:	8d bd 90 fb ff ff    	lea    -0x470(%ebp),%edi
41fc5a:	33 db                	xor    %ebx,%ebx
41fc5c:	ab                   	stos   %eax,%es:(%edi)
41fc5d:	ab                   	stos   %eax,%es:(%edi)
41fc5e:	ab                   	stos   %eax,%es:(%edi)
41fc5f:	ab                   	stos   %eax,%es:(%edi)
41fc60:	8b c2                	mov    %edx,%eax
41fc62:	8b bd a0 fb ff ff    	mov    -0x460(%ebp),%edi
41fc68:	83 e0 02             	and    $0x2,%eax
41fc6b:	89 85 8c fb ff ff    	mov    %eax,-0x474(%ebp)
41fc71:	0b c3                	or     %ebx,%eax
41fc73:	89 bd 90 fb ff ff    	mov    %edi,-0x470(%ebp)
41fc79:	89 b5 94 fb ff ff    	mov    %esi,-0x46c(%ebp)
41fc7f:	89 9d 98 fb ff ff    	mov    %ebx,-0x468(%ebp)
41fc85:	75 0a                	jne    0x41fc91
41fc87:	88 9d 9c fb ff ff    	mov    %bl,-0x464(%ebp)
41fc8d:	85 ff                	test   %edi,%edi
41fc8f:	75 07                	jne    0x41fc98
41fc91:	c6 85 9c fb ff ff 01 	movb   $0x1,-0x464(%ebp)
41fc98:	ff 75 20             	push   0x20(%ebp)
41fc9b:	8d 85 90 fb ff ff    	lea    -0x470(%ebp),%eax
41fca1:	51                   	push   %ecx
41fca2:	ff 75 18             	push   0x18(%ebp)
41fca5:	89 85 a0 fb ff ff    	mov    %eax,-0x460(%ebp)
41fcab:	8d 8d a4 fb ff ff    	lea    -0x45c(%ebp),%ecx
41fcb1:	ff 75 0c             	push   0xc(%ebp)
41fcb4:	8d 85 a0 fb ff ff    	lea    -0x460(%ebp),%eax
41fcba:	52                   	push   %edx
41fcbb:	50                   	push   %eax
41fcbc:	e8 f9 1c 00 00       	call   0x4219ba
41fcc1:	8d 8d a4 fb ff ff    	lea    -0x45c(%ebp),%ecx
41fcc7:	89 5d f4             	mov    %ebx,-0xc(%ebp)
41fcca:	e8 23 20 00 00       	call   0x421cf2
41fccf:	89 85 a0 fb ff ff    	mov    %eax,-0x460(%ebp)
41fcd5:	85 ff                	test   %edi,%edi
41fcd7:	74 70                	je     0x41fd49
41fcd9:	8b 4d 08             	mov    0x8(%ebp),%ecx
41fcdc:	83 e1 01             	and    $0x1,%ecx
41fcdf:	0b cb                	or     %ebx,%ecx
41fce1:	74 21                	je     0x41fd04
41fce3:	85 f6                	test   %esi,%esi
41fce5:	75 04                	jne    0x41fceb
41fce7:	85 c0                	test   %eax,%eax
41fce9:	75 43                	jne    0x41fd2e
41fceb:	8b 8d 98 fb ff ff    	mov    -0x468(%ebp),%ecx
41fcf1:	3b ce                	cmp    %esi,%ecx
41fcf3:	74 05                	je     0x41fcfa
41fcf5:	88 1c 0f             	mov    %bl,(%edi,%ecx,1)
41fcf8:	eb 4f                	jmp    0x41fd49
41fcfa:	85 c0                	test   %eax,%eax
41fcfc:	78 4b                	js     0x41fd49
41fcfe:	3b c6                	cmp    %esi,%eax
41fd00:	77 2c                	ja     0x41fd2e
41fd02:	eb 45                	jmp    0x41fd49
41fd04:	8b 8d 8c fb ff ff    	mov    -0x474(%ebp),%ecx
41fd0a:	0b cb                	or     %ebx,%ecx
41fd0c:	74 1c                	je     0x41fd2a
41fd0e:	85 f6                	test   %esi,%esi
41fd10:	74 37                	je     0x41fd49
41fd12:	85 c0                	test   %eax,%eax
41fd14:	79 04                	jns    0x41fd1a
41fd16:	88 1f                	mov    %bl,(%edi)
41fd18:	eb 2f                	jmp    0x41fd49
41fd1a:	8b 85 98 fb ff ff    	mov    -0x468(%ebp),%eax
41fd20:	3b c6                	cmp    %esi,%eax
41fd22:	75 22                	jne    0x41fd46
41fd24:	88 5c 3e ff          	mov    %bl,-0x1(%esi,%edi,1)
41fd28:	eb 1f                	jmp    0x41fd49
41fd2a:	85 f6                	test   %esi,%esi
41fd2c:	75 05                	jne    0x41fd33
41fd2e:	83 ce ff             	or     $0xffffffff,%esi
41fd31:	eb 1c                	jmp    0x41fd4f
41fd33:	8b 85 98 fb ff ff    	mov    -0x468(%ebp),%eax
41fd39:	3b c6                	cmp    %esi,%eax
41fd3b:	75 09                	jne    0x41fd46
41fd3d:	6a fe                	push   $0xfffffffe
41fd3f:	88 5c 3e ff          	mov    %bl,-0x1(%esi,%edi,1)
41fd43:	5e                   	pop    %esi
41fd44:	eb 09                	jmp    0x41fd4f
41fd46:	88 1c 07             	mov    %bl,(%edi,%eax,1)
41fd49:	8b b5 a0 fb ff ff    	mov    -0x460(%ebp),%esi
41fd4f:	8d 8d e0 fb ff ff    	lea    -0x420(%ebp),%ecx