4539b2:	83 ca 0f             	or     $0xf,%edx
4539b5:	81 fa ff ff ff 7f    	cmp    $0x7fffffff,%edx
4539bb:	76 07                	jbe    0x4539c4
4539bd:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
4539c2:	eb 1e                	jmp    0x4539e2
4539c4:	8b cb                	mov    %ebx,%ecx
4539c6:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
4539cb:	d1 e9                	shr    $1,%ecx
4539cd:	2b c1                	sub    %ecx,%eax
4539cf:	3b d8                	cmp    %eax,%ebx
4539d1:	76 07                	jbe    0x4539da
4539d3:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
4539d8:	eb 08                	jmp    0x4539e2
4539da:	8d 04 19             	lea    (%ecx,%ebx,1),%eax
4539dd:	3b d0                	cmp    %eax,%edx
4539df:	0f 42 d0             	cmovb  %eax,%edx
4539e2:	33 c9                	xor    %ecx,%ecx
4539e4:	89 55 fc             	mov    %edx,-0x4(%ebp)
4539e7:	83 c2 01             	add    $0x1,%edx
4539ea:	0f 92 c1             	setb   %cl
4539ed:	f7 d9                	neg    %ecx
4539ef:	0b ca                	or     %edx,%ecx
4539f1:	51                   	push   %ecx
4539f2:	8b ce                	mov    %esi,%ecx
4539f4:	e8 57 5a fe ff       	call   0x439450
4539f9:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4539fc:	89 4e 14             	mov    %ecx,0x14(%esi)
4539ff:	8b 4d f8             	mov    -0x8(%ebp),%ecx
453a02:	41                   	inc    %ecx
453a03:	89 45 f4             	mov    %eax,-0xc(%ebp)
453a06:	89 7e 10             	mov    %edi,0x10(%esi)
453a09:	51                   	push   %ecx
453a0a:	83 fb 10             	cmp    $0x10,%ebx
453a0d:	72 45                	jb     0x453a54
453a0f:	8b 3e                	mov    (%esi),%edi
453a11:	57                   	push   %edi
453a12:	50                   	push   %eax
453a13:	e8 e8 f4 18 00       	call   0x5e2f00
453a18:	43                   	inc    %ebx
453a19:	83 c4 0c             	add    $0xc,%esp
453a1c:	81 fb 00 10 00 00    	cmp    $0x1000,%ebx
453a22:	72 12                	jb     0x453a36
453a24:	8b 4f fc             	mov    -0x4(%edi),%ecx
453a27:	83 c3 23             	add    $0x23,%ebx
453a2a:	2b f9                	sub    %ecx,%edi
453a2c:	8d 47 fc             	lea    -0x4(%edi),%eax
453a2f:	83 f8 1f             	cmp    $0x1f,%eax
453a32:	77 5b                	ja     0x453a8f
453a34:	8b f9                	mov    %ecx,%edi
453a36:	53                   	push   %ebx
453a37:	57                   	push   %edi
453a38:	e8 35 d6 18 00       	call   0x5e1072
453a3d:	8b 45 f4             	mov    -0xc(%ebp),%eax
453a40:	83 c4 08             	add    $0x8,%esp
453a43:	89 06                	mov    %eax,(%esi)
453a45:	8b 45 f8             	mov    -0x8(%ebp),%eax
453a48:	89 46 10             	mov    %eax,0x10(%esi)
453a4b:	5b                   	pop    %ebx
453a4c:	5f                   	pop    %edi
453a4d:	5e                   	pop    %esi
453a4e:	8b e5                	mov    %ebp,%esp
453a50:	5d                   	pop    %ebp
453a51:	c2 04 00             	ret    $0x4
453a54:	56                   	push   %esi
453a55:	50                   	push   %eax
453a56:	e8 a5 f4 18 00       	call   0x5e2f00
453a5b:	8b 45 f4             	mov    -0xc(%ebp),%eax
453a5e:	83 c4 0c             	add    $0xc,%esp
453a61:	89 06                	mov    %eax,(%esi)
453a63:	8b 45 f8             	mov    -0x8(%ebp),%eax
453a66:	89 46 10             	mov    %eax,0x10(%esi)
453a69:	5b                   	pop    %ebx
453a6a:	5f                   	pop    %edi
453a6b:	5e                   	pop    %esi
453a6c:	8b e5                	mov    %ebp,%esp
453a6e:	5d                   	pop    %ebp
453a6f:	c2 04 00             	ret    $0x4
453a72:	83 ff 10             	cmp    $0x10,%edi
453a75:	73 0a                	jae    0x453a81
453a77:	83 fb 10             	cmp    $0x10,%ebx
453a7a:	72 05                	jb     0x453a81
453a7c:	e8 df 13 ff ff       	call   0x444e60
453a81:	5b                   	pop    %ebx
453a82:	5f                   	pop    %edi
453a83:	5e                   	pop    %esi
453a84:	8b e5                	mov    %ebp,%esp
453a86:	5d                   	pop    %ebp
453a87:	c2 04 00             	ret    $0x4
453a8a:	e8 a1 15 ff ff       	call   0x445030
453a8f:	e8 9b 94 19 00       	call   0x5ecf2f
453a94:	cc                   	int3
453a95:	cc                   	int3
453a96:	cc                   	int3
453a97:	cc                   	int3
453a98:	cc                   	int3
453a99:	cc                   	int3
453a9a:	cc                   	int3
453a9b:	cc                   	int3
453a9c:	cc                   	int3
453a9d:	cc                   	int3
453a9e:	cc                   	int3
453a9f:	cc                   	int3
453aa0:	55                   	push   %ebp
453aa1:	8b ec                	mov    %esp,%ebp
453aa3:	83 ec 20             	sub    $0x20,%esp
453aa6:	a1 d4 89 72 00       	mov    0x7289d4,%eax
453aab:	33 c5                	xor    %ebp,%eax
453aad:	89 45 fc             	mov    %eax,-0x4(%ebp)
453ab0:	8b 45 0c             	mov    0xc(%ebp),%eax
453ab3:	56                   	push   %esi
453ab4:	8b 75 08             	mov    0x8(%ebp),%esi
453ab7:	89 75 e0             	mov    %esi,-0x20(%ebp)
453aba:	85 c0                	test   %eax,%eax
453abc:	79 16                	jns    0x453ad4
453abe:	f7 d8                	neg    %eax
453ac0:	50                   	push   %eax
453ac1:	8d 45 f9             	lea    -0x7(%ebp),%eax
453ac4:	50                   	push   %eax
453ac5:	e8 16 0c ff ff       	call   0x4446e0
453aca:	83 c4 08             	add    $0x8,%esp
453acd:	c6 40 ff 2d          	movb   $0x2d,-0x1(%eax)
453ad1:	48                   	dec    %eax
453ad2:	eb 0d                	jmp    0x453ae1
453ad4:	50                   	push   %eax
453ad5:	8d 45 f9             	lea    -0x7(%ebp),%eax
453ad8:	50                   	push   %eax
453ad9:	e8 02 0c ff ff       	call   0x4446e0
453ade:	83 c4 08             	add    $0x8,%esp
453ae1:	8d 4d f9             	lea    -0x7(%ebp),%ecx
453ae4:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
453aeb:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
453af2:	c6 06 00             	movb   $0x0,(%esi)
453af5:	3b c1                	cmp    %ecx,%eax
453af7:	74 0b                	je     0x453b04
453af9:	2b c8                	sub    %eax,%ecx
453afb:	51                   	push   %ecx
453afc:	50                   	push   %eax
453afd:	8b ce                	mov    %esi,%ecx
453aff:	e8 3c 17 ff ff       	call   0x445240
453b04:	8b 4d fc             	mov    -0x4(%ebp),%ecx
453b07:	8b c6                	mov    %esi,%eax
453b09:	33 cd                	xor    %ebp,%ecx
453b0b:	5e                   	pop    %esi
453b0c:	e8 c9 d9 18 00       	call   0x5e14da
453b11:	8b e5                	mov    %ebp,%esp
453b13:	5d                   	pop    %ebp
453b14:	c3                   	ret
453b15:	cc                   	int3
453b16:	cc                   	int3
453b17:	cc                   	int3
453b18:	cc                   	int3
453b19:	cc                   	int3
453b1a:	cc                   	int3
453b1b:	cc                   	int3
453b1c:	cc                   	int3
453b1d:	cc                   	int3
453b1e:	cc                   	int3
453b1f:	cc                   	int3
453b20:	55                   	push   %ebp
453b21:	8b ec                	mov    %esp,%ebp
453b23:	83 ec 0c             	sub    $0xc,%esp
453b26:	53                   	push   %ebx
453b27:	56                   	push   %esi
453b28:	8b 75 08             	mov    0x8(%ebp),%esi
453b2b:	8b de                	mov    %esi,%ebx
453b2d:	57                   	push   %edi
453b2e:	8d 53 01             	lea    0x1(%ebx),%edx
453b31:	8a 03                	mov    (%ebx),%al
453b33:	43                   	inc    %ebx
453b34:	84 c0                	test   %al,%al
453b36:	75 f9                	jne    0x453b31
453b38:	2b da                	sub    %edx,%ebx
453b3a:	89 4d fc             	mov    %ecx,-0x4(%ebp)
453b3d:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
453b41:	8b f9                	mov    %ecx,%edi
453b43:	72 05                	jb     0x453b4a
453b45:	8b 39                	mov    (%ecx),%edi
453b47:	89 7d fc             	mov    %edi,-0x4(%ebp)
453b4a:	8b 49 10             	mov    0x10(%ecx),%ecx
453b4d:	3b d9                	cmp    %ecx,%ebx
453b4f:	0f 87 b7 00 00 00    	ja     0x453c0c
453b55:	8b 45 0c             	mov    0xc(%ebp),%eax
453b58:	2b cb                	sub    %ebx,%ecx
453b5a:	3b c1                	cmp    %ecx,%eax
453b5c:	0f 87 aa 00 00 00    	ja     0x453c0c
453b62:	85 db                	test   %ebx,%ebx
453b64:	0f 84 a5 00 00 00    	je     0x453c0f
453b6a:	8d 51 01             	lea    0x1(%ecx),%edx
453b6d:	03 d7                	add    %edi,%edx
453b6f:	8d 0c 07             	lea    (%edi,%eax,1),%ecx
453b72:	0f be 3e             	movsbl (%esi),%edi
453b75:	89 55 f8             	mov    %edx,-0x8(%ebp)
453b78:	2b d1                	sub    %ecx,%edx
453b7a:	52                   	push   %edx
453b7b:	57                   	push   %edi
453b7c:	51                   	push   %ecx
453b7d:	89 7d f4             	mov    %edi,-0xc(%ebp)
453b80:	e8 cb f2 18 00       	call   0x5e2e50
453b85:	8b f8                	mov    %eax,%edi
453b87:	83 c4 0c             	add    $0xc,%esp
453b8a:	85 ff                	test   %edi,%edi
453b8c:	74 7e                	je     0x453c0c
453b8e:	66 90                	xchg   %ax,%ax
453b90:	8b c6                	mov    %esi,%eax
453b92:	8b d7                	mov    %edi,%edx
453b94:	8b f3                	mov    %ebx,%esi
453b96:	83 ee 04             	sub    $0x4,%esi
453b99:	72 16                	jb     0x453bb1
453b9b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
453ba0:	8b 0a                	mov    (%edx),%ecx
453ba2:	3b 08                	cmp    (%eax),%ecx
453ba4:	75 10                	jne    0x453bb6
453ba6:	83 c2 04             	add    $0x4,%edx
453ba9:	83 c0 04             	add    $0x4,%eax
453bac:	83 ee 04             	sub    $0x4,%esi
453baf:	73 ef                	jae    0x453ba0
453bb1:	83 fe fc             	cmp    $0xfffffffc,%esi
453bb4:	74 34                	je     0x453bea
453bb6:	8a 0a                	mov    (%edx),%cl
453bb8:	3a 08                	cmp    (%eax),%cl
453bba:	75 27                	jne    0x453be3
453bbc:	83 fe fd             	cmp    $0xfffffffd,%esi
453bbf:	74 29                	je     0x453bea
453bc1:	8a 4a 01             	mov    0x1(%edx),%cl
453bc4:	3a 48 01             	cmp    0x1(%eax),%cl
453bc7:	75 1a                	jne    0x453be3
453bc9:	83 fe fe             	cmp    $0xfffffffe,%esi
453bcc:	74 1c                	je     0x453bea
453bce:	8a 4a 02             	mov    0x2(%edx),%cl
453bd1:	3a 48 02             	cmp    0x2(%eax),%cl
453bd4:	75 0d                	jne    0x453be3
453bd6:	83 fe ff             	cmp    $0xffffffff,%esi
453bd9:	74 0f                	je     0x453bea
453bdb:	8a 4a 03             	mov    0x3(%edx),%cl
453bde:	3a 48 03             	cmp    0x3(%eax),%cl
453be1:	74 07                	je     0x453bea
453be3:	1b c0                	sbb    %eax,%eax
453be5:	83 c8 01             	or     $0x1,%eax
453be8:	eb 02                	jmp    0x453bec
453bea:	33 c0                	xor    %eax,%eax
453bec:	85 c0                	test   %eax,%eax
453bee:	74 28                	je     0x453c18
453bf0:	8b 45 f8             	mov    -0x8(%ebp),%eax
453bf3:	47                   	inc    %edi
453bf4:	2b c7                	sub    %edi,%eax
453bf6:	50                   	push   %eax
453bf7:	ff 75 f4             	push   -0xc(%ebp)
453bfa:	57                   	push   %edi
453bfb:	e8 50 f2 18 00       	call   0x5e2e50
453c00:	8b 75 08             	mov    0x8(%ebp),%esi
453c03:	8b f8                	mov    %eax,%edi
453c05:	83 c4 0c             	add    $0xc,%esp
453c08:	85 ff                	test   %edi,%edi
453c0a:	75 84                	jne    0x453b90
453c0c:	83 c8 ff             	or     $0xffffffff,%eax
453c0f:	5f                   	pop    %edi
453c10:	5e                   	pop    %esi
453c11:	5b                   	pop    %ebx
453c12:	8b e5                	mov    %ebp,%esp
453c14:	5d                   	pop    %ebp
453c15:	c2 08 00             	ret    $0x8
453c18:	2b 7d fc             	sub    -0x4(%ebp),%edi
453c1b:	8b c7                	mov    %edi,%eax
453c1d:	5f                   	pop    %edi
453c1e:	5e                   	pop    %esi
453c1f:	5b                   	pop    %ebx
453c20:	8b e5                	mov    %ebp,%esp
453c22:	5d                   	pop    %ebp
453c23:	c2 08 00             	ret    $0x8
453c26:	cc                   	int3
453c27:	cc                   	int3
453c28:	cc                   	int3
453c29:	cc                   	int3
453c2a:	cc                   	int3
453c2b:	cc                   	int3
453c2c:	cc                   	int3
453c2d:	cc                   	int3
453c2e:	cc                   	int3
453c2f:	cc                   	int3
453c30:	55                   	push   %ebp
453c31:	8b ec                	mov    %esp,%ebp
453c33:	6a ff                	push   $0xffffffff
453c35:	68 28 c4 64 00       	push   $0x64c428
453c3a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
453c40:	50                   	push   %eax
453c41:	83 ec 1c             	sub    $0x1c,%esp
453c44:	a1 d4 89 72 00       	mov    0x7289d4,%eax
453c49:	33 c5                	xor    %ebp,%eax
453c4b:	89 45 f0             	mov    %eax,-0x10(%ebp)
453c4e:	56                   	push   %esi
453c4f:	57                   	push   %edi
453c50:	50                   	push   %eax
453c51:	8d 45 f4             	lea    -0xc(%ebp),%eax
453c54:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
453c5a:	8b f9                	mov    %ecx,%edi
453c5c:	8b 75 08             	mov    0x8(%ebp),%esi
453c5f:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
453c66:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
453c6d:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
453c71:	6a 00                	push   $0x0
453c73:	68 e8 c6 68 00       	push   $0x68c6e8
453c78:	8d 45 d8             	lea    -0x28(%ebp),%eax
453c7b:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
453c82:	68 c8 c6 68 00       	push   $0x68c6c8
453c87:	50                   	push   %eax
453c88:	e8 c3 e8 15 00       	call   0x5b2550
453c8d:	83 c4 10             	add    $0x10,%esp
453c90:	83 f8 01             	cmp    $0x1,%eax
453c93:	75 42                	jne    0x453cd7
453c95:	68 64 c7 68 00       	push   $0x68c764
453c9a:	6a 00                	push   $0x0
453c9c:	6a 04                	push   $0x4
453c9e:	68 04 c7 68 00       	push   $0x68c704
453ca3:	ff 37                	push   (%edi)
453ca5:	e8 86 94 03 00       	call   0x48d130
453caa:	83 c4 14             	add    $0x14,%esp
453cad:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
453cb4:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
453cb8:	8b c6                	mov    %esi,%eax
453cba:	72 02                	jb     0x453cbe
453cbc:	8b 06                	mov    (%esi),%eax
453cbe:	c6 00 00             	movb   $0x0,(%eax)
453cc1:	8b ce                	mov    %esi,%ecx
453cc3:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
453cc7:	8d 45 d8             	lea    -0x28(%ebp),%eax
453cca:	ff 75 e8             	push   -0x18(%ebp)
453ccd:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
453cd1:	50                   	push   %eax
453cd2:	e8 e9 13 ff ff       	call   0x4450c0
453cd7:	8b 55 ec             	mov    -0x14(%ebp),%edx
453cda:	83 fa 10             	cmp    $0x10,%edx
453cdd:	72 28                	jb     0x453d07
453cdf:	8b 4d d8             	mov    -0x28(%ebp),%ecx
453ce2:	42                   	inc    %edx
453ce3:	8b c1                	mov    %ecx,%eax
453ce5:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
453ceb:	72 10                	jb     0x453cfd
453ced:	8b 49 fc             	mov    -0x4(%ecx),%ecx
453cf0:	83 c2 23             	add    $0x23,%edx
453cf3:	2b c1                	sub    %ecx,%eax
453cf5:	83 c0 fc             	add    $0xfffffffc,%eax
453cf8:	83 f8 1f             	cmp    $0x1f,%eax
453cfb:	77 27                	ja     0x453d24
453cfd:	52                   	push   %edx
453cfe:	51                   	push   %ecx
453cff:	e8 6e d3 18 00       	call   0x5e1072
453d04:	83 c4 08             	add    $0x8,%esp
453d07:	8b 4d f4             	mov    -0xc(%ebp),%ecx
453d0a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
453d11:	59                   	pop    %ecx