600890:	8b 4f 0c             	mov    0xc(%edi),%ecx
600893:	8d 43 04             	lea    0x4(%ebx),%eax
600896:	89 0b                	mov    %ecx,(%ebx)
600898:	8b 0e                	mov    (%esi),%ecx
60089a:	8b 09                	mov    (%ecx),%ecx
60089c:	03 c9                	add    %ecx,%ecx
60089e:	89 5c cf 24          	mov    %ebx,0x24(%edi,%ecx,8)
6008a2:	8b 0e                	mov    (%esi),%ecx
6008a4:	8b 09                	mov    (%ecx),%ecx
6008a6:	03 c9                	add    %ecx,%ecx
6008a8:	89 44 cf 1c          	mov    %eax,0x1c(%edi,%ecx,8)
6008ac:	e9 11 ff ff ff       	jmp    0x6007c2
6008b1:	33 db                	xor    %ebx,%ebx
6008b3:	53                   	push   %ebx
6008b4:	53                   	push   %ebx
6008b5:	53                   	push   %ebx
6008b6:	53                   	push   %ebx
6008b7:	53                   	push   %ebx
6008b8:	e8 8f c6 fe ff       	call   0x5ecf4c
6008bd:	cc                   	int3
6008be:	8b ff                	mov    %edi,%edi
6008c0:	55                   	push   %ebp
6008c1:	8b ec                	mov    %esp,%ebp
6008c3:	51                   	push   %ecx
6008c4:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
6008c8:	75 0e                	jne    0x6008d8
6008ca:	6a 00                	push   $0x0
6008cc:	ff 75 08             	push   0x8(%ebp)
6008cf:	e8 7b 2a 00 00       	call   0x60334f
6008d4:	59                   	pop    %ecx
6008d5:	59                   	pop    %ecx
6008d6:	c9                   	leave
6008d7:	c3                   	ret
6008d8:	56                   	push   %esi
6008d9:	57                   	push   %edi
6008da:	68 ff ff ff 7f       	push   $0x7fffffff
6008df:	ff 75 0c             	push   0xc(%ebp)
6008e2:	33 ff                	xor    %edi,%edi
6008e4:	8d 45 fc             	lea    -0x4(%ebp),%eax
6008e7:	57                   	push   %edi
6008e8:	57                   	push   %edi
6008e9:	50                   	push   %eax
6008ea:	e8 97 61 ff ff       	call   0x5f6a86
6008ef:	83 c4 14             	add    $0x14,%esp
6008f2:	85 c0                	test   %eax,%eax
6008f4:	74 0a                	je     0x600900
6008f6:	83 f8 16             	cmp    $0x16,%eax
6008f9:	74 53                	je     0x60094e
6008fb:	83 f8 22             	cmp    $0x22,%eax
6008fe:	74 4e                	je     0x60094e
600900:	6a 02                	push   $0x2
600902:	ff 75 fc             	push   -0x4(%ebp)
600905:	e8 d2 51 00 00       	call   0x605adc
60090a:	8b f0                	mov    %eax,%esi
60090c:	59                   	pop    %ecx
60090d:	59                   	pop    %ecx
60090e:	85 f6                	test   %esi,%esi
600910:	74 2f                	je     0x600941
600912:	6a ff                	push   $0xffffffff
600914:	ff 75 0c             	push   0xc(%ebp)
600917:	ff 75 fc             	push   -0x4(%ebp)
60091a:	56                   	push   %esi
60091b:	57                   	push   %edi
60091c:	e8 65 61 ff ff       	call   0x5f6a86
600921:	83 c4 14             	add    $0x14,%esp
600924:	85 c0                	test   %eax,%eax
600926:	74 0c                	je     0x600934
600928:	83 f8 16             	cmp    $0x16,%eax
60092b:	74 21                	je     0x60094e
60092d:	83 f8 22             	cmp    $0x22,%eax
600930:	74 1c                	je     0x60094e
600932:	eb 0d                	jmp    0x600941
600934:	56                   	push   %esi
600935:	ff 75 08             	push   0x8(%ebp)
600938:	e8 12 2a 00 00       	call   0x60334f
60093d:	59                   	pop    %ecx
60093e:	59                   	pop    %ecx
60093f:	8b f8                	mov    %eax,%edi
600941:	56                   	push   %esi
600942:	e8 e1 3e 00 00       	call   0x604828
600947:	59                   	pop    %ecx
600948:	8b c7                	mov    %edi,%eax
60094a:	5f                   	pop    %edi
60094b:	5e                   	pop    %esi
60094c:	c9                   	leave
60094d:	c3                   	ret
60094e:	57                   	push   %edi
60094f:	57                   	push   %edi
600950:	57                   	push   %edi
600951:	57                   	push   %edi
600952:	57                   	push   %edi
600953:	e8 f4 c5 fe ff       	call   0x5ecf4c
600958:	cc                   	int3
600959:	8b ff                	mov    %edi,%edi
60095b:	55                   	push   %ebp
60095c:	8b ec                	mov    %esp,%ebp
60095e:	83 ec 14             	sub    $0x14,%esp
600961:	e8 a3 6f 00 00       	call   0x607909
600966:	8d 45 08             	lea    0x8(%ebp),%eax
600969:	89 45 ec             	mov    %eax,-0x14(%ebp)
60096c:	8d 4d ff             	lea    -0x1(%ebp),%ecx
60096f:	6a 04                	push   $0x4
600971:	8d 45 0c             	lea    0xc(%ebp),%eax
600974:	89 45 f0             	mov    %eax,-0x10(%ebp)
600977:	58                   	pop    %eax
600978:	89 45 f8             	mov    %eax,-0x8(%ebp)
60097b:	89 45 f4             	mov    %eax,-0xc(%ebp)
60097e:	8d 45 f8             	lea    -0x8(%ebp),%eax
600981:	50                   	push   %eax
600982:	8d 45 ec             	lea    -0x14(%ebp),%eax
600985:	50                   	push   %eax
600986:	8d 45 f4             	lea    -0xc(%ebp),%eax
600989:	50                   	push   %eax
60098a:	e8 70 fd ff ff       	call   0x6006ff
60098f:	c9                   	leave
600990:	c3                   	ret
600991:	8b ff                	mov    %edi,%edi
600993:	55                   	push   %ebp
600994:	8b ec                	mov    %esp,%ebp
600996:	51                   	push   %ecx
600997:	e8 9d 3a 00 00       	call   0x604439
60099c:	8b 48 4c             	mov    0x4c(%eax),%ecx
60099f:	89 4d fc             	mov    %ecx,-0x4(%ebp)
6009a2:	8d 4d fc             	lea    -0x4(%ebp),%ecx
6009a5:	51                   	push   %ecx
6009a6:	50                   	push   %eax
6009a7:	e8 22 3e 00 00       	call   0x6047ce
6009ac:	8b 45 fc             	mov    -0x4(%ebp),%eax
6009af:	59                   	pop    %ecx
6009b0:	59                   	pop    %ecx
6009b1:	8b 00                	mov    (%eax),%eax
6009b3:	c9                   	leave
6009b4:	c3                   	ret
6009b5:	8b ff                	mov    %edi,%edi
6009b7:	55                   	push   %ebp
6009b8:	8b ec                	mov    %esp,%ebp
6009ba:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
6009be:	53                   	push   %ebx
6009bf:	57                   	push   %edi
6009c0:	74 3f                	je     0x600a01
6009c2:	8b 4d 08             	mov    0x8(%ebp),%ecx
6009c5:	33 ff                	xor    %edi,%edi
6009c7:	8d 51 02             	lea    0x2(%ecx),%edx
6009ca:	66 8b 01             	mov    (%ecx),%ax
6009cd:	83 c1 02             	add    $0x2,%ecx
6009d0:	66 3b c7             	cmp    %di,%ax
6009d3:	75 f5                	jne    0x6009ca
6009d5:	2b ca                	sub    %edx,%ecx
6009d7:	d1 f9                	sar    $1,%ecx
6009d9:	8d 59 01             	lea    0x1(%ecx),%ebx
6009dc:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
6009df:	50                   	push   %eax
6009e0:	e8 cb dd fe ff       	call   0x5ee7b0
6009e5:	8b f8                	mov    %eax,%edi
6009e7:	59                   	pop    %ecx
6009e8:	85 ff                	test   %edi,%edi
6009ea:	74 15                	je     0x600a01
6009ec:	ff 75 08             	push   0x8(%ebp)
6009ef:	53                   	push   %ebx
6009f0:	57                   	push   %edi
6009f1:	e8 1e 5d ff ff       	call   0x5f6714
6009f6:	83 c4 0c             	add    $0xc,%esp
6009f9:	85 c0                	test   %eax,%eax
6009fb:	75 0a                	jne    0x600a07
6009fd:	8b c7                	mov    %edi,%eax
6009ff:	eb 02                	jmp    0x600a03
600a01:	33 c0                	xor    %eax,%eax
600a03:	5f                   	pop    %edi
600a04:	5b                   	pop    %ebx
600a05:	5d                   	pop    %ebp
600a06:	c3                   	ret
600a07:	33 c0                	xor    %eax,%eax
600a09:	50                   	push   %eax
600a0a:	50                   	push   %eax
600a0b:	50                   	push   %eax
600a0c:	50                   	push   %eax
600a0d:	50                   	push   %eax
600a0e:	e8 39 c5 fe ff       	call   0x5ecf4c
600a13:	cc                   	int3
600a14:	8b ff                	mov    %edi,%edi
600a16:	55                   	push   %ebp
600a17:	8b ec                	mov    %esp,%ebp
600a19:	51                   	push   %ecx
600a1a:	e8 1a 3a 00 00       	call   0x604439
600a1f:	8b 48 4c             	mov    0x4c(%eax),%ecx
600a22:	89 4d fc             	mov    %ecx,-0x4(%ebp)
600a25:	8d 4d fc             	lea    -0x4(%ebp),%ecx
600a28:	51                   	push   %ecx
600a29:	50                   	push   %eax
600a2a:	e8 9f 3d 00 00       	call   0x6047ce
600a2f:	8b 45 fc             	mov    -0x4(%ebp),%eax
600a32:	59                   	pop    %ecx
600a33:	59                   	pop    %ecx
600a34:	8b 40 08             	mov    0x8(%eax),%eax
600a37:	c9                   	leave
600a38:	c3                   	ret
600a39:	8b ff                	mov    %edi,%edi
600a3b:	55                   	push   %ebp
600a3c:	8b ec                	mov    %esp,%ebp
600a3e:	51                   	push   %ecx
600a3f:	e8 f5 39 00 00       	call   0x604439
600a44:	8b 48 4c             	mov    0x4c(%eax),%ecx
600a47:	89 4d fc             	mov    %ecx,-0x4(%ebp)
600a4a:	8d 4d fc             	lea    -0x4(%ebp),%ecx
600a4d:	51                   	push   %ecx
600a4e:	50                   	push   %eax
600a4f:	e8 7a 3d 00 00       	call   0x6047ce
600a54:	8b 45 fc             	mov    -0x4(%ebp),%eax
600a57:	59                   	pop    %ecx
600a58:	59                   	pop    %ecx
600a59:	8b 40 10             	mov    0x10(%eax),%eax
600a5c:	c9                   	leave
600a5d:	c3                   	ret
600a5e:	8b ff                	mov    %edi,%edi
600a60:	55                   	push   %ebp
600a61:	8b ec                	mov    %esp,%ebp
600a63:	51                   	push   %ecx
600a64:	e8 d0 39 00 00       	call   0x604439
600a69:	8b 48 4c             	mov    0x4c(%eax),%ecx
600a6c:	89 4d fc             	mov    %ecx,-0x4(%ebp)
600a6f:	8d 4d fc             	lea    -0x4(%ebp),%ecx
600a72:	51                   	push   %ecx
600a73:	50                   	push   %eax
600a74:	e8 55 3d 00 00       	call   0x6047ce
600a79:	8b 45 fc             	mov    -0x4(%ebp),%eax
600a7c:	59                   	pop    %ecx
600a7d:	59                   	pop    %ecx
600a7e:	05 a0 00 00 00       	add    $0xa0,%eax
600a83:	c9                   	leave
600a84:	c3                   	ret
600a85:	8b ff                	mov    %edi,%edi
600a87:	55                   	push   %ebp
600a88:	8b ec                	mov    %esp,%ebp
600a8a:	51                   	push   %ecx
600a8b:	e8 a9 39 00 00       	call   0x604439
600a90:	8b 48 4c             	mov    0x4c(%eax),%ecx
600a93:	89 4d fc             	mov    %ecx,-0x4(%ebp)
600a96:	8d 4d fc             	lea    -0x4(%ebp),%ecx
600a99:	51                   	push   %ecx
600a9a:	50                   	push   %eax
600a9b:	e8 2e 3d 00 00       	call   0x6047ce
600aa0:	8b 45 fc             	mov    -0x4(%ebp),%eax
600aa3:	59                   	pop    %ecx
600aa4:	59                   	pop    %ecx
600aa5:	8b 40 04             	mov    0x4(%eax),%eax
600aa8:	c9                   	leave
600aa9:	c3                   	ret
600aaa:	cc                   	int3
600aab:	cc                   	int3
600aac:	cc                   	int3
600aad:	cc                   	int3
600aae:	cc                   	int3
600aaf:	cc                   	int3
600ab0:	8b ff                	mov    %edi,%edi
600ab2:	55                   	push   %ebp
600ab3:	8b ec                	mov    %esp,%ebp
600ab5:	83 ec 58             	sub    $0x58,%esp
600ab8:	a1 d4 89 72 00       	mov    0x7289d4,%eax
600abd:	33 c5                	xor    %ebp,%eax
600abf:	89 45 fc             	mov    %eax,-0x4(%ebp)
600ac2:	53                   	push   %ebx
600ac3:	56                   	push   %esi
600ac4:	8b 75 08             	mov    0x8(%ebp),%esi
600ac7:	33 db                	xor    %ebx,%ebx
600ac9:	57                   	push   %edi
600aca:	89 75 cc             	mov    %esi,-0x34(%ebp)
600acd:	8b fb                	mov    %ebx,%edi
600acf:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
600ad2:	8b 8e a8 00 00 00    	mov    0xa8(%esi),%ecx
600ad8:	89 5d e0             	mov    %ebx,-0x20(%ebp)
600adb:	89 5d dc             	mov    %ebx,-0x24(%ebp)
600ade:	89 75 a8             	mov    %esi,-0x58(%ebp)
600ae1:	89 5d ac             	mov    %ebx,-0x54(%ebp)
600ae4:	85 c9                	test   %ecx,%ecx
600ae6:	0f 84 d7 03 00 00    	je     0x600ec3
600aec:	8d 46 08             	lea    0x8(%esi),%eax
600aef:	89 5d d0             	mov    %ebx,-0x30(%ebp)
600af2:	39 18                	cmp    %ebx,(%eax)
600af4:	75 1c                	jne    0x600b12
600af6:	50                   	push   %eax
600af7:	68 04 10 00 00       	push   $0x1004
600afc:	51                   	push   %ecx
600afd:	8d 45 a8             	lea    -0x58(%ebp),%eax
600b00:	53                   	push   %ebx
600b01:	50                   	push   %eax
600b02:	e8 08 ac 00 00       	call   0x60b70f
600b07:	83 c4 14             	add    $0x14,%esp
600b0a:	85 c0                	test   %eax,%eax
600b0c:	0f 85 80 03 00 00    	jne    0x600e92
600b12:	6a 04                	push   $0x4
600b14:	6a 01                	push   $0x1
600b16:	e8 c1 4f 00 00       	call   0x605adc
600b1b:	53                   	push   %ebx
600b1c:	89 45 d0             	mov    %eax,-0x30(%ebp)
600b1f:	e8 04 3d 00 00       	call   0x604828
600b24:	6a 02                	push   $0x2
600b26:	bf 80 01 00 00       	mov    $0x180,%edi
600b2b:	57                   	push   %edi
600b2c:	e8 ab 4f 00 00       	call   0x605adc
600b31:	53                   	push   %ebx
600b32:	89 45 e4             	mov    %eax,-0x1c(%ebp)
600b35:	e8 ee 3c 00 00       	call   0x604828
600b3a:	6a 01                	push   $0x1
600b3c:	57                   	push   %edi
600b3d:	e8 9a 4f 00 00       	call   0x605adc
600b42:	8b f8                	mov    %eax,%edi
600b44:	53                   	push   %ebx
600b45:	89 7d d8             	mov    %edi,-0x28(%ebp)
600b48:	e8 db 3c 00 00       	call   0x604828
600b4d:	6a 01                	push   $0x1
600b4f:	68 80 01 00 00       	push   $0x180
600b54:	e8 83 4f 00 00       	call   0x605adc
600b59:	53                   	push   %ebx
600b5a:	89 45 e0             	mov    %eax,-0x20(%ebp)
600b5d:	e8 c6 3c 00 00       	call   0x604828
600b62:	6a 01                	push   $0x1
600b64:	68 01 01 00 00       	push   $0x101
600b69:	e8 6e 4f 00 00       	call   0x605adc
600b6e:	53                   	push   %ebx
600b6f:	89 45 dc             	mov    %eax,-0x24(%ebp)
600b72:	e8 b1 3c 00 00       	call   0x604828
600b77:	83 c4 3c             	add    $0x3c,%esp
600b7a:	39 5d d0             	cmp    %ebx,-0x30(%ebp)
600b7d:	0f 84 0f 03 00 00    	je     0x600e92
600b83:	39 5d e4             	cmp    %ebx,-0x1c(%ebp)
600b86:	0f 84 06 03 00 00    	je     0x600e92
600b8c:	8b 4d dc             	mov    -0x24(%ebp),%ecx
600b8f:	85 c9                	test   %ecx,%ecx
600b91:	0f 84 fb 02 00 00    	je     0x600e92
600b97:	85 ff                	test   %edi,%edi
600b99:	0f 84 f3 02 00 00    	je     0x600e92
600b9f:	39 5d e0             	cmp    %ebx,-0x20(%ebp)
600ba2:	0f 84 ea 02 00 00    	je     0x600e92
600ba8:	8b c3                	mov    %ebx,%eax
600baa:	88 04 08             	mov    %al,(%eax,%ecx,1)
600bad:	40                   	inc    %eax
600bae:	3d 00 01 00 00       	cmp    $0x100,%eax
600bb3:	7c f5                	jl     0x600baa
600bb5:	8d 45 e8             	lea    -0x18(%ebp),%eax
600bb8:	50                   	push   %eax
600bb9:	ff 76 08             	push   0x8(%esi)
600bbc:	ff 15 80 22 68 00    	call   *0x682280
600bc2:	85 c0                	test   %eax,%eax
600bc4:	0f 84 c8 02 00 00    	je     0x600e92
600bca:	8b 45 e8             	mov    -0x18(%ebp),%eax
600bcd:	83 f8 05             	cmp    $0x5,%eax
600bd0:	0f 87 bc 02 00 00    	ja     0x600e92
600bd6:	0f b7 c0             	movzwl %ax,%eax
600bd9:	89 45 c8             	mov    %eax,-0x38(%ebp)
600bdc:	83 f8 01             	cmp    $0x1,%eax