4057df:	53                   	push   %ebx
4057e0:	68 4c 22 40 00       	push   $0x40224c
4057e5:	53                   	push   %ebx
4057e6:	57                   	push   %edi
4057e7:	6a 01                	push   $0x1
4057e9:	6a 7f                	push   $0x7f
4057eb:	ff 15 f4 20 41 00    	call   *0x4120f4
4057f1:	83 f8 02             	cmp    $0x2,%eax
4057f4:	0f 84 c9 01 00 00    	je     0x4059c3
4057fa:	53                   	push   %ebx
4057fb:	68 70 22 40 00       	push   $0x402270
405800:	53                   	push   %ebx
405801:	57                   	push   %edi
405802:	6a 01                	push   $0x1
405804:	6a 7f                	push   $0x7f
405806:	ff 15 f4 20 41 00    	call   *0x4120f4
40580c:	83 f8 02             	cmp    $0x2,%eax
40580f:	0f 84 ae 01 00 00    	je     0x4059c3
405815:	53                   	push   %ebx
405816:	68 78 22 40 00       	push   $0x402278
40581b:	53                   	push   %ebx
40581c:	57                   	push   %edi
40581d:	6a 01                	push   $0x1
40581f:	6a 7f                	push   $0x7f
405821:	ff 15 f4 20 41 00    	call   *0x4120f4
405827:	83 f8 02             	cmp    $0x2,%eax
40582a:	0f 84 60 01 00 00    	je     0x405990
405830:	53                   	push   %ebx
405831:	68 a0 22 40 00       	push   $0x4022a0
405836:	53                   	push   %ebx
405837:	57                   	push   %edi
405838:	6a 01                	push   $0x1
40583a:	6a 7f                	push   $0x7f
40583c:	ff 15 f4 20 41 00    	call   *0x4120f4
405842:	83 f8 02             	cmp    $0x2,%eax
405845:	0f 84 45 01 00 00    	je     0x405990
40584b:	53                   	push   %ebx
40584c:	68 a8 22 40 00       	push   $0x4022a8
405851:	53                   	push   %ebx
405852:	57                   	push   %edi
405853:	6a 01                	push   $0x1
405855:	6a 7f                	push   $0x7f
405857:	ff 15 f4 20 41 00    	call   *0x4120f4
40585d:	83 f8 02             	cmp    $0x2,%eax
405860:	0f 84 f7 00 00 00    	je     0x40595d
405866:	53                   	push   %ebx
405867:	68 d0 22 40 00       	push   $0x4022d0
40586c:	53                   	push   %ebx
40586d:	57                   	push   %edi
40586e:	6a 01                	push   $0x1
405870:	6a 7f                	push   $0x7f
405872:	ff 15 f4 20 41 00    	call   *0x4120f4
405878:	83 f8 02             	cmp    $0x2,%eax
40587b:	0f 84 dc 00 00 00    	je     0x40595d
405881:	53                   	push   %ebx
405882:	68 d8 22 40 00       	push   $0x4022d8
405887:	53                   	push   %ebx
405888:	57                   	push   %edi
405889:	6a 01                	push   $0x1
40588b:	6a 7f                	push   $0x7f
40588d:	ff 15 f4 20 41 00    	call   *0x4120f4
405893:	83 f8 02             	cmp    $0x2,%eax
405896:	74 79                	je     0x405911
405898:	53                   	push   %ebx
405899:	68 14 23 40 00       	push   $0x402314
40589e:	53                   	push   %ebx
40589f:	57                   	push   %edi
4058a0:	6a 01                	push   $0x1
4058a2:	6a 7f                	push   $0x7f
4058a4:	ff 15 f4 20 41 00    	call   *0x4120f4
4058aa:	83 f8 02             	cmp    $0x2,%eax
4058ad:	74 62                	je     0x405911
4058af:	53                   	push   %ebx
4058b0:	68 1c 23 40 00       	push   $0x40231c
4058b5:	53                   	push   %ebx
4058b6:	57                   	push   %edi
4058b7:	6a 01                	push   $0x1
4058b9:	6a 7f                	push   $0x7f
4058bb:	ff 15 f4 20 41 00    	call   *0x4120f4
4058c1:	83 f8 02             	cmp    $0x2,%eax
4058c4:	74 1b                	je     0x4058e1
4058c6:	53                   	push   %ebx
4058c7:	68 38 23 40 00       	push   $0x402338
4058cc:	53                   	push   %ebx
4058cd:	57                   	push   %edi
4058ce:	6a 01                	push   $0x1
4058d0:	6a 7f                	push   $0x7f
4058d2:	ff 15 f4 20 41 00    	call   *0x4120f4
4058d8:	83 f8 02             	cmp    $0x2,%eax
4058db:	0f 85 a2 01 00 00    	jne    0x405a83
4058e1:	6a 1c                	push   $0x1c
4058e3:	e8 e0 85 00 00       	call   0x40dec8
4058e8:	8b d8                	mov    %eax,%ebx
4058ea:	89 5d f0             	mov    %ebx,-0x10(%ebp)
4058ed:	59                   	pop    %ecx
4058ee:	85 db                	test   %ebx,%ebx
4058f0:	0f 84 f6 00 00 00    	je     0x4059ec
4058f6:	6a 07                	push   $0x7
4058f8:	59                   	pop    %ecx
4058f9:	33 c0                	xor    %eax,%eax
4058fb:	8b fb                	mov    %ebx,%edi
4058fd:	f3 ab                	rep stos %eax,%es:(%edi)
4058ff:	8b cb                	mov    %ebx,%ecx
405901:	e8 2d fc ff ff       	call   0x405533
405906:	c7 03 4c 15 40 00    	movl   $0x40154c,(%ebx)
40590c:	e9 dd 00 00 00       	jmp    0x4059ee
405911:	6a 48                	push   $0x48
405913:	e8 b0 85 00 00       	call   0x40dec8
405918:	8b f8                	mov    %eax,%edi
40591a:	89 7d f0             	mov    %edi,-0x10(%ebp)
40591d:	59                   	pop    %ecx
40591e:	85 ff                	test   %edi,%edi
405920:	0f 84 53 01 00 00    	je     0x405a79
405926:	6a 48                	push   $0x48
405928:	56                   	push   %esi
405929:	57                   	push   %edi
40592a:	e8 20 93 00 00       	call   0x40ec4f
40592f:	83 c4 0c             	add    $0xc,%esp
405932:	8b cf                	mov    %edi,%ecx
405934:	e8 fa fb ff ff       	call   0x405533
405939:	c7 07 5c 15 40 00    	movl   $0x40155c,(%edi)
40593f:	33 c0                	xor    %eax,%eax
405941:	6a 07                	push   $0x7
405943:	59                   	pop    %ecx
405944:	89 4f 2c             	mov    %ecx,0x2c(%edi)
405947:	89 77 28             	mov    %esi,0x28(%edi)
40594a:	66 89 47 18          	mov    %ax,0x18(%edi)
40594e:	89 4f 44             	mov    %ecx,0x44(%edi)
405951:	89 77 40             	mov    %esi,0x40(%edi)
405954:	66 89 47 30          	mov    %ax,0x30(%edi)
405958:	e9 1e 01 00 00       	jmp    0x405a7b
40595d:	6a 30                	push   $0x30
40595f:	e8 64 85 00 00       	call   0x40dec8
405964:	8b f8                	mov    %eax,%edi
405966:	89 7d f0             	mov    %edi,-0x10(%ebp)
405969:	59                   	pop    %ecx
40596a:	85 ff                	test   %edi,%edi
40596c:	0f 84 07 01 00 00    	je     0x405a79
405972:	6a 30                	push   $0x30
405974:	56                   	push   %esi
405975:	57                   	push   %edi
405976:	e8 d4 92 00 00       	call   0x40ec4f
40597b:	83 c4 0c             	add    $0xc,%esp
40597e:	8b cf                	mov    %edi,%ecx
405980:	e8 ae fb ff ff       	call   0x405533
405985:	c7 07 6c 15 40 00    	movl   $0x40156c,(%edi)
40598b:	e9 d7 00 00 00       	jmp    0x405a67
405990:	6a 30                	push   $0x30
405992:	e8 31 85 00 00       	call   0x40dec8
405997:	8b f8                	mov    %eax,%edi
405999:	89 7d f0             	mov    %edi,-0x10(%ebp)
40599c:	59                   	pop    %ecx
40599d:	85 ff                	test   %edi,%edi
40599f:	0f 84 d4 00 00 00    	je     0x405a79
4059a5:	6a 30                	push   $0x30
4059a7:	56                   	push   %esi
4059a8:	57                   	push   %edi
4059a9:	e8 a1 92 00 00       	call   0x40ec4f
4059ae:	83 c4 0c             	add    $0xc,%esp
4059b1:	8b cf                	mov    %edi,%ecx
4059b3:	e8 7b fb ff ff       	call   0x405533
4059b8:	c7 07 7c 15 40 00    	movl   $0x40157c,(%edi)
4059be:	e9 a4 00 00 00       	jmp    0x405a67
4059c3:	6a 18                	push   $0x18
4059c5:	e8 fe 84 00 00       	call   0x40dec8
4059ca:	8b d8                	mov    %eax,%ebx
4059cc:	89 5d f0             	mov    %ebx,-0x10(%ebp)
4059cf:	59                   	pop    %ecx
4059d0:	85 db                	test   %ebx,%ebx
4059d2:	74 18                	je     0x4059ec
4059d4:	6a 06                	push   $0x6
4059d6:	59                   	pop    %ecx
4059d7:	33 c0                	xor    %eax,%eax
4059d9:	8b fb                	mov    %ebx,%edi
4059db:	f3 ab                	rep stos %eax,%es:(%edi)
4059dd:	8b cb                	mov    %ebx,%ecx
4059df:	e8 4f fb ff ff       	call   0x405533
4059e4:	c7 03 8c 15 40 00    	movl   $0x40158c,(%ebx)
4059ea:	eb 02                	jmp    0x4059ee
4059ec:	8b de                	mov    %esi,%ebx
4059ee:	8b c3                	mov    %ebx,%eax
4059f0:	e9 88 00 00 00       	jmp    0x405a7d
4059f5:	6a 58                	push   $0x58
4059f7:	e8 cc 84 00 00       	call   0x40dec8
4059fc:	8b f8                	mov    %eax,%edi
4059fe:	89 7d f0             	mov    %edi,-0x10(%ebp)
405a01:	59                   	pop    %ecx
405a02:	85 ff                	test   %edi,%edi
405a04:	74 73                	je     0x405a79
405a06:	6a 58                	push   $0x58
405a08:	56                   	push   %esi
405a09:	57                   	push   %edi
405a0a:	e8 40 92 00 00       	call   0x40ec4f
405a0f:	83 c4 0c             	add    $0xc,%esp
405a12:	8b cf                	mov    %edi,%ecx
405a14:	e8 96 fb ff ff       	call   0x4055af
405a19:	c7 07 9c 15 40 00    	movl   $0x40159c,(%edi)
405a1f:	eb 5a                	jmp    0x405a7b
405a21:	6a 58                	push   $0x58
405a23:	e8 a0 84 00 00       	call   0x40dec8
405a28:	89 45 f0             	mov    %eax,-0x10(%ebp)
405a2b:	59                   	pop    %ecx
405a2c:	85 c0                	test   %eax,%eax
405a2e:	74 09                	je     0x405a39
405a30:	8b c8                	mov    %eax,%ecx
405a32:	e8 78 fb ff ff       	call   0x4055af
405a37:	8b f0                	mov    %eax,%esi
405a39:	8b c6                	mov    %esi,%eax
405a3b:	eb 40                	jmp    0x405a7d
405a3d:	6a 34                	push   $0x34
405a3f:	e8 84 84 00 00       	call   0x40dec8
405a44:	8b f8                	mov    %eax,%edi
405a46:	89 7d f0             	mov    %edi,-0x10(%ebp)
405a49:	59                   	pop    %ecx
405a4a:	85 ff                	test   %edi,%edi
405a4c:	74 2b                	je     0x405a79
405a4e:	6a 34                	push   $0x34
405a50:	56                   	push   %esi
405a51:	57                   	push   %edi
405a52:	e8 f8 91 00 00       	call   0x40ec4f
405a57:	83 c4 0c             	add    $0xc,%esp
405a5a:	8b cf                	mov    %edi,%ecx
405a5c:	e8 d2 fa ff ff       	call   0x405533
405a61:	c7 07 ac 15 40 00    	movl   $0x4015ac,(%edi)
405a67:	c7 47 2c 07 00 00 00 	movl   $0x7,0x2c(%edi)
405a6e:	33 c0                	xor    %eax,%eax
405a70:	89 77 28             	mov    %esi,0x28(%edi)
405a73:	66 89 47 18          	mov    %ax,0x18(%edi)
405a77:	eb 02                	jmp    0x405a7b
405a79:	8b fe                	mov    %esi,%edi
405a7b:	8b c7                	mov    %edi,%eax
405a7d:	e8 9a 8b 00 00       	call   0x40e61c
405a82:	c3                   	ret
405a83:	57                   	push   %edi
405a84:	6a 16                	push   $0x16
405a86:	6a 57                	push   $0x57
405a88:	e8 88 1b 00 00       	call   0x407615
405a8d:	cc                   	int3
405a8e:	cc                   	int3
405a8f:	cc                   	int3
405a90:	8b ff                	mov    %edi,%edi
405a92:	55                   	push   %ebp
405a93:	8b ec                	mov    %esp,%ebp
405a95:	56                   	push   %esi
405a96:	8b f1                	mov    %ecx,%esi
405a98:	6a 00                	push   $0x0
405a9a:	6a 01                	push   $0x1
405a9c:	8d 4e 18             	lea    0x18(%esi),%ecx
405a9f:	e8 4c 0a 00 00       	call   0x4064f0
405aa4:	8b ce                	mov    %esi,%ecx
405aa6:	e8 e7 fa ff ff       	call   0x405592
405aab:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
405aaf:	74 08                	je     0x405ab9
405ab1:	56                   	push   %esi
405ab2:	ff 15 e4 21 41 00    	call   *0x4121e4
405ab8:	59                   	pop    %ecx
405ab9:	8b c6                	mov    %esi,%eax
405abb:	5e                   	pop    %esi
405abc:	5d                   	pop    %ebp
405abd:	c2 04 00             	ret    $0x4
405ac0:	8b ff                	mov    %edi,%edi
405ac2:	55                   	push   %ebp
405ac3:	8b ec                	mov    %esp,%ebp
405ac5:	56                   	push   %esi
405ac6:	8b f1                	mov    %ecx,%esi
405ac8:	6a 00                	push   $0x0
405aca:	6a 01                	push   $0x1
405acc:	8d 4e 30             	lea    0x30(%esi),%ecx
405acf:	e8 1c 0a 00 00       	call   0x4064f0
405ad4:	6a 00                	push   $0x0
405ad6:	6a 01                	push   $0x1
405ad8:	8d 4e 18             	lea    0x18(%esi),%ecx
405adb:	e8 10 0a 00 00       	call   0x4064f0
405ae0:	8b ce                	mov    %esi,%ecx
405ae2:	e8 ab fa ff ff       	call   0x405592
405ae7:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
405aeb:	74 08                	je     0x405af5
405aed:	56                   	push   %esi
405aee:	ff 15 e4 21 41 00    	call   *0x4121e4
405af4:	59                   	pop    %ecx
405af5:	8b c6                	mov    %esi,%eax
405af7:	5e                   	pop    %esi
405af8:	5d                   	pop    %ebp
405af9:	c2 04 00             	ret    $0x4
405afc:	6a 14                	push   $0x14
405afe:	b8 d9 ec 40 00       	mov    $0x40ecd9,%eax
405b03:	e8 46 8b 00 00       	call   0x40e64e
405b08:	8b f2                	mov    %edx,%esi
405b0a:	89 75 f0             	mov    %esi,-0x10(%ebp)
405b0d:	89 4d ec             	mov    %ecx,-0x14(%ebp)
405b10:	6a 1c                	push   $0x1c
405b12:	e8 b1 83 00 00       	call   0x40dec8
405b17:	8b d8                	mov    %eax,%ebx
405b19:	59                   	pop    %ecx
405b1a:	89 5d e8             	mov    %ebx,-0x18(%ebp)
405b1d:	33 ff                	xor    %edi,%edi
405b1f:	89 7d fc             	mov    %edi,-0x4(%ebp)
405b22:	85 db                	test   %ebx,%ebx
405b24:	74 33                	je     0x405b59
405b26:	c7 03 e0 15 40 00    	movl   $0x4015e0,(%ebx)
405b2c:	89 7b 04             	mov    %edi,0x4(%ebx)
405b2f:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
405b33:	8d 73 08             	lea    0x8(%ebx),%esi
405b36:	c7 03 dc 15 40 00    	movl   $0x4015dc,(%ebx)
405b3c:	89 75 e4             	mov    %esi,-0x1c(%ebp)
405b3f:	89 3e                	mov    %edi,(%esi)
405b41:	89 7e 04             	mov    %edi,0x4(%esi)
405b44:	e8 76 05 00 00       	call   0x4060bf
405b49:	89 06                	mov    %eax,(%esi)
405b4b:	8b 75 f0             	mov    -0x10(%ebp),%esi
405b4e:	89 7b 10             	mov    %edi,0x10(%ebx)
405b51:	89 7b 14             	mov    %edi,0x14(%ebx)
405b54:	89 7b 18             	mov    %edi,0x18(%ebx)
405b57:	eb 02                	jmp    0x405b5b
405b59:	8b df                	mov    %edi,%ebx
405b5b:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
405b5e:	85 db                	test   %ebx,%ebx
405b60:	74 04                	je     0x405b66
405b62:	f0 ff 43 04          	lock incl 0x4(%ebx)
405b66:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
405b6d:	85 db                	test   %ebx,%ebx
405b6f:	0f 84 9b 00 00 00    	je     0x405c10
405b75:	56                   	push   %esi
405b76:	ff 75 ec             	push   -0x14(%ebp)
405b79:	8b cb                	mov    %ebx,%ecx
405b7b:	e8 8c 0b 00 00       	call   0x40670c
405b80:	8b 43 14             	mov    0x14(%ebx),%eax
405b83:	2b 43 10             	sub    0x10(%ebx),%eax
405b86:	6a 18                	push   $0x18
405b88:	59                   	pop    %ecx
405b89:	99                   	cltd
405b8a:	f7 f9                	idiv   %ecx
405b8c:	8b cb                	mov    %ebx,%ecx
405b8e:	85 c0                	test   %eax,%eax
405b90:	7f 28                	jg     0x405bba
405b92:	e8 35 f9 ff ff       	call   0x4054cc
405b97:	84 c0                	test   %al,%al
405b99:	74 09                	je     0x405ba4
405b9b:	33 c9                	xor    %ecx,%ecx
405b9d:	e8 f2 fa ff ff       	call   0x405694
405ba2:	eb 0b                	jmp    0x405baf
405ba4:	6a 22                	push   $0x22
405ba6:	59                   	pop    %ecx
405ba7:	e8 e8 fa ff ff       	call   0x405694
405bac:	6a 57                	push   $0x57
405bae:	5f                   	pop    %edi
405baf:	8b cb                	mov    %ebx,%ecx
405bb1:	e8 7d 05 00 00       	call   0x406133
405bb6:	8b c7                	mov    %edi,%eax
405bb8:	eb 50                	jmp    0x405c0a