6459ec:	50                   	push   %eax
6459ed:	51                   	push   %ecx
6459ee:	89 96 8c 00 00 00    	mov    %edx,0x8c(%esi)
6459f4:	e8 07 c1 f9 ff       	call   0x5e1b00
6459f9:	8b 8e 88 00 00 00    	mov    0x88(%esi),%ecx
6459ff:	2b c8                	sub    %eax,%ecx
645a01:	8b 86 8c 00 00 00    	mov    0x8c(%esi),%eax
645a07:	1b c2                	sbb    %edx,%eax
645a09:	89 8e 90 00 00 00    	mov    %ecx,0x90(%esi)
645a0f:	5f                   	pop    %edi
645a10:	89 86 94 00 00 00    	mov    %eax,0x94(%esi)
645a16:	b0 01                	mov    $0x1,%al
645a18:	5e                   	pop    %esi
645a19:	5b                   	pop    %ebx
645a1a:	8b e5                	mov    %ebp,%esp
645a1c:	5d                   	pop    %ebp
645a1d:	c2 04 00             	ret    $0x4
645a20:	55                   	push   %ebp
645a21:	8b ec                	mov    %esp,%ebp
645a23:	6a ff                	push   $0xffffffff
645a25:	68 fd 4b 66 00       	push   $0x664bfd
645a2a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
645a30:	50                   	push   %eax
645a31:	81 ec 9c 00 00 00    	sub    $0x9c,%esp
645a37:	a1 d4 89 72 00       	mov    0x7289d4,%eax
645a3c:	33 c5                	xor    %ebp,%eax
645a3e:	89 45 f0             	mov    %eax,-0x10(%ebp)
645a41:	56                   	push   %esi
645a42:	57                   	push   %edi
645a43:	50                   	push   %eax
645a44:	8d 45 f4             	lea    -0xc(%ebp),%eax
645a47:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
645a4d:	8b f1                	mov    %ecx,%esi
645a4f:	c7 45 84 0f 00 00 00 	movl   $0xf,-0x7c(%ebp)
645a56:	c7 45 80 00 00 00 00 	movl   $0x0,-0x80(%ebp)
645a5d:	c6 85 70 ff ff ff 00 	movb   $0x0,-0x90(%ebp)
645a64:	c7 45 9c 0f 00 00 00 	movl   $0xf,-0x64(%ebp)
645a6b:	c7 45 98 00 00 00 00 	movl   $0x0,-0x68(%ebp)
645a72:	c6 45 88 00          	movb   $0x0,-0x78(%ebp)
645a76:	c7 45 b4 0f 00 00 00 	movl   $0xf,-0x4c(%ebp)
645a7d:	c7 45 b0 00 00 00 00 	movl   $0x0,-0x50(%ebp)
645a84:	c6 45 a0 00          	movb   $0x0,-0x60(%ebp)
645a88:	c7 45 cc 0f 00 00 00 	movl   $0xf,-0x34(%ebp)
645a8f:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
645a96:	c6 45 b8 00          	movb   $0x0,-0x48(%ebp)
645a9a:	8b 46 68             	mov    0x68(%esi),%eax
645a9d:	ff 76 14             	push   0x14(%esi)
645aa0:	89 85 58 ff ff ff    	mov    %eax,-0xa8(%ebp)
645aa6:	8b 46 6c             	mov    0x6c(%esi),%eax
645aa9:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
645aaf:	8b 86 98 00 00 00    	mov    0x98(%esi),%eax
645ab5:	89 85 60 ff ff ff    	mov    %eax,-0xa0(%ebp)
645abb:	8b 86 9c 00 00 00    	mov    0x9c(%esi),%eax
645ac1:	89 85 64 ff ff ff    	mov    %eax,-0x9c(%ebp)
645ac7:	8b 86 90 00 00 00    	mov    0x90(%esi),%eax
645acd:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
645ad3:	8b 86 94 00 00 00    	mov    0x94(%esi),%eax
645ad9:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
645adf:	8d 45 d8             	lea    -0x28(%ebp),%eax
645ae2:	50                   	push   %eax
645ae3:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
645aea:	e8 91 fc ff ff       	call   0x645780
645aef:	83 c4 08             	add    $0x8,%esp
645af2:	8b f8                	mov    %eax,%edi
645af4:	8d 85 70 ff ff ff    	lea    -0x90(%ebp),%eax
645afa:	3b c7                	cmp    %edi,%eax
645afc:	74 3c                	je     0x645b3a
645afe:	8b 45 84             	mov    -0x7c(%ebp),%eax
645b01:	83 f8 10             	cmp    $0x10,%eax
645b04:	72 13                	jb     0x645b19
645b06:	40                   	inc    %eax
645b07:	8d 8d 70 ff ff ff    	lea    -0x90(%ebp),%ecx
645b0d:	50                   	push   %eax
645b0e:	ff b5 70 ff ff ff    	push   -0x90(%ebp)
645b14:	e8 17 33 df ff       	call   0x438e30
645b19:	57                   	push   %edi
645b1a:	8d 8d 70 ff ff ff    	lea    -0x90(%ebp),%ecx
645b20:	c7 45 84 0f 00 00 00 	movl   $0xf,-0x7c(%ebp)
645b27:	c7 45 80 00 00 00 00 	movl   $0x0,-0x80(%ebp)
645b2e:	c6 85 70 ff ff ff 00 	movb   $0x0,-0x90(%ebp)
645b35:	e8 06 98 df ff       	call   0x43f340
645b3a:	8b 45 ec             	mov    -0x14(%ebp),%eax
645b3d:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
645b41:	83 f8 10             	cmp    $0x10,%eax
645b44:	72 0d                	jb     0x645b53
645b46:	40                   	inc    %eax
645b47:	8d 4d d8             	lea    -0x28(%ebp),%ecx
645b4a:	50                   	push   %eax
645b4b:	ff 75 d8             	push   -0x28(%ebp)
645b4e:	e8 dd 32 df ff       	call   0x438e30
645b53:	ff 76 18             	push   0x18(%esi)
645b56:	8d 45 d8             	lea    -0x28(%ebp),%eax
645b59:	50                   	push   %eax
645b5a:	e8 21 fc ff ff       	call   0x645780
645b5f:	83 c4 08             	add    $0x8,%esp
645b62:	8b f8                	mov    %eax,%edi
645b64:	8d 45 88             	lea    -0x78(%ebp),%eax
645b67:	3b c7                	cmp    %edi,%eax
645b69:	74 30                	je     0x645b9b
645b6b:	8b 45 9c             	mov    -0x64(%ebp),%eax
645b6e:	83 f8 10             	cmp    $0x10,%eax
645b71:	72 0d                	jb     0x645b80
645b73:	40                   	inc    %eax
645b74:	8d 4d 88             	lea    -0x78(%ebp),%ecx
645b77:	50                   	push   %eax
645b78:	ff 75 88             	push   -0x78(%ebp)
645b7b:	e8 b0 32 df ff       	call   0x438e30
645b80:	57                   	push   %edi
645b81:	8d 4d 88             	lea    -0x78(%ebp),%ecx
645b84:	c7 45 9c 0f 00 00 00 	movl   $0xf,-0x64(%ebp)
645b8b:	c7 45 98 00 00 00 00 	movl   $0x0,-0x68(%ebp)
645b92:	c6 45 88 00          	movb   $0x0,-0x78(%ebp)
645b96:	e8 a5 97 df ff       	call   0x43f340
645b9b:	8b 45 ec             	mov    -0x14(%ebp),%eax
645b9e:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
645ba2:	83 f8 10             	cmp    $0x10,%eax
645ba5:	72 0d                	jb     0x645bb4
645ba7:	40                   	inc    %eax
645ba8:	8d 4d d8             	lea    -0x28(%ebp),%ecx
645bab:	50                   	push   %eax
645bac:	ff 75 d8             	push   -0x28(%ebp)
645baf:	e8 7c 32 df ff       	call   0x438e30
645bb4:	ff 76 1c             	push   0x1c(%esi)
645bb7:	8d 45 d8             	lea    -0x28(%ebp),%eax
645bba:	50                   	push   %eax
645bbb:	e8 c0 fb ff ff       	call   0x645780
645bc0:	83 c4 08             	add    $0x8,%esp
645bc3:	8b f8                	mov    %eax,%edi
645bc5:	8d 45 a0             	lea    -0x60(%ebp),%eax
645bc8:	3b c7                	cmp    %edi,%eax
645bca:	74 30                	je     0x645bfc
645bcc:	8b 45 b4             	mov    -0x4c(%ebp),%eax
645bcf:	83 f8 10             	cmp    $0x10,%eax
645bd2:	72 0d                	jb     0x645be1
645bd4:	40                   	inc    %eax
645bd5:	8d 4d a0             	lea    -0x60(%ebp),%ecx
645bd8:	50                   	push   %eax
645bd9:	ff 75 a0             	push   -0x60(%ebp)
645bdc:	e8 4f 32 df ff       	call   0x438e30
645be1:	57                   	push   %edi
645be2:	8d 4d a0             	lea    -0x60(%ebp),%ecx
645be5:	c7 45 b4 0f 00 00 00 	movl   $0xf,-0x4c(%ebp)
645bec:	c7 45 b0 00 00 00 00 	movl   $0x0,-0x50(%ebp)
645bf3:	c6 45 a0 00          	movb   $0x0,-0x60(%ebp)
645bf7:	e8 44 97 df ff       	call   0x43f340
645bfc:	8b 45 ec             	mov    -0x14(%ebp),%eax
645bff:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
645c03:	83 f8 10             	cmp    $0x10,%eax
645c06:	72 0d                	jb     0x645c15
645c08:	40                   	inc    %eax
645c09:	8d 4d d8             	lea    -0x28(%ebp),%ecx
645c0c:	50                   	push   %eax
645c0d:	ff 75 d8             	push   -0x28(%ebp)
645c10:	e8 1b 32 df ff       	call   0x438e30
645c15:	8a 46 50             	mov    0x50(%esi),%al
645c18:	8d 4d b8             	lea    -0x48(%ebp),%ecx
645c1b:	88 45 d0             	mov    %al,-0x30(%ebp)
645c1e:	8d 46 38             	lea    0x38(%esi),%eax
645c21:	3b c8                	cmp    %eax,%ecx
645c23:	74 0a                	je     0x645c2f
645c25:	6a ff                	push   $0xffffffff
645c27:	6a 00                	push   $0x0
645c29:	50                   	push   %eax
645c2a:	e8 51 30 df ff       	call   0x438c80
645c2f:	8b 8e b0 00 00 00    	mov    0xb0(%esi),%ecx
645c35:	8d 85 58 ff ff ff    	lea    -0xa8(%ebp),%eax
645c3b:	68 80 00 00 00       	push   $0x80
645c40:	50                   	push   %eax
645c41:	6a 0b                	push   $0xb
645c43:	83 c1 70             	add    $0x70,%ecx
645c46:	e8 e5 b4 ff ff       	call   0x641130
645c4b:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
645c51:	e8 fa f6 ff ff       	call   0x645350
645c56:	8b 4d f4             	mov    -0xc(%ebp),%ecx
645c59:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
645c60:	59                   	pop    %ecx
645c61:	5f                   	pop    %edi
645c62:	5e                   	pop    %esi
645c63:	8b 4d f0             	mov    -0x10(%ebp),%ecx
645c66:	33 cd                	xor    %ebp,%ecx
645c68:	e8 6d b8 f9 ff       	call   0x5e14da
645c6d:	8b e5                	mov    %ebp,%esp
645c6f:	5d                   	pop    %ebp
645c70:	c3                   	ret
645c71:	cc                   	int3
645c72:	cc                   	int3
645c73:	cc                   	int3
645c74:	cc                   	int3
645c75:	cc                   	int3
645c76:	cc                   	int3
645c77:	cc                   	int3
645c78:	cc                   	int3
645c79:	cc                   	int3
645c7a:	cc                   	int3
645c7b:	cc                   	int3
645c7c:	cc                   	int3
645c7d:	cc                   	int3
645c7e:	cc                   	int3
645c7f:	cc                   	int3
645c80:	55                   	push   %ebp
645c81:	8b ec                	mov    %esp,%ebp
645c83:	8b 45 08             	mov    0x8(%ebp),%eax
645c86:	89 01                	mov    %eax,(%ecx)
645c88:	5d                   	pop    %ebp
645c89:	c2 04 00             	ret    $0x4
645c8c:	cc                   	int3
645c8d:	cc                   	int3
645c8e:	cc                   	int3
645c8f:	cc                   	int3
645c90:	55                   	push   %ebp
645c91:	8b ec                	mov    %esp,%ebp
645c93:	8b 55 0c             	mov    0xc(%ebp),%edx
645c96:	56                   	push   %esi
645c97:	66 83 3a 00          	cmpw   $0x0,(%edx)
645c9b:	75 04                	jne    0x645ca1
645c9d:	33 c0                	xor    %eax,%eax
645c9f:	eb 14                	jmp    0x645cb5
645ca1:	8b c2                	mov    %edx,%eax
645ca3:	8d 70 02             	lea    0x2(%eax),%esi
645ca6:	66 8b 08             	mov    (%eax),%cx
645ca9:	83 c0 02             	add    $0x2,%eax
645cac:	66 85 c9             	test   %cx,%cx
645caf:	75 f5                	jne    0x645ca6
645cb1:	2b c6                	sub    %esi,%eax
645cb3:	d1 f8                	sar    $1,%eax
645cb5:	8b 4d 08             	mov    0x8(%ebp),%ecx
645cb8:	83 79 14 08          	cmpl   $0x8,0x14(%ecx)
645cbc:	8d 71 10             	lea    0x10(%ecx),%esi
645cbf:	72 02                	jb     0x645cc3
645cc1:	8b 09                	mov    (%ecx),%ecx
645cc3:	50                   	push   %eax
645cc4:	52                   	push   %edx
645cc5:	ff 36                	push   (%esi)
645cc7:	51                   	push   %ecx
645cc8:	e8 93 c9 df ff       	call   0x442660
645ccd:	83 c4 10             	add    $0x10,%esp
645cd0:	f7 d8                	neg    %eax
645cd2:	1b c0                	sbb    %eax,%eax
645cd4:	f7 d8                	neg    %eax
645cd6:	5e                   	pop    %esi
645cd7:	5d                   	pop    %ebp
645cd8:	c3                   	ret
645cd9:	cc                   	int3
645cda:	cc                   	int3
645cdb:	cc                   	int3
645cdc:	cc                   	int3
645cdd:	cc                   	int3
645cde:	cc                   	int3
645cdf:	cc                   	int3
645ce0:	55                   	push   %ebp
645ce1:	8b ec                	mov    %esp,%ebp
645ce3:	6a ff                	push   $0xffffffff
645ce5:	68 67 4c 66 00       	push   $0x664c67
645cea:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
645cf0:	50                   	push   %eax
645cf1:	51                   	push   %ecx
645cf2:	56                   	push   %esi
645cf3:	a1 d4 89 72 00       	mov    0x7289d4,%eax
645cf8:	33 c5                	xor    %ebp,%eax
645cfa:	50                   	push   %eax
645cfb:	8d 45 f4             	lea    -0xc(%ebp),%eax
645cfe:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
645d04:	8b f1                	mov    %ecx,%esi
645d06:	89 75 f0             	mov    %esi,-0x10(%ebp)
645d09:	e8 a2 37 df ff       	call   0x4394b0
645d0e:	8b 45 08             	mov    0x8(%ebp),%eax
645d11:	89 46 1c             	mov    %eax,0x1c(%esi)
645d14:	8b 45 0c             	mov    0xc(%ebp),%eax
645d17:	89 46 24             	mov    %eax,0x24(%esi)
645d1a:	8d 46 44             	lea    0x44(%esi),%eax
645d1d:	c6 46 20 00          	movb   $0x0,0x20(%esi)
645d21:	c6 46 28 00          	movb   $0x0,0x28(%esi)
645d25:	c7 40 14 07 00 00 00 	movl   $0x7,0x14(%eax)
645d2c:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
645d33:	83 78 14 08          	cmpl   $0x8,0x14(%eax)
645d37:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
645d3e:	72 02                	jb     0x645d42
645d40:	8b 00                	mov    (%eax),%eax
645d42:	33 c9                	xor    %ecx,%ecx
645d44:	66 89 08             	mov    %cx,(%eax)
645d47:	89 4e 5c             	mov    %ecx,0x5c(%esi)
645d4a:	89 4e 60             	mov    %ecx,0x60(%esi)
645d4d:	8d 46 64             	lea    0x64(%esi),%eax
645d50:	c7 40 14 07 00 00 00 	movl   $0x7,0x14(%eax)
645d57:	89 48 10             	mov    %ecx,0x10(%eax)
645d5a:	83 78 14 08          	cmpl   $0x8,0x14(%eax)
645d5e:	72 02                	jb     0x645d62
645d60:	8b 00                	mov    (%eax),%eax
645d62:	33 c9                	xor    %ecx,%ecx
645d64:	66 89 08             	mov    %cx,(%eax)
645d67:	8d 46 7c             	lea    0x7c(%esi),%eax
645d6a:	c7 40 14 07 00 00 00 	movl   $0x7,0x14(%eax)
645d71:	89 48 10             	mov    %ecx,0x10(%eax)
645d74:	83 78 14 08          	cmpl   $0x8,0x14(%eax)
645d78:	72 02                	jb     0x645d7c
645d7a:	8b 00                	mov    (%eax),%eax
645d7c:	33 c9                	xor    %ecx,%ecx
645d7e:	66 89 08             	mov    %cx,(%eax)
645d81:	8d 86 94 00 00 00    	lea    0x94(%esi),%eax
645d87:	c7 40 14 07 00 00 00 	movl   $0x7,0x14(%eax)
645d8e:	89 48 10             	mov    %ecx,0x10(%eax)
645d91:	83 78 14 08          	cmpl   $0x8,0x14(%eax)
645d95:	72 02                	jb     0x645d99
645d97:	8b 00                	mov    (%eax),%eax
645d99:	33 c9                	xor    %ecx,%ecx
645d9b:	66 89 08             	mov    %cx,(%eax)
645d9e:	89 8e ac 00 00 00    	mov    %ecx,0xac(%esi)
645da4:	89 8e b0 00 00 00    	mov    %ecx,0xb0(%esi)
645daa:	8b ce                	mov    %esi,%ecx
645dac:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
645db0:	e8 fb 59 ff ff       	call   0x63b7b0
645db5:	c7 86 b8 00 00 00 00 	movl   $0x0,0xb8(%esi)
645dbc:	00 00 00
645dbf:	8b c6                	mov    %esi,%eax
645dc1:	c7 86 bc 00 00 00 00 	movl   $0x0,0xbc(%esi)
645dc8:	00 00 00
645dcb:	c7 86 c0 00 00 00 00 	movl   $0x0,0xc0(%esi)
645dd2:	00 00 00
645dd5:	8b 4d f4             	mov    -0xc(%ebp),%ecx
645dd8:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
645ddf:	59                   	pop    %ecx
645de0:	5e                   	pop    %esi
645de1:	8b e5                	mov    %ebp,%esp
645de3:	5d                   	pop    %ebp
645de4:	c2 08 00             	ret    $0x8
645de7:	cc                   	int3
645de8:	cc                   	int3
645de9:	cc                   	int3
645dea:	cc                   	int3
645deb:	cc                   	int3
645dec:	cc                   	int3
645ded:	cc                   	int3
645dee:	cc                   	int3
645def:	cc                   	int3
645df0:	55                   	push   %ebp
645df1:	8b ec                	mov    %esp,%ebp
645df3:	6a ff                	push   $0xffffffff
645df5:	68 f0 bf 64 00       	push   $0x64bff0
645dfa:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
645e00:	50                   	push   %eax
645e01:	56                   	push   %esi
645e02:	57                   	push   %edi
645e03:	a1 d4 89 72 00       	mov    0x7289d4,%eax
645e08:	33 c5                	xor    %ebp,%eax
645e0a:	50                   	push   %eax
645e0b:	8d 45 f4             	lea    -0xc(%ebp),%eax
645e0e:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
645e14:	8b f1                	mov    %ecx,%esi
645e16:	e8 65 59 ff ff       	call   0x63b780
645e1b:	8b 86 ac 00 00 00    	mov    0xac(%esi),%eax