42088c:	57                   	push   %edi
42088d:	74 09                	je     0x420898
42088f:	ff 75 08             	push   0x8(%ebp)
420892:	e8 cf bf ff ff       	call   0x41c866
420897:	59                   	pop    %ecx
420898:	6a 50                	push   $0x50
42089a:	8d 85 e0 fc ff ff    	lea    -0x320(%ebp),%eax
4208a0:	6a 00                	push   $0x0
4208a2:	50                   	push   %eax
4208a3:	e8 38 d1 ff ff       	call   0x41d9e0
4208a8:	68 cc 02 00 00       	push   $0x2cc
4208ad:	8d 85 30 fd ff ff    	lea    -0x2d0(%ebp),%eax
4208b3:	6a 00                	push   $0x0
4208b5:	50                   	push   %eax
4208b6:	e8 25 d1 ff ff       	call   0x41d9e0
4208bb:	8d 85 e0 fc ff ff    	lea    -0x320(%ebp),%eax
4208c1:	83 c4 18             	add    $0x18,%esp
4208c4:	89 85 d8 fc ff ff    	mov    %eax,-0x328(%ebp)
4208ca:	8d 85 30 fd ff ff    	lea    -0x2d0(%ebp),%eax
4208d0:	89 85 dc fc ff ff    	mov    %eax,-0x324(%ebp)
4208d6:	89 85 e0 fd ff ff    	mov    %eax,-0x220(%ebp)
4208dc:	89 8d dc fd ff ff    	mov    %ecx,-0x224(%ebp)
4208e2:	89 95 d8 fd ff ff    	mov    %edx,-0x228(%ebp)
4208e8:	89 9d d4 fd ff ff    	mov    %ebx,-0x22c(%ebp)
4208ee:	89 b5 d0 fd ff ff    	mov    %esi,-0x230(%ebp)
4208f4:	89 bd cc fd ff ff    	mov    %edi,-0x234(%ebp)
4208fa:	66 8c 95 f8 fd ff ff 	data16 mov %ss,-0x208(%ebp)
420901:	66 8c 8d ec fd ff ff 	data16 mov %cs,-0x214(%ebp)
420908:	66 8c 9d c8 fd ff ff 	data16 mov %ds,-0x238(%ebp)
42090f:	66 8c 85 c4 fd ff ff 	data16 mov %es,-0x23c(%ebp)
420916:	66 8c a5 c0 fd ff ff 	data16 mov %fs,-0x240(%ebp)
42091d:	66 8c ad bc fd ff ff 	data16 mov %gs,-0x244(%ebp)
420924:	9c                   	pushf
420925:	8f 85 f0 fd ff ff    	pop    -0x210(%ebp)
42092b:	8b 45 04             	mov    0x4(%ebp),%eax
42092e:	89 85 e8 fd ff ff    	mov    %eax,-0x218(%ebp)
420934:	8d 45 04             	lea    0x4(%ebp),%eax
420937:	89 85 f4 fd ff ff    	mov    %eax,-0x20c(%ebp)
42093d:	c7 85 30 fd ff ff 01 	movl   $0x10001,-0x2d0(%ebp)
420944:	00 01 00
420947:	8b 40 fc             	mov    -0x4(%eax),%eax
42094a:	89 85 e4 fd ff ff    	mov    %eax,-0x21c(%ebp)
420950:	8b 45 0c             	mov    0xc(%ebp),%eax
420953:	89 85 e0 fc ff ff    	mov    %eax,-0x320(%ebp)
420959:	8b 45 10             	mov    0x10(%ebp),%eax
42095c:	89 85 e4 fc ff ff    	mov    %eax,-0x31c(%ebp)
420962:	8b 45 04             	mov    0x4(%ebp),%eax
420965:	89 85 ec fc ff ff    	mov    %eax,-0x314(%ebp)
42096b:	ff 15 58 f1 43 00    	call   *0x43f158
420971:	6a 00                	push   $0x0
420973:	8b f8                	mov    %eax,%edi
420975:	ff 15 44 f1 43 00    	call   *0x43f144
42097b:	8d 85 d8 fc ff ff    	lea    -0x328(%ebp),%eax
420981:	50                   	push   %eax
420982:	ff 15 40 f1 43 00    	call   *0x43f140
420988:	85 c0                	test   %eax,%eax
42098a:	75 13                	jne    0x42099f
42098c:	85 ff                	test   %edi,%edi
42098e:	75 0f                	jne    0x42099f
420990:	83 7d 08 ff          	cmpl   $0xffffffff,0x8(%ebp)
420994:	74 09                	je     0x42099f
420996:	ff 75 08             	push   0x8(%ebp)
420999:	e8 c8 be ff ff       	call   0x41c866
42099e:	59                   	pop    %ecx
42099f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4209a2:	33 cd                	xor    %ebp,%ecx
4209a4:	5f                   	pop    %edi
4209a5:	e8 26 af ff ff       	call   0x41b8d0
4209aa:	c9                   	leave
4209ab:	c3                   	ret
4209ac:	8b ff                	mov    %edi,%edi
4209ae:	55                   	push   %ebp
4209af:	8b ec                	mov    %esp,%ebp
4209b1:	8b 45 08             	mov    0x8(%ebp),%eax
4209b4:	a3 4c 59 45 00       	mov    %eax,0x45594c
4209b9:	5d                   	pop    %ebp
4209ba:	c3                   	ret
4209bb:	8b ff                	mov    %edi,%edi
4209bd:	55                   	push   %ebp
4209be:	8b ec                	mov    %esp,%ebp
4209c0:	83 ec 28             	sub    $0x28,%esp
4209c3:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4209c6:	6a 00                	push   $0x0
4209c8:	e8 96 fd ff ff       	call   0x420763
4209cd:	8d 45 d8             	lea    -0x28(%ebp),%eax
4209d0:	50                   	push   %eax
4209d1:	ff 75 18             	push   0x18(%ebp)
4209d4:	ff 75 14             	push   0x14(%ebp)
4209d7:	ff 75 10             	push   0x10(%ebp)
4209da:	ff 75 0c             	push   0xc(%ebp)
4209dd:	ff 75 08             	push   0x8(%ebp)
4209e0:	e8 0d 00 00 00       	call   0x4209f2
4209e5:	83 c4 18             	add    $0x18,%esp
4209e8:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4209eb:	e8 bb fd ff ff       	call   0x4207ab
4209f0:	c9                   	leave
4209f1:	c3                   	ret
4209f2:	8b ff                	mov    %edi,%edi
4209f4:	55                   	push   %ebp
4209f5:	8b ec                	mov    %esp,%ebp
4209f7:	56                   	push   %esi
4209f8:	57                   	push   %edi
4209f9:	8b 7d 1c             	mov    0x1c(%ebp),%edi
4209fc:	8b 07                	mov    (%edi),%eax
4209fe:	85 c0                	test   %eax,%eax
420a00:	75 0b                	jne    0x420a0d
420a02:	8b cf                	mov    %edi,%ecx
420a04:	e8 07 fe ff ff       	call   0x420810
420a09:	85 c0                	test   %eax,%eax
420a0b:	74 2a                	je     0x420a37
420a0d:	8b b0 5c 03 00 00    	mov    0x35c(%eax),%esi
420a13:	85 f6                	test   %esi,%esi
420a15:	74 20                	je     0x420a37
420a17:	ff 75 18             	push   0x18(%ebp)
420a1a:	ff 75 14             	push   0x14(%ebp)
420a1d:	ff 75 10             	push   0x10(%ebp)
420a20:	ff 75 0c             	push   0xc(%ebp)
420a23:	ff 75 08             	push   0x8(%ebp)
420a26:	8b ce                	mov    %esi,%ecx
420a28:	ff 15 3c f2 43 00    	call   *0x43f23c
420a2e:	ff d6                	call   *%esi
420a30:	83 c4 14             	add    $0x14,%esp
420a33:	5f                   	pop    %edi
420a34:	5e                   	pop    %esi
420a35:	5d                   	pop    %ebp
420a36:	c3                   	ret
420a37:	8b cf                	mov    %edi,%ecx
420a39:	e8 a9 fd ff ff       	call   0x4207e7
420a3e:	ff 75 18             	push   0x18(%ebp)
420a41:	8b 0d 14 40 45 00    	mov    0x454014,%ecx
420a47:	ff 75 14             	push   0x14(%ebp)
420a4a:	8b 34 85 4c 59 45 00 	mov    0x45594c(,%eax,4),%esi
420a51:	83 e1 1f             	and    $0x1f,%ecx
420a54:	ff 75 10             	push   0x10(%ebp)
420a57:	33 35 14 40 45 00    	xor    0x454014,%esi
420a5d:	ff 75 0c             	push   0xc(%ebp)
420a60:	d3 ce                	ror    %cl,%esi
420a62:	ff 75 08             	push   0x8(%ebp)
420a65:	85 f6                	test   %esi,%esi
420a67:	75 bd                	jne    0x420a26
420a69:	e8 2e 00 00 00       	call   0x420a9c
420a6e:	cc                   	int3
420a6f:	33 c0                	xor    %eax,%eax
420a71:	50                   	push   %eax
420a72:	50                   	push   %eax
420a73:	50                   	push   %eax
420a74:	50                   	push   %eax
420a75:	50                   	push   %eax
420a76:	e8 40 ff ff ff       	call   0x4209bb
420a7b:	83 c4 14             	add    $0x14,%esp
420a7e:	c3                   	ret
420a7f:	8b ff                	mov    %edi,%edi
420a81:	56                   	push   %esi
420a82:	33 f6                	xor    %esi,%esi
420a84:	56                   	push   %esi
420a85:	56                   	push   %esi
420a86:	56                   	push   %esi
420a87:	56                   	push   %esi
420a88:	56                   	push   %esi
420a89:	e8 2d ff ff ff       	call   0x4209bb
420a8e:	83 c4 14             	add    $0x14,%esp
420a91:	56                   	push   %esi
420a92:	56                   	push   %esi
420a93:	56                   	push   %esi
420a94:	56                   	push   %esi
420a95:	56                   	push   %esi
420a96:	e8 01 00 00 00       	call   0x420a9c
420a9b:	cc                   	int3
420a9c:	6a 17                	push   $0x17
420a9e:	ff 15 48 f1 43 00    	call   *0x43f148
420aa4:	85 c0                	test   %eax,%eax
420aa6:	74 05                	je     0x420aad
420aa8:	6a 05                	push   $0x5
420aaa:	59                   	pop    %ecx
420aab:	cd 29                	int    $0x29
420aad:	56                   	push   %esi
420aae:	6a 01                	push   $0x1
420ab0:	be 17 04 00 c0       	mov    $0xc0000417,%esi
420ab5:	56                   	push   %esi
420ab6:	6a 02                	push   $0x2
420ab8:	e8 b6 fd ff ff       	call   0x420873
420abd:	83 c4 0c             	add    $0xc,%esp
420ac0:	56                   	push   %esi
420ac1:	ff 15 e0 f0 43 00    	call   *0x43f0e0
420ac7:	50                   	push   %eax
420ac8:	ff 15 08 f1 43 00    	call   *0x43f108
420ace:	5e                   	pop    %esi
420acf:	c3                   	ret
420ad0:	8b ff                	mov    %edi,%edi
420ad2:	55                   	push   %ebp
420ad3:	8b ec                	mov    %esp,%ebp
420ad5:	5d                   	pop    %ebp
420ad6:	e9 3f b9 00 00       	jmp    0x42c41a
420adb:	8b ff                	mov    %edi,%edi
420add:	55                   	push   %ebp
420ade:	8b ec                	mov    %esp,%ebp
420ae0:	51                   	push   %ecx
420ae1:	51                   	push   %ecx
420ae2:	8b 55 1c             	mov    0x1c(%ebp),%edx
420ae5:	53                   	push   %ebx
420ae6:	56                   	push   %esi
420ae7:	8b 75 20             	mov    0x20(%ebp),%esi
420aea:	85 d2                	test   %edx,%edx
420aec:	75 23                	jne    0x420b11
420aee:	56                   	push   %esi
420aef:	33 db                	xor    %ebx,%ebx
420af1:	c6 46 1c 01          	movb   $0x1,0x1c(%esi)
420af5:	53                   	push   %ebx
420af6:	53                   	push   %ebx
420af7:	53                   	push   %ebx
420af8:	53                   	push   %ebx
420af9:	53                   	push   %ebx
420afa:	c7 46 18 16 00 00 00 	movl   $0x16,0x18(%esi)
420b01:	e8 ec fe ff ff       	call   0x4209f2
420b06:	83 c4 18             	add    $0x18,%esp
420b09:	83 c8 ff             	or     $0xffffffff,%eax
420b0c:	e9 c7 00 00 00       	jmp    0x420bd8
420b11:	8b 45 18             	mov    0x18(%ebp),%eax
420b14:	57                   	push   %edi
420b15:	8b 7d 10             	mov    0x10(%ebp),%edi
420b18:	85 c0                	test   %eax,%eax
420b1a:	75 12                	jne    0x420b2e
420b1c:	85 ff                	test   %edi,%edi
420b1e:	75 16                	jne    0x420b36
420b20:	39 7d 14             	cmp    %edi,0x14(%ebp)
420b23:	0f 85 90 00 00 00    	jne    0x420bb9
420b29:	e9 a9 00 00 00       	jmp    0x420bd7
420b2e:	85 ff                	test   %edi,%edi
420b30:	0f 84 83 00 00 00    	je     0x420bb9
420b36:	8b 4d 14             	mov    0x14(%ebp),%ecx
420b39:	85 c9                	test   %ecx,%ecx
420b3b:	74 7c                	je     0x420bb9
420b3d:	8b 5e 18             	mov    0x18(%esi),%ebx
420b40:	ff 75 24             	push   0x24(%ebp)
420b43:	89 5d fc             	mov    %ebx,-0x4(%ebp)
420b46:	8b 5e 1c             	mov    0x1c(%esi),%ebx
420b49:	89 5d f8             	mov    %ebx,-0x8(%ebp)
420b4c:	33 db                	xor    %ebx,%ebx
420b4e:	56                   	push   %esi
420b4f:	52                   	push   %edx
420b50:	3b c8                	cmp    %eax,%ecx
420b52:	76 2a                	jbe    0x420b7e
420b54:	40                   	inc    %eax
420b55:	50                   	push   %eax
420b56:	57                   	push   %edi
420b57:	ff 75 0c             	push   0xc(%ebp)
420b5a:	ff 75 08             	push   0x8(%ebp)
420b5d:	e8 8c 01 00 00       	call   0x420cee
420b62:	83 c4 1c             	add    $0x1c,%esp
420b65:	83 f8 fe             	cmp    $0xfffffffe,%eax
420b68:	74 36                	je     0x420ba0
420b6a:	85 c0                	test   %eax,%eax
420b6c:	79 69                	jns    0x420bd7
420b6e:	88 1f                	mov    %bl,(%edi)
420b70:	83 f8 fe             	cmp    $0xfffffffe,%eax
420b73:	75 5f                	jne    0x420bd4
420b75:	c7 46 18 22 00 00 00 	movl   $0x22,0x18(%esi)
420b7c:	eb 44                	jmp    0x420bc2
420b7e:	51                   	push   %ecx
420b7f:	57                   	push   %edi
420b80:	ff 75 0c             	push   0xc(%ebp)
420b83:	ff 75 08             	push   0x8(%ebp)
420b86:	e8 63 01 00 00       	call   0x420cee
420b8b:	8b 4d 14             	mov    0x14(%ebp),%ecx
420b8e:	83 c4 1c             	add    $0x1c,%esp
420b91:	88 5c 0f ff          	mov    %bl,-0x1(%edi,%ecx,1)
420b95:	83 f8 fe             	cmp    $0xfffffffe,%eax
420b98:	75 d0                	jne    0x420b6a
420b9a:	83 7d 18 ff          	cmpl   $0xffffffff,0x18(%ebp)
420b9e:	75 ce                	jne    0x420b6e
420ba0:	38 5e 1c             	cmp    %bl,0x1c(%esi)
420ba3:	74 2f                	je     0x420bd4
420ba5:	83 7e 18 22          	cmpl   $0x22,0x18(%esi)
420ba9:	75 29                	jne    0x420bd4
420bab:	8b 45 fc             	mov    -0x4(%ebp),%eax
420bae:	89 46 18             	mov    %eax,0x18(%esi)
420bb1:	8b 45 f8             	mov    -0x8(%ebp),%eax
420bb4:	89 46 1c             	mov    %eax,0x1c(%esi)
420bb7:	eb 1b                	jmp    0x420bd4
420bb9:	c7 46 18 16 00 00 00 	movl   $0x16,0x18(%esi)
420bc0:	33 db                	xor    %ebx,%ebx
420bc2:	56                   	push   %esi
420bc3:	53                   	push   %ebx
420bc4:	53                   	push   %ebx
420bc5:	53                   	push   %ebx
420bc6:	53                   	push   %ebx
420bc7:	53                   	push   %ebx
420bc8:	c6 46 1c 01          	movb   $0x1,0x1c(%esi)
420bcc:	e8 21 fe ff ff       	call   0x4209f2
420bd1:	83 c4 18             	add    $0x18,%esp
420bd4:	83 c8 ff             	or     $0xffffffff,%eax
420bd7:	5f                   	pop    %edi
420bd8:	5e                   	pop    %esi
420bd9:	5b                   	pop    %ebx
420bda:	c9                   	leave
420bdb:	c3                   	ret
420bdc:	8b ff                	mov    %edi,%edi
420bde:	55                   	push   %ebp
420bdf:	8b ec                	mov    %esp,%ebp
420be1:	51                   	push   %ecx
420be2:	51                   	push   %ecx
420be3:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
420be6:	56                   	push   %esi
420be7:	8b 75 20             	mov    0x20(%ebp),%esi
420bea:	85 c9                	test   %ecx,%ecx
420bec:	75 23                	jne    0x420c11
420bee:	33 c0                	xor    %eax,%eax
420bf0:	c6 46 1c 01          	movb   $0x1,0x1c(%esi)
420bf4:	56                   	push   %esi
420bf5:	50                   	push   %eax
420bf6:	50                   	push   %eax
420bf7:	50                   	push   %eax
420bf8:	50                   	push   %eax
420bf9:	50                   	push   %eax
420bfa:	c7 46 18 16 00 00 00 	movl   $0x16,0x18(%esi)
420c01:	e8 ec fd ff ff       	call   0x4209f2
420c06:	83 c4 18             	add    $0x18,%esp
420c09:	83 c8 ff             	or     $0xffffffff,%eax
420c0c:	e9 da 00 00 00       	jmp    0x420ceb
420c11:	53                   	push   %ebx
420c12:	8b 5d 18             	mov    0x18(%ebp),%ebx
420c15:	57                   	push   %edi
420c16:	8b 7d 10             	mov    0x10(%ebp),%edi
420c19:	85 db                	test   %ebx,%ebx
420c1b:	75 14                	jne    0x420c31
420c1d:	85 ff                	test   %edi,%edi
420c1f:	75 18                	jne    0x420c39
420c21:	39 7d 14             	cmp    %edi,0x14(%ebp)
420c24:	0f 85 a1 00 00 00    	jne    0x420ccb
420c2a:	33 c0                	xor    %eax,%eax
420c2c:	e9 b8 00 00 00       	jmp    0x420ce9
420c31:	85 ff                	test   %edi,%edi
420c33:	0f 84 92 00 00 00    	je     0x420ccb
420c39:	8b 45 14             	mov    0x14(%ebp),%eax
420c3c:	85 c0                	test   %eax,%eax
420c3e:	0f 84 87 00 00 00    	je     0x420ccb
420c44:	8b 56 18             	mov    0x18(%esi),%edx
420c47:	89 55 fc             	mov    %edx,-0x4(%ebp)
420c4a:	8b 56 1c             	mov    0x1c(%esi),%edx
420c4d:	89 55 f8             	mov    %edx,-0x8(%ebp)
420c50:	ff 75 24             	push   0x24(%ebp)
420c53:	56                   	push   %esi
420c54:	51                   	push   %ecx
420c55:	3b c3                	cmp    %ebx,%eax
420c57:	76 1e                	jbe    0x420c77
420c59:	8d 43 01             	lea    0x1(%ebx),%eax
420c5c:	50                   	push   %eax
420c5d:	57                   	push   %edi
420c5e:	ff 75 0c             	push   0xc(%ebp)
420c61:	ff 75 08             	push   0x8(%ebp)