42b9af:	0f 84 93 00 00 00    	je     0x42ba48
42b9b5:	83 fe ff             	cmp    $0xffffffff,%esi
42b9b8:	0f 84 8a 00 00 00    	je     0x42ba48
42b9be:	89 55 fc             	mov    %edx,-0x4(%ebp)
42b9c1:	89 7d f4             	mov    %edi,-0xc(%ebp)
42b9c4:	89 75 f8             	mov    %esi,-0x8(%ebp)
42b9c7:	83 ef 04             	sub    $0x4,%edi
42b9ca:	3b fe                	cmp    %esi,%edi
42b9cc:	72 54                	jb     0x42ba22
42b9ce:	8b 07                	mov    (%edi),%eax
42b9d0:	3b 45 fc             	cmp    -0x4(%ebp),%eax
42b9d3:	74 f2                	je     0x42b9c7
42b9d5:	33 c2                	xor    %edx,%eax
42b9d7:	8b 55 fc             	mov    -0x4(%ebp),%edx
42b9da:	d3 c8                	ror    %cl,%eax
42b9dc:	8b c8                	mov    %eax,%ecx
42b9de:	89 17                	mov    %edx,(%edi)
42b9e0:	89 45 f0             	mov    %eax,-0x10(%ebp)
42b9e3:	ff 15 3c f2 43 00    	call   *0x43f23c
42b9e9:	ff 55 f0             	call   *-0x10(%ebp)
42b9ec:	8b 03                	mov    (%ebx),%eax
42b9ee:	8b 15 14 40 45 00    	mov    0x454014,%edx
42b9f4:	8b ca                	mov    %edx,%ecx
42b9f6:	83 e1 1f             	and    $0x1f,%ecx
42b9f9:	8b 00                	mov    (%eax),%eax
42b9fb:	8b 18                	mov    (%eax),%ebx
42b9fd:	8b 40 04             	mov    0x4(%eax),%eax
42ba00:	33 da                	xor    %edx,%ebx
42ba02:	d3 cb                	ror    %cl,%ebx
42ba04:	33 c2                	xor    %edx,%eax
42ba06:	d3 c8                	ror    %cl,%eax
42ba08:	3b 5d f8             	cmp    -0x8(%ebp),%ebx
42ba0b:	89 5d f0             	mov    %ebx,-0x10(%ebp)
42ba0e:	8b 5d ec             	mov    -0x14(%ebp),%ebx
42ba11:	75 05                	jne    0x42ba18
42ba13:	3b 45 f4             	cmp    -0xc(%ebp),%eax
42ba16:	74 af                	je     0x42b9c7
42ba18:	8b 75 f0             	mov    -0x10(%ebp),%esi
42ba1b:	8b f8                	mov    %eax,%edi
42ba1d:	89 45 f4             	mov    %eax,-0xc(%ebp)
42ba20:	eb a2                	jmp    0x42b9c4
42ba22:	83 fe ff             	cmp    $0xffffffff,%esi
42ba25:	74 0d                	je     0x42ba34
42ba27:	56                   	push   %esi
42ba28:	e8 4a 0a 00 00       	call   0x42c477
42ba2d:	8b 15 14 40 45 00    	mov    0x454014,%edx
42ba33:	59                   	pop    %ecx
42ba34:	8b 03                	mov    (%ebx),%eax
42ba36:	8b 00                	mov    (%eax),%eax
42ba38:	89 10                	mov    %edx,(%eax)
42ba3a:	8b 03                	mov    (%ebx),%eax
42ba3c:	8b 00                	mov    (%eax),%eax
42ba3e:	89 50 04             	mov    %edx,0x4(%eax)
42ba41:	8b 03                	mov    (%ebx),%eax
42ba43:	8b 00                	mov    (%eax),%eax
42ba45:	89 50 08             	mov    %edx,0x8(%eax)
42ba48:	33 c0                	xor    %eax,%eax
42ba4a:	5e                   	pop    %esi
42ba4b:	5f                   	pop    %edi
42ba4c:	5b                   	pop    %ebx
42ba4d:	c9                   	leave
42ba4e:	c3                   	ret
42ba4f:	8b ff                	mov    %edi,%edi
42ba51:	55                   	push   %ebp
42ba52:	8b ec                	mov    %esp,%ebp
42ba54:	ff 75 08             	push   0x8(%ebp)
42ba57:	68 08 5d 45 00       	push   $0x455d08
42ba5c:	e8 6b 00 00 00       	call   0x42bacc
42ba61:	59                   	pop    %ecx
42ba62:	59                   	pop    %ecx
42ba63:	5d                   	pop    %ebp
42ba64:	c3                   	ret
42ba65:	6a 10                	push   $0x10
42ba67:	b8 c1 e8 43 00       	mov    $0x43e8c1,%eax
42ba6c:	e8 c4 07 ff ff       	call   0x41c235
42ba71:	8d 45 08             	lea    0x8(%ebp),%eax
42ba74:	89 45 e8             	mov    %eax,-0x18(%ebp)
42ba77:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42ba7b:	8d 4d f3             	lea    -0xd(%ebp),%ecx
42ba7e:	6a 02                	push   $0x2
42ba80:	58                   	pop    %eax
42ba81:	89 45 ec             	mov    %eax,-0x14(%ebp)
42ba84:	89 45 e4             	mov    %eax,-0x1c(%ebp)
42ba87:	8d 45 ec             	lea    -0x14(%ebp),%eax
42ba8a:	50                   	push   %eax
42ba8b:	8d 45 e8             	lea    -0x18(%ebp),%eax
42ba8e:	50                   	push   %eax
42ba8f:	8d 45 e4             	lea    -0x1c(%ebp),%eax
42ba92:	50                   	push   %eax
42ba93:	e8 25 fd ff ff       	call   0x42b7bd
42ba98:	e8 84 07 ff ff       	call   0x41c221
42ba9d:	c3                   	ret
42ba9e:	cc                   	int3
42ba9f:	cc                   	int3
42baa0:	cc                   	int3
42baa1:	cc                   	int3
42baa2:	cc                   	int3
42baa3:	8b ff                	mov    %edi,%edi
42baa5:	55                   	push   %ebp
42baa6:	8b ec                	mov    %esp,%ebp
42baa8:	8b 4d 08             	mov    0x8(%ebp),%ecx
42baab:	85 c9                	test   %ecx,%ecx
42baad:	75 05                	jne    0x42bab4
42baaf:	83 c8 ff             	or     $0xffffffff,%eax
42bab2:	5d                   	pop    %ebp
42bab3:	c3                   	ret
42bab4:	8b 01                	mov    (%ecx),%eax
42bab6:	3b 41 08             	cmp    0x8(%ecx),%eax
42bab9:	75 0d                	jne    0x42bac8
42babb:	a1 14 40 45 00       	mov    0x454014,%eax
42bac0:	89 01                	mov    %eax,(%ecx)
42bac2:	89 41 04             	mov    %eax,0x4(%ecx)
42bac5:	89 41 08             	mov    %eax,0x8(%ecx)
42bac8:	33 c0                	xor    %eax,%eax
42baca:	5d                   	pop    %ebp
42bacb:	c3                   	ret
42bacc:	8b ff                	mov    %edi,%edi
42bace:	55                   	push   %ebp
42bacf:	8b ec                	mov    %esp,%ebp
42bad1:	83 ec 14             	sub    $0x14,%esp
42bad4:	8d 45 08             	lea    0x8(%ebp),%eax
42bad7:	89 45 ec             	mov    %eax,-0x14(%ebp)
42bada:	8d 4d ff             	lea    -0x1(%ebp),%ecx
42badd:	6a 02                	push   $0x2
42badf:	8d 45 0c             	lea    0xc(%ebp),%eax
42bae2:	89 45 f0             	mov    %eax,-0x10(%ebp)
42bae5:	58                   	pop    %eax
42bae6:	89 45 f8             	mov    %eax,-0x8(%ebp)
42bae9:	89 45 f4             	mov    %eax,-0xc(%ebp)
42baec:	8d 45 f8             	lea    -0x8(%ebp),%eax
42baef:	50                   	push   %eax
42baf0:	8d 45 ec             	lea    -0x14(%ebp),%eax
42baf3:	50                   	push   %eax
42baf4:	8d 45 f4             	lea    -0xc(%ebp),%eax
42baf7:	50                   	push   %eax
42baf8:	e8 1b fd ff ff       	call   0x42b818
42bafd:	c9                   	leave
42bafe:	c3                   	ret
42baff:	cc                   	int3
42bb00:	c7 05 20 5d 45 00 b8 	movl   $0x4541b8,0x455d20
42bb07:	41 45 00
42bb0a:	b0 01                	mov    $0x1,%al
42bb0c:	c3                   	ret
42bb0d:	cc                   	int3
42bb0e:	cc                   	int3
42bb0f:	cc                   	int3
42bb10:	68 08 5d 45 00       	push   $0x455d08
42bb15:	e8 89 ff ff ff       	call   0x42baa3
42bb1a:	c7 04 24 14 5d 45 00 	movl   $0x455d14,(%esp)
42bb21:	e8 7d ff ff ff       	call   0x42baa3
42bb26:	59                   	pop    %ecx
42bb27:	b0 01                	mov    $0x1,%al
42bb29:	c3                   	ret
42bb2a:	cc                   	int3
42bb2b:	cc                   	int3
42bb2c:	cc                   	int3
42bb2d:	cc                   	int3
42bb2e:	cc                   	int3
42bb2f:	cc                   	int3
42bb30:	e8 d1 df ff ff       	call   0x429b06
42bb35:	b0 01                	mov    $0x1,%al
42bb37:	c3                   	ret
42bb38:	cc                   	int3
42bb39:	cc                   	int3
42bb3a:	cc                   	int3
42bb3b:	cc                   	int3
42bb3c:	cc                   	int3
42bb3d:	cc                   	int3
42bb3e:	cc                   	int3
42bb3f:	cc                   	int3
42bb40:	8b ff                	mov    %edi,%edi
42bb42:	56                   	push   %esi
42bb43:	8b 35 14 40 45 00    	mov    0x454014,%esi
42bb49:	56                   	push   %esi
42bb4a:	e8 5d 4e ff ff       	call   0x4209ac
42bb4f:	56                   	push   %esi
42bb50:	e8 71 d7 ff ff       	call   0x4292c6
42bb55:	56                   	push   %esi
42bb56:	e8 bd 71 00 00       	call   0x432d18
42bb5b:	56                   	push   %esi
42bb5c:	e8 8e d9 ff ff       	call   0x4294ef
42bb61:	56                   	push   %esi
42bb62:	e8 30 e3 ff ff       	call   0x429e97
42bb67:	83 c4 14             	add    $0x14,%esp
42bb6a:	b0 01                	mov    $0x1,%al
42bb6c:	5e                   	pop    %esi
42bb6d:	c3                   	ret
42bb6e:	cc                   	int3
42bb6f:	cc                   	int3
42bb70:	6a 00                	push   $0x0
42bb72:	e8 06 38 ff ff       	call   0x41f37d
42bb77:	59                   	pop    %ecx
42bb78:	c3                   	ret
42bb79:	cc                   	int3
42bb7a:	cc                   	int3
42bb7b:	cc                   	int3
42bb7c:	cc                   	int3
42bb7d:	cc                   	int3
42bb7e:	cc                   	int3
42bb7f:	cc                   	int3
42bb80:	8b ff                	mov    %edi,%edi
42bb82:	55                   	push   %ebp
42bb83:	8b ec                	mov    %esp,%ebp
42bb85:	51                   	push   %ecx
42bb86:	68 14 61 45 00       	push   $0x456114
42bb8b:	8d 4d ff             	lea    -0x1(%ebp),%ecx
42bb8e:	e8 5d 00 00 00       	call   0x42bbf0
42bb93:	b0 01                	mov    $0x1,%al
42bb95:	c9                   	leave
42bb96:	c3                   	ret
42bb97:	cc                   	int3
42bb98:	cc                   	int3
42bb99:	cc                   	int3
42bb9a:	cc                   	int3
42bb9b:	cc                   	int3
42bb9c:	cc                   	int3
42bb9d:	cc                   	int3
42bb9e:	cc                   	int3
42bb9f:	cc                   	int3
42bba0:	8b ff                	mov    %edi,%edi
42bba2:	56                   	push   %esi
42bba3:	ff 35 30 5d 45 00    	push   0x455d30
42bba9:	e8 c9 08 00 00       	call   0x42c477
42bbae:	ff 35 34 5d 45 00    	push   0x455d34
42bbb4:	33 f6                	xor    %esi,%esi
42bbb6:	89 35 30 5d 45 00    	mov    %esi,0x455d30
42bbbc:	e8 b6 08 00 00       	call   0x42c477
42bbc1:	ff 35 28 61 45 00    	push   0x456128
42bbc7:	89 35 34 5d 45 00    	mov    %esi,0x455d34
42bbcd:	e8 a5 08 00 00       	call   0x42c477
42bbd2:	ff 35 2c 61 45 00    	push   0x45612c
42bbd8:	89 35 28 61 45 00    	mov    %esi,0x456128
42bbde:	e8 94 08 00 00       	call   0x42c477
42bbe3:	83 c4 10             	add    $0x10,%esp
42bbe6:	89 35 2c 61 45 00    	mov    %esi,0x45612c
42bbec:	b0 01                	mov    $0x1,%al
42bbee:	5e                   	pop    %esi
42bbef:	c3                   	ret
42bbf0:	8b ff                	mov    %edi,%edi
42bbf2:	55                   	push   %ebp
42bbf3:	8b ec                	mov    %esp,%ebp
42bbf5:	56                   	push   %esi
42bbf6:	8b 75 08             	mov    0x8(%ebp),%esi
42bbf9:	83 c9 ff             	or     $0xffffffff,%ecx
42bbfc:	8b 06                	mov    (%esi),%eax
42bbfe:	f0 0f c1 08          	lock xadd %ecx,(%eax)
42bc02:	75 15                	jne    0x42bc19
42bc04:	57                   	push   %edi
42bc05:	bf 70 45 45 00       	mov    $0x454570,%edi
42bc0a:	39 3e                	cmp    %edi,(%esi)
42bc0c:	74 0a                	je     0x42bc18
42bc0e:	ff 36                	push   (%esi)
42bc10:	e8 62 08 00 00       	call   0x42c477
42bc15:	59                   	pop    %ecx
42bc16:	89 3e                	mov    %edi,(%esi)
42bc18:	5f                   	pop    %edi
42bc19:	5e                   	pop    %esi
42bc1a:	5d                   	pop    %ebp
42bc1b:	c2 04 00             	ret    $0x4
42bc1e:	68 d0 29 44 00       	push   $0x4429d0
42bc23:	68 50 29 44 00       	push   $0x442950
42bc28:	e8 7d ad 00 00       	call   0x4369aa
42bc2d:	59                   	pop    %ecx
42bc2e:	59                   	pop    %ecx
42bc2f:	c3                   	ret
42bc30:	8b ff                	mov    %edi,%edi
42bc32:	55                   	push   %ebp
42bc33:	8b ec                	mov    %esp,%ebp
42bc35:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
42bc39:	74 12                	je     0x42bc4d
42bc3b:	83 3d 64 59 45 00 00 	cmpl   $0x0,0x455964
42bc42:	74 05                	je     0x42bc49
42bc44:	e8 8b 2e 00 00       	call   0x42ead4
42bc49:	b0 01                	mov    $0x1,%al
42bc4b:	5d                   	pop    %ebp
42bc4c:	c3                   	ret
42bc4d:	68 d0 29 44 00       	push   $0x4429d0
42bc52:	68 50 29 44 00       	push   $0x442950
42bc57:	e8 b6 ad 00 00       	call   0x436a12
42bc5c:	59                   	pop    %ecx
42bc5d:	59                   	pop    %ecx
42bc5e:	5d                   	pop    %ebp
42bc5f:	c3                   	ret
42bc60:	8b ff                	mov    %edi,%edi
42bc62:	55                   	push   %ebp
42bc63:	8b ec                	mov    %esp,%ebp
42bc65:	8b 4d 10             	mov    0x10(%ebp),%ecx
42bc68:	8b 45 0c             	mov    0xc(%ebp),%eax
42bc6b:	81 e1 ff ff f7 ff    	and    $0xfff7ffff,%ecx
42bc71:	23 c1                	and    %ecx,%eax
42bc73:	56                   	push   %esi
42bc74:	8b 75 08             	mov    0x8(%ebp),%esi
42bc77:	a9 e0 fc f0 fc       	test   $0xfcf0fce0,%eax
42bc7c:	74 24                	je     0x42bca2
42bc7e:	85 f6                	test   %esi,%esi
42bc80:	74 0d                	je     0x42bc8f
42bc82:	6a 00                	push   $0x0
42bc84:	6a 00                	push   $0x0
42bc86:	e8 3d af 00 00       	call   0x436bc8
42bc8b:	59                   	pop    %ecx
42bc8c:	59                   	pop    %ecx
42bc8d:	89 06                	mov    %eax,(%esi)
42bc8f:	e8 ac a9 ff ff       	call   0x426640
42bc94:	6a 16                	push   $0x16
42bc96:	5e                   	pop    %esi
42bc97:	89 30                	mov    %esi,(%eax)
42bc99:	e8 d1 4d ff ff       	call   0x420a6f
42bc9e:	8b c6                	mov    %esi,%eax
42bca0:	eb 1a                	jmp    0x42bcbc
42bca2:	51                   	push   %ecx
42bca3:	ff 75 0c             	push   0xc(%ebp)
42bca6:	85 f6                	test   %esi,%esi
42bca8:	74 09                	je     0x42bcb3
42bcaa:	e8 19 af 00 00       	call   0x436bc8
42bcaf:	89 06                	mov    %eax,(%esi)
42bcb1:	eb 05                	jmp    0x42bcb8
42bcb3:	e8 10 af 00 00       	call   0x436bc8
42bcb8:	59                   	pop    %ecx
42bcb9:	59                   	pop    %ecx
42bcba:	33 c0                	xor    %eax,%eax
42bcbc:	5e                   	pop    %esi
42bcbd:	5d                   	pop    %ebp
42bcbe:	c3                   	ret
42bcbf:	6a 08                	push   $0x8
42bcc1:	68 b0 24 45 00       	push   $0x4524b0
42bcc6:	e8 05 0c ff ff       	call   0x41c8d0
42bccb:	e8 59 04 00 00       	call   0x42c129
42bcd0:	8b 70 0c             	mov    0xc(%eax),%esi
42bcd3:	85 f6                	test   %esi,%esi
42bcd5:	74 1e                	je     0x42bcf5
42bcd7:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42bcdb:	8b ce                	mov    %esi,%ecx
42bcdd:	ff 15 3c f2 43 00    	call   *0x43f23c
42bce3:	ff d6                	call   *%esi
42bce5:	eb 07                	jmp    0x42bcee
42bce7:	33 c0                	xor    %eax,%eax
42bce9:	40                   	inc    %eax
42bcea:	c3                   	ret
42bceb:	8b 65 e8             	mov    -0x18(%ebp),%esp
42bcee:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
42bcf5:	e8 7f d2 ff ff       	call   0x428f79
42bcfa:	cc                   	int3
42bcfb:	8b ff                	mov    %edi,%edi
42bcfd:	55                   	push   %ebp
42bcfe:	8b ec                	mov    %esp,%ebp
42bd00:	56                   	push   %esi
42bd01:	8b 75 0c             	mov    0xc(%ebp),%esi
42bd04:	85 f6                	test   %esi,%esi
42bd06:	74 1b                	je     0x42bd23
42bd08:	6a e0                	push   $0xffffffe0