452c0a:	eb 2d                	jmp    0x452c39
452c0c:	2b 5d dc             	sub    -0x24(%ebp),%ebx
452c0f:	8b cf                	mov    %edi,%ecx
452c11:	8b 45 fc             	mov    -0x4(%ebp),%eax
452c14:	1b 45 d8             	sbb    -0x28(%ebp),%eax
452c17:	89 45 e8             	mov    %eax,-0x18(%ebp)
452c1a:	8b c2                	mov    %edx,%eax
452c1c:	3b 7d e8             	cmp    -0x18(%ebp),%edi
452c1f:	77 18                	ja     0x452c39
452c21:	72 04                	jb     0x452c27
452c23:	3b d3                	cmp    %ebx,%edx
452c25:	73 12                	jae    0x452c39
452c27:	68 dc 48 60 00       	push   $0x6048dc
452c2c:	e8 7f 49 ff ff       	call   0x4475b0
452c31:	8b 4d e8             	mov    -0x18(%ebp),%ecx
452c34:	83 c4 04             	add    $0x4,%esp
452c37:	8b c3                	mov    %ebx,%eax
452c39:	03 45 d4             	add    -0x2c(%ebp),%eax
452c3c:	89 86 10 01 00 00    	mov    %eax,0x110(%esi)
452c42:	13 4d d0             	adc    -0x30(%ebp),%ecx
452c45:	8b 45 ec             	mov    -0x14(%ebp),%eax
452c48:	89 8e 14 01 00 00    	mov    %ecx,0x114(%esi)
452c4e:	eb 3a                	jmp    0x452c8a
452c50:	83 3d 7c 71 69 00 00 	cmpl   $0x0,0x69717c
452c57:	75 04                	jne    0x452c5d
452c59:	33 c0                	xor    %eax,%eax
452c5b:	eb 13                	jmp    0x452c70
452c5d:	8d 45 e8             	lea    -0x18(%ebp),%eax
452c60:	50                   	push   %eax
452c61:	6a 05                	push   $0x5
452c63:	68 f4 48 60 00       	push   $0x6048f4
452c68:	e8 63 d8 16 00       	call   0x5c04d0
452c6d:	83 c4 0c             	add    $0xc,%esp
452c70:	68 08 49 60 00       	push   $0x604908
452c75:	89 45 e8             	mov    %eax,-0x18(%ebp)
452c78:	e8 33 49 ff ff       	call   0x4475b0
452c7d:	6a 01                	push   $0x1
452c7f:	e8 cc 57 17 00       	call   0x5c8450
452c84:	8b 45 e8             	mov    -0x18(%ebp),%eax
452c87:	83 c4 08             	add    $0x8,%esp
452c8a:	85 c0                	test   %eax,%eax
452c8c:	74 09                	je     0x452c97
452c8e:	50                   	push   %eax
452c8f:	e8 fc d7 16 00       	call   0x5c0490
452c94:	83 c4 04             	add    $0x4,%esp
452c97:	5f                   	pop    %edi
452c98:	5b                   	pop    %ebx
452c99:	5e                   	pop    %esi
452c9a:	8b e5                	mov    %ebp,%esp
452c9c:	5d                   	pop    %ebp
452c9d:	c3                   	ret
452c9e:	cc                   	int3
452c9f:	cc                   	int3
452ca0:	55                   	push   %ebp
452ca1:	8b ec                	mov    %esp,%ebp
452ca3:	53                   	push   %ebx
452ca4:	56                   	push   %esi
452ca5:	8b f1                	mov    %ecx,%esi
452ca7:	8b 4d 08             	mov    0x8(%ebp),%ecx
452caa:	57                   	push   %edi
452cab:	8b 7d 0c             	mov    0xc(%ebp),%edi
452cae:	85 c9                	test   %ecx,%ecx
452cb0:	74 2f                	je     0x452ce1
452cb2:	8b 16                	mov    (%esi),%edx
452cb4:	8d 04 b9             	lea    (%ecx,%edi,4),%eax
452cb7:	3b d0                	cmp    %eax,%edx
452cb9:	73 26                	jae    0x452ce1
452cbb:	8b 46 0c             	mov    0xc(%esi),%eax
452cbe:	8d 04 82             	lea    (%edx,%eax,4),%eax
452cc1:	3b c8                	cmp    %eax,%ecx
452cc3:	73 1c                	jae    0x452ce1
452cc5:	68 e8 49 60 00       	push   $0x6049e8
452cca:	68 dd 04 00 00       	push   $0x4dd
452ccf:	68 d8 27 60 00       	push   $0x6027d8
452cd4:	e8 87 87 16 00       	call   0x5bb460
452cd9:	83 c4 0c             	add    $0xc,%esp
452cdc:	84 c0                	test   %al,%al
452cde:	75 01                	jne    0x452ce1
452ce0:	cc                   	int3
452ce1:	8b 5e 0c             	mov    0xc(%esi),%ebx
452ce4:	3b fb                	cmp    %ebx,%edi
452ce6:	0f 8e d6 00 00 00    	jle    0x452dc2
452cec:	8b 4e 04             	mov    0x4(%esi),%ecx
452cef:	8b c7                	mov    %edi,%eax
452cf1:	2b c3                	sub    %ebx,%eax
452cf3:	89 45 0c             	mov    %eax,0xc(%ebp)
452cf6:	3b f9                	cmp    %ecx,%edi
452cf8:	0f 8e bf 00 00 00    	jle    0x452dbd
452cfe:	2b d9                	sub    %ecx,%ebx
452d00:	03 d8                	add    %eax,%ebx
452d02:	85 db                	test   %ebx,%ebx
452d04:	7f 1c                	jg     0x452d22
452d06:	68 b0 28 60 00       	push   $0x6028b0
452d0b:	68 e5 01 00 00       	push   $0x1e5
452d10:	68 48 28 60 00       	push   $0x602848
452d15:	e8 46 87 16 00       	call   0x5bb460
452d1a:	83 c4 0c             	add    $0xc,%esp
452d1d:	84 c0                	test   %al,%al
452d1f:	75 01                	jne    0x452d22
452d21:	cc                   	int3
452d22:	8b 56 08             	mov    0x8(%esi),%edx
452d25:	85 d2                	test   %edx,%edx
452d27:	79 24                	jns    0x452d4d
452d29:	68 b8 25 60 00       	push   $0x6025b8
452d2e:	68 ea 01 00 00       	push   $0x1ea
452d33:	68 48 28 60 00       	push   $0x602848
452d38:	e8 23 87 16 00       	call   0x5bb460
452d3d:	83 c4 0c             	add    $0xc,%esp
452d40:	84 c0                	test   %al,%al
452d42:	75 76                	jne    0x452dba
452d44:	cc                   	int3
452d45:	8b 45 0c             	mov    0xc(%ebp),%eax
452d48:	01 46 0c             	add    %eax,0xc(%esi)
452d4b:	eb 7c                	jmp    0x452dc9
452d4d:	8b 4e 04             	mov    0x4(%esi),%ecx
452d50:	6a 04                	push   $0x4
452d52:	8d 04 19             	lea    (%ecx,%ebx,1),%eax
452d55:	50                   	push   %eax
452d56:	52                   	push   %edx
452d57:	51                   	push   %ecx
452d58:	e8 43 8c 17 00       	call   0x5cb9a0
452d5d:	83 c4 10             	add    $0x10,%esp
452d60:	89 46 04             	mov    %eax,0x4(%esi)
452d63:	83 3e 00             	cmpl   $0x0,(%esi)
452d66:	74 2d                	je     0x452d95
452d68:	e8 03 3e 17 00       	call   0x5c6b70
452d6d:	6a 00                	push   $0x0
452d6f:	68 f9 01 00 00       	push   $0x1f9
452d74:	68 48 28 60 00       	push   $0x602848
452d79:	8b 08                	mov    (%eax),%ecx
452d7b:	8b 51 10             	mov    0x10(%ecx),%edx
452d7e:	8b 4e 04             	mov    0x4(%esi),%ecx
452d81:	c1 e1 02             	shl    $0x2,%ecx
452d84:	51                   	push   %ecx
452d85:	ff 36                	push   (%esi)
452d87:	8b c8                	mov    %eax,%ecx
452d89:	ff d2                	call   *%edx
452d8b:	89 06                	mov    %eax,(%esi)
452d8d:	8b 45 0c             	mov    0xc(%ebp),%eax
452d90:	01 46 0c             	add    %eax,0xc(%esi)
452d93:	eb 34                	jmp    0x452dc9
452d95:	e8 d6 3d 17 00       	call   0x5c6b70
452d9a:	6a 00                	push   $0x0
452d9c:	6a 00                	push   $0x0
452d9e:	68 fd 01 00 00       	push   $0x1fd
452da3:	8b 08                	mov    (%eax),%ecx
452da5:	68 48 28 60 00       	push   $0x602848
452daa:	8b 51 08             	mov    0x8(%ecx),%edx
452dad:	8b 4e 04             	mov    0x4(%esi),%ecx
452db0:	c1 e1 02             	shl    $0x2,%ecx
452db3:	51                   	push   %ecx
452db4:	8b c8                	mov    %eax,%ecx
452db6:	ff d2                	call   *%edx
452db8:	89 06                	mov    %eax,(%esi)
452dba:	8b 45 0c             	mov    0xc(%ebp),%eax
452dbd:	01 46 0c             	add    %eax,0xc(%esi)
452dc0:	eb 07                	jmp    0x452dc9
452dc2:	85 ff                	test   %edi,%edi
452dc4:	78 20                	js     0x452de6
452dc6:	89 7e 0c             	mov    %edi,0xc(%esi)
452dc9:	33 d2                	xor    %edx,%edx
452dcb:	85 ff                	test   %edi,%edi
452dcd:	7e 33                	jle    0x452e02
452dcf:	8b 5d 08             	mov    0x8(%ebp),%ebx
452dd2:	8b 0e                	mov    (%esi),%ecx
452dd4:	8b 04 93             	mov    (%ebx,%edx,4),%eax
452dd7:	89 04 91             	mov    %eax,(%ecx,%edx,4)
452dda:	42                   	inc    %edx
452ddb:	3b d7                	cmp    %edi,%edx
452ddd:	7c f3                	jl     0x452dd2
452ddf:	5f                   	pop    %edi
452de0:	5e                   	pop    %esi
452de1:	5b                   	pop    %ebx
452de2:	5d                   	pop    %ebp
452de3:	c2 08 00             	ret    $0x8
452de6:	68 28 28 60 00       	push   $0x602828
452deb:	68 d5 04 00 00       	push   $0x4d5
452df0:	68 d8 27 60 00       	push   $0x6027d8
452df5:	e8 66 86 16 00       	call   0x5bb460
452dfa:	83 c4 0c             	add    $0xc,%esp
452dfd:	84 c0                	test   %al,%al
452dff:	75 01                	jne    0x452e02
452e01:	cc                   	int3
452e02:	5f                   	pop    %edi
452e03:	5e                   	pop    %esi
452e04:	5b                   	pop    %ebx
452e05:	5d                   	pop    %ebp
452e06:	c2 08 00             	ret    $0x8
452e09:	cc                   	int3
452e0a:	cc                   	int3
452e0b:	cc                   	int3
452e0c:	cc                   	int3
452e0d:	cc                   	int3
452e0e:	cc                   	int3
452e0f:	cc                   	int3
452e10:	55                   	push   %ebp
452e11:	8b ec                	mov    %esp,%ebp
452e13:	51                   	push   %ecx
452e14:	56                   	push   %esi
452e15:	8b f1                	mov    %ecx,%esi
452e17:	57                   	push   %edi
452e18:	8b 3e                	mov    (%esi),%edi
452e1a:	85 ff                	test   %edi,%edi
452e1c:	74 46                	je     0x452e64
452e1e:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
452e24:	83 c8 ff             	or     $0xffffffff,%eax
452e27:	f0 0f c1 07          	lock xadd %eax,(%edi)
452e2b:	48                   	dec    %eax
452e2c:	75 15                	jne    0x452e43
452e2e:	8b cf                	mov    %edi,%ecx
452e30:	e8 3b 29 00 00       	call   0x455770
452e35:	68 20 01 00 00       	push   $0x120
452e3a:	57                   	push   %edi
452e3b:	e8 15 e4 17 00       	call   0x5d1255
452e40:	83 c4 08             	add    $0x8,%esp
452e43:	83 3e 00             	cmpl   $0x0,(%esi)
452e46:	74 1c                	je     0x452e64
452e48:	68 84 49 60 00       	push   $0x604984
452e4d:	68 b9 00 00 00       	push   $0xb9
452e52:	68 98 49 60 00       	push   $0x604998
452e57:	e8 04 86 16 00       	call   0x5bb460
452e5c:	83 c4 0c             	add    $0xc,%esp
452e5f:	84 c0                	test   %al,%al
452e61:	75 01                	jne    0x452e64
452e63:	cc                   	int3
452e64:	8b 45 0c             	mov    0xc(%ebp),%eax
452e67:	5f                   	pop    %edi
452e68:	89 06                	mov    %eax,(%esi)
452e6a:	5e                   	pop    %esi
452e6b:	8b e5                	mov    %ebp,%esp
452e6d:	5d                   	pop    %ebp
452e6e:	c2 08 00             	ret    $0x8
452e71:	cc                   	int3
452e72:	cc                   	int3
452e73:	cc                   	int3
452e74:	cc                   	int3
452e75:	cc                   	int3
452e76:	cc                   	int3
452e77:	cc                   	int3
452e78:	cc                   	int3
452e79:	cc                   	int3
452e7a:	cc                   	int3
452e7b:	cc                   	int3
452e7c:	cc                   	int3
452e7d:	cc                   	int3
452e7e:	cc                   	int3
452e7f:	cc                   	int3
452e80:	55                   	push   %ebp
452e81:	8b ec                	mov    %esp,%ebp
452e83:	51                   	push   %ecx
452e84:	56                   	push   %esi
452e85:	57                   	push   %edi
452e86:	8b f1                	mov    %ecx,%esi
452e88:	e8 53 03 00 00       	call   0x4531e0
452e8d:	8b 76 38             	mov    0x38(%esi),%esi
452e90:	b9 78 71 69 00       	mov    $0x697178,%ecx
452e95:	e8 66 49 17 00       	call   0x5c7800
452e9a:	8b f8                	mov    %eax,%edi
452e9c:	85 ff                	test   %edi,%edi
452e9e:	75 07                	jne    0x452ea7
452ea0:	e8 0b d7 16 00       	call   0x5c05b0
452ea5:	8b f8                	mov    %eax,%edi
452ea7:	8b 06                	mov    (%esi),%eax
452ea9:	8b ce                	mov    %esi,%ecx
452eab:	ff 50 14             	call   *0x14(%eax)
452eae:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
452eb2:	75 5e                	jne    0x452f12
452eb4:	85 ff                	test   %edi,%edi
452eb6:	74 0c                	je     0x452ec4
452eb8:	68 2c 49 60 00       	push   $0x60492c
452ebd:	8b cf                	mov    %edi,%ecx
452ebf:	e8 1c c3 16 00       	call   0x5bf1e0
452ec4:	83 3d 7c 71 69 00 00 	cmpl   $0x0,0x69717c
452ecb:	75 04                	jne    0x452ed1
452ecd:	33 c0                	xor    %eax,%eax
452ecf:	eb 13                	jmp    0x452ee4
452ed1:	8d 45 fc             	lea    -0x4(%ebp),%eax
452ed4:	50                   	push   %eax
452ed5:	6a 05                	push   $0x5
452ed7:	68 44 49 60 00       	push   $0x604944
452edc:	e8 ef d5 16 00       	call   0x5c04d0
452ee1:	83 c4 0c             	add    $0xc,%esp
452ee4:	89 45 fc             	mov    %eax,-0x4(%ebp)
452ee7:	8b ce                	mov    %esi,%ecx
452ee9:	8b 06                	mov    (%esi),%eax
452eeb:	ff 50 28             	call   *0x28(%eax)
452eee:	8b 06                	mov    (%esi),%eax
452ef0:	8b ce                	mov    %esi,%ecx
452ef2:	ff 50 1c             	call   *0x1c(%eax)
452ef5:	8b 06                	mov    (%esi),%eax
452ef7:	8b ce                	mov    %esi,%ecx
452ef9:	ff 50 20             	call   *0x20(%eax)
452efc:	8b 45 fc             	mov    -0x4(%ebp),%eax
452eff:	85 c0                	test   %eax,%eax
452f01:	74 09                	je     0x452f0c
452f03:	50                   	push   %eax
452f04:	e8 87 d5 16 00       	call   0x5c0490
452f09:	83 c4 04             	add    $0x4,%esp
452f0c:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
452f10:	74 a2                	je     0x452eb4
452f12:	8b 06                	mov    (%esi),%eax
452f14:	8b ce                	mov    %esi,%ecx
452f16:	ff 50 18             	call   *0x18(%eax)
452f19:	5f                   	pop    %edi
452f1a:	33 c0                	xor    %eax,%eax
452f1c:	5e                   	pop    %esi
452f1d:	8b e5                	mov    %ebp,%esp
452f1f:	5d                   	pop    %ebp
452f20:	c3                   	ret
452f21:	cc                   	int3
452f22:	cc                   	int3
452f23:	cc                   	int3
452f24:	cc                   	int3
452f25:	cc                   	int3
452f26:	cc                   	int3
452f27:	cc                   	int3
452f28:	cc                   	int3
452f29:	cc                   	int3
452f2a:	cc                   	int3
452f2b:	cc                   	int3
452f2c:	cc                   	int3
452f2d:	cc                   	int3
452f2e:	cc                   	int3
452f2f:	cc                   	int3
452f30:	55                   	push   %ebp
452f31:	8b ec                	mov    %esp,%ebp
452f33:	56                   	push   %esi
452f34:	8b f1                	mov    %ecx,%esi
452f36:	57                   	push   %edi
452f37:	8d 7e 4c             	lea    0x4c(%esi),%edi
452f3a:	57                   	push   %edi
452f3b:	ff 15 ac 21 60 00    	call   *0x6021ac
452f41:	ff 75 08             	push   0x8(%ebp)
452f44:	8d 4e 64             	lea    0x64(%esi),%ecx
452f47:	e8 54 f7 ff ff       	call   0x4526a0
452f4c:	57                   	push   %edi
452f4d:	ff 15 60 21 60 00    	call   *0x602160
452f53:	5f                   	pop    %edi
452f54:	5e                   	pop    %esi
452f55:	5d                   	pop    %ebp
452f56:	c2 04 00             	ret    $0x4
452f59:	cc                   	int3
452f5a:	cc                   	int3
452f5b:	cc                   	int3
452f5c:	cc                   	int3
452f5d:	cc                   	int3
452f5e:	cc                   	int3
452f5f:	cc                   	int3
452f60:	55                   	push   %ebp
452f61:	8b ec                	mov    %esp,%ebp