4c58db:	8b 7d f8             	mov    -0x8(%ebp),%edi
4c58de:	c7 47 74 00 00 00 00 	movl   $0x0,0x74(%edi)
4c58e5:	8d 8f 80 00 00 00    	lea    0x80(%edi),%ecx
4c58eb:	e8 80 79 f9 ff       	call   0x45d270
4c58f0:	8b 4f 08             	mov    0x8(%edi),%ecx
4c58f3:	f6 c1 03             	test   $0x3,%cl
4c58f6:	74 30                	je     0x4c5928
4c58f8:	f6 c1 01             	test   $0x1,%cl
4c58fb:	74 1b                	je     0x4c5918
4c58fd:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
4c5903:	83 e0 fe             	and    $0xfffffffe,%eax
4c5906:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
4c590d:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
4c5911:	72 02                	jb     0x4c5915
4c5913:	8b 00                	mov    (%eax),%eax
4c5915:	c6 00 00             	movb   $0x0,(%eax)
4c5918:	f6 c1 02             	test   $0x2,%cl
4c591b:	74 0b                	je     0x4c5928
4c591d:	8b 8f 94 00 00 00    	mov    0x94(%edi),%ecx
4c5923:	e8 78 85 ff ff       	call   0x4bdea0
4c5928:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
4c592f:	8d 4f 04             	lea    0x4(%edi),%ecx
4c5932:	f6 01 01             	testb  $0x1,(%ecx)
4c5935:	5f                   	pop    %edi
4c5936:	5e                   	pop    %esi
4c5937:	5b                   	pop    %ebx
4c5938:	74 05                	je     0x4c593f
4c593a:	e8 71 ad f8 ff       	call   0x4506b0
4c593f:	8b e5                	mov    %ebp,%esp
4c5941:	5d                   	pop    %ebp
4c5942:	c3                   	ret
4c5943:	cc                   	int3
4c5944:	cc                   	int3
4c5945:	cc                   	int3
4c5946:	cc                   	int3
4c5947:	cc                   	int3
4c5948:	cc                   	int3
4c5949:	cc                   	int3
4c594a:	cc                   	int3
4c594b:	cc                   	int3
4c594c:	cc                   	int3
4c594d:	cc                   	int3
4c594e:	cc                   	int3
4c594f:	cc                   	int3
4c5950:	53                   	push   %ebx
4c5951:	56                   	push   %esi
4c5952:	57                   	push   %edi
4c5953:	8b f9                	mov    %ecx,%edi
4c5955:	8d 47 10             	lea    0x10(%edi),%eax
4c5958:	50                   	push   %eax
4c5959:	e8 82 12 00 00       	call   0x4c6be0
4c595e:	83 c4 04             	add    $0x4,%esp
4c5961:	84 c0                	test   %al,%al
4c5963:	0f 84 ed 00 00 00    	je     0x4c5a56
4c5969:	8d 47 20             	lea    0x20(%edi),%eax
4c596c:	50                   	push   %eax
4c596d:	e8 6e 10 00 00       	call   0x4c69e0
4c5972:	83 c4 04             	add    $0x4,%esp
4c5975:	84 c0                	test   %al,%al
4c5977:	0f 84 d9 00 00 00    	je     0x4c5a56
4c597d:	8d 47 30             	lea    0x30(%edi),%eax
4c5980:	50                   	push   %eax
4c5981:	e8 aa 11 00 00       	call   0x4c6b30
4c5986:	83 c4 04             	add    $0x4,%esp
4c5989:	84 c0                	test   %al,%al
4c598b:	0f 84 c5 00 00 00    	je     0x4c5a56
4c5991:	8b 77 44             	mov    0x44(%edi),%esi
4c5994:	83 ee 01             	sub    $0x1,%esi
4c5997:	78 40                	js     0x4c59d9
4c5999:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
4c59a0:	8b 47 4c             	mov    0x4c(%edi),%eax
4c59a3:	8b 44 b0 04          	mov    0x4(%eax,%esi,4),%eax
4c59a7:	f6 40 08 01          	testb  $0x1,0x8(%eax)
4c59ab:	74 27                	je     0x4c59d4
4c59ad:	8b 58 10             	mov    0x10(%eax),%ebx
4c59b0:	8d 4b 08             	lea    0x8(%ebx),%ecx
4c59b3:	e8 58 49 fe ff       	call   0x4aa310
4c59b8:	84 c0                	test   %al,%al
4c59ba:	0f 84 96 00 00 00    	je     0x4c5a56
4c59c0:	8d 43 14             	lea    0x14(%ebx),%eax
4c59c3:	50                   	push   %eax
4c59c4:	e8 c7 13 00 00       	call   0x4c6d90
4c59c9:	83 c4 04             	add    $0x4,%esp
4c59cc:	84 c0                	test   %al,%al
4c59ce:	0f 84 82 00 00 00    	je     0x4c5a56
4c59d4:	83 ee 01             	sub    $0x1,%esi
4c59d7:	79 c7                	jns    0x4c59a0
4c59d9:	8d 47 50             	lea    0x50(%edi),%eax
4c59dc:	50                   	push   %eax
4c59dd:	e8 fe 11 00 00       	call   0x4c6be0
4c59e2:	83 c4 04             	add    $0x4,%esp
4c59e5:	84 c0                	test   %al,%al
4c59e7:	74 6d                	je     0x4c5a56
4c59e9:	8b 77 64             	mov    0x64(%edi),%esi
4c59ec:	83 ee 01             	sub    $0x1,%esi
4c59ef:	78 34                	js     0x4c5a25
4c59f1:	8b 47 6c             	mov    0x6c(%edi),%eax
4c59f4:	8b 4c b0 04          	mov    0x4(%eax,%esi,4),%ecx
4c59f8:	8b 41 08             	mov    0x8(%ecx),%eax
4c59fb:	d1 e8                	shr    $1,%eax
4c59fd:	a8 01                	test   $0x1,%al
4c59ff:	74 1f                	je     0x4c5a20
4c5a01:	8b 59 14             	mov    0x14(%ecx),%ebx
4c5a04:	8d 4b 08             	lea    0x8(%ebx),%ecx
4c5a07:	e8 04 49 fe ff       	call   0x4aa310
4c5a0c:	84 c0                	test   %al,%al
4c5a0e:	74 46                	je     0x4c5a56
4c5a10:	8d 43 14             	lea    0x14(%ebx),%eax
4c5a13:	50                   	push   %eax
4c5a14:	e8 77 13 00 00       	call   0x4c6d90
4c5a19:	83 c4 04             	add    $0x4,%esp
4c5a1c:	84 c0                	test   %al,%al
4c5a1e:	74 36                	je     0x4c5a56
4c5a20:	83 ee 01             	sub    $0x1,%esi
4c5a23:	79 cc                	jns    0x4c59f1
4c5a25:	8b 47 08             	mov    0x8(%edi),%eax
4c5a28:	d1 e8                	shr    $1,%eax
4c5a2a:	a8 01                	test   $0x1,%al
4c5a2c:	74 22                	je     0x4c5a50
4c5a2e:	8b b7 94 00 00 00    	mov    0x94(%edi),%esi
4c5a34:	8d 4e 08             	lea    0x8(%esi),%ecx
4c5a37:	e8 d4 48 fe ff       	call   0x4aa310
4c5a3c:	84 c0                	test   %al,%al
4c5a3e:	74 16                	je     0x4c5a56
4c5a40:	8d 46 1c             	lea    0x1c(%esi),%eax
4c5a43:	50                   	push   %eax
4c5a44:	e8 47 13 00 00       	call   0x4c6d90
4c5a49:	83 c4 04             	add    $0x4,%esp
4c5a4c:	84 c0                	test   %al,%al
4c5a4e:	74 06                	je     0x4c5a56
4c5a50:	5f                   	pop    %edi
4c5a51:	5e                   	pop    %esi
4c5a52:	b0 01                	mov    $0x1,%al
4c5a54:	5b                   	pop    %ebx
4c5a55:	c3                   	ret
4c5a56:	5f                   	pop    %edi
4c5a57:	5e                   	pop    %esi
4c5a58:	32 c0                	xor    %al,%al
4c5a5a:	5b                   	pop    %ebx
4c5a5b:	c3                   	ret
4c5a5c:	cc                   	int3
4c5a5d:	cc                   	int3
4c5a5e:	cc                   	int3
4c5a5f:	cc                   	int3
4c5a60:	55                   	push   %ebp
4c5a61:	8b ec                	mov    %esp,%ebp
4c5a63:	83 ec 2c             	sub    $0x2c,%esp
4c5a66:	8b c1                	mov    %ecx,%eax
4c5a68:	53                   	push   %ebx
4c5a69:	56                   	push   %esi
4c5a6a:	89 45 fc             	mov    %eax,-0x4(%ebp)
4c5a6d:	8b 48 1c             	mov    0x1c(%eax),%ecx
4c5a70:	8b 58 14             	mov    0x14(%eax),%ebx
4c5a73:	85 c9                	test   %ecx,%ecx
4c5a75:	74 09                	je     0x4c5a80
4c5a77:	83 c1 04             	add    $0x4,%ecx
4c5a7a:	8b d1                	mov    %ecx,%edx
4c5a7c:	8b f1                	mov    %ecx,%esi
4c5a7e:	eb 06                	jmp    0x4c5a86
4c5a80:	33 c9                	xor    %ecx,%ecx
4c5a82:	33 d2                	xor    %edx,%edx
4c5a84:	33 f6                	xor    %esi,%esi
4c5a86:	57                   	push   %edi
4c5a87:	8d 3c 99             	lea    (%ecx,%ebx,4),%edi
4c5a8a:	3b d7                	cmp    %edi,%edx
4c5a8c:	74 2b                	je     0x4c5ab9
4c5a8e:	66 90                	xchg   %ax,%ax
4c5a90:	8b 0e                	mov    (%esi),%ecx
4c5a92:	e8 39 32 ff ff       	call   0x4b8cd0
4c5a97:	8b c8                	mov    %eax,%ecx
4c5a99:	83 c6 04             	add    $0x4,%esi
4c5a9c:	83 c8 01             	or     $0x1,%eax
4c5a9f:	0f bd c0             	bsr    %eax,%eax
4c5aa2:	89 45 f4             	mov    %eax,-0xc(%ebp)
4c5aa5:	8d 04 c0             	lea    (%eax,%eax,8),%eax
4c5aa8:	83 c0 49             	add    $0x49,%eax
4c5aab:	c1 e8 06             	shr    $0x6,%eax
4c5aae:	03 c1                	add    %ecx,%eax
4c5ab0:	03 d8                	add    %eax,%ebx
4c5ab2:	3b f7                	cmp    %edi,%esi
4c5ab4:	75 da                	jne    0x4c5a90
4c5ab6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c5ab9:	8b 50 24             	mov    0x24(%eax),%edx
4c5abc:	03 da                	add    %edx,%ebx
4c5abe:	8b 48 2c             	mov    0x2c(%eax),%ecx
4c5ac1:	85 c9                	test   %ecx,%ecx
4c5ac3:	74 07                	je     0x4c5acc
4c5ac5:	83 c1 04             	add    $0x4,%ecx
4c5ac8:	8b f1                	mov    %ecx,%esi
4c5aca:	eb 04                	jmp    0x4c5ad0
4c5acc:	33 c9                	xor    %ecx,%ecx
4c5ace:	33 f6                	xor    %esi,%esi
4c5ad0:	8d 3c 91             	lea    (%ecx,%edx,4),%edi
4c5ad3:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4c5ad6:	3b cf                	cmp    %edi,%ecx
4c5ad8:	74 1c                	je     0x4c5af6
4c5ada:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
4c5ae0:	ff 36                	push   (%esi)
4c5ae2:	e8 a9 2e 00 00       	call   0x4c8990
4c5ae7:	83 c6 04             	add    $0x4,%esi
4c5aea:	83 c4 04             	add    $0x4,%esp
4c5aed:	03 d8                	add    %eax,%ebx
4c5aef:	3b f7                	cmp    %edi,%esi
4c5af1:	75 ed                	jne    0x4c5ae0
4c5af3:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c5af6:	8b 50 34             	mov    0x34(%eax),%edx
4c5af9:	03 da                	add    %edx,%ebx
4c5afb:	8b 48 3c             	mov    0x3c(%eax),%ecx
4c5afe:	85 c9                	test   %ecx,%ecx
4c5b00:	74 07                	je     0x4c5b09
4c5b02:	83 c1 04             	add    $0x4,%ecx
4c5b05:	8b f1                	mov    %ecx,%esi
4c5b07:	eb 04                	jmp    0x4c5b0d
4c5b09:	33 c9                	xor    %ecx,%ecx
4c5b0b:	33 f6                	xor    %esi,%esi
4c5b0d:	8d 3c 91             	lea    (%ecx,%edx,4),%edi
4c5b10:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4c5b13:	3b cf                	cmp    %edi,%ecx
4c5b15:	74 29                	je     0x4c5b40
4c5b17:	8b 0e                	mov    (%esi),%ecx
4c5b19:	e8 a2 4a ff ff       	call   0x4ba5c0
4c5b1e:	8b c8                	mov    %eax,%ecx
4c5b20:	83 c6 04             	add    $0x4,%esi
4c5b23:	83 c8 01             	or     $0x1,%eax
4c5b26:	0f bd c0             	bsr    %eax,%eax
4c5b29:	89 45 f0             	mov    %eax,-0x10(%ebp)
4c5b2c:	8d 04 c0             	lea    (%eax,%eax,8),%eax
4c5b2f:	83 c0 49             	add    $0x49,%eax
4c5b32:	c1 e8 06             	shr    $0x6,%eax
4c5b35:	03 c1                	add    %ecx,%eax
4c5b37:	03 d8                	add    %eax,%ebx
4c5b39:	3b f7                	cmp    %edi,%esi
4c5b3b:	75 da                	jne    0x4c5b17
4c5b3d:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c5b40:	8b 50 44             	mov    0x44(%eax),%edx
4c5b43:	03 da                	add    %edx,%ebx
4c5b45:	8b 48 4c             	mov    0x4c(%eax),%ecx
4c5b48:	85 c9                	test   %ecx,%ecx
4c5b4a:	74 07                	je     0x4c5b53
4c5b4c:	83 c1 04             	add    $0x4,%ecx
4c5b4f:	8b f1                	mov    %ecx,%esi
4c5b51:	eb 04                	jmp    0x4c5b57
4c5b53:	33 c9                	xor    %ecx,%ecx
4c5b55:	33 f6                	xor    %esi,%esi
4c5b57:	8d 3c 91             	lea    (%ecx,%edx,4),%edi
4c5b5a:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4c5b5d:	3b cf                	cmp    %edi,%ecx
4c5b5f:	74 29                	je     0x4c5b8a
4c5b61:	8b 0e                	mov    (%esi),%ecx
4c5b63:	e8 88 f2 ff ff       	call   0x4c4df0
4c5b68:	8b c8                	mov    %eax,%ecx
4c5b6a:	83 c6 04             	add    $0x4,%esi
4c5b6d:	83 c8 01             	or     $0x1,%eax
4c5b70:	0f bd c0             	bsr    %eax,%eax
4c5b73:	89 45 ec             	mov    %eax,-0x14(%ebp)
4c5b76:	8d 04 c0             	lea    (%eax,%eax,8),%eax
4c5b79:	83 c0 49             	add    $0x49,%eax
4c5b7c:	c1 e8 06             	shr    $0x6,%eax
4c5b7f:	03 c1                	add    %ecx,%eax
4c5b81:	03 d8                	add    %eax,%ebx
4c5b83:	3b f7                	cmp    %edi,%esi
4c5b85:	75 da                	jne    0x4c5b61
4c5b87:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c5b8a:	8b 50 54             	mov    0x54(%eax),%edx
4c5b8d:	03 da                	add    %edx,%ebx
4c5b8f:	8b 48 5c             	mov    0x5c(%eax),%ecx
4c5b92:	85 c9                	test   %ecx,%ecx
4c5b94:	74 07                	je     0x4c5b9d
4c5b96:	83 c1 04             	add    $0x4,%ecx
4c5b99:	8b f1                	mov    %ecx,%esi
4c5b9b:	eb 04                	jmp    0x4c5ba1
4c5b9d:	33 c9                	xor    %ecx,%ecx
4c5b9f:	33 f6                	xor    %esi,%esi
4c5ba1:	8d 3c 91             	lea    (%ecx,%edx,4),%edi
4c5ba4:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4c5ba7:	3b cf                	cmp    %edi,%ecx
4c5ba9:	74 2e                	je     0x4c5bd9
4c5bab:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
4c5bb0:	8b 0e                	mov    (%esi),%ecx
4c5bb2:	e8 19 31 ff ff       	call   0x4b8cd0
4c5bb7:	8b c8                	mov    %eax,%ecx
4c5bb9:	83 c6 04             	add    $0x4,%esi
4c5bbc:	83 c8 01             	or     $0x1,%eax
4c5bbf:	0f bd c0             	bsr    %eax,%eax
4c5bc2:	89 45 e8             	mov    %eax,-0x18(%ebp)
4c5bc5:	8d 04 c0             	lea    (%eax,%eax,8),%eax
4c5bc8:	83 c0 49             	add    $0x49,%eax
4c5bcb:	c1 e8 06             	shr    $0x6,%eax
4c5bce:	03 c1                	add    %ecx,%eax
4c5bd0:	03 d8                	add    %eax,%ebx
4c5bd2:	3b f7                	cmp    %edi,%esi
4c5bd4:	75 da                	jne    0x4c5bb0
4c5bd6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c5bd9:	8b 50 64             	mov    0x64(%eax),%edx
4c5bdc:	03 da                	add    %edx,%ebx
4c5bde:	8b 48 6c             	mov    0x6c(%eax),%ecx
4c5be1:	85 c9                	test   %ecx,%ecx
4c5be3:	74 07                	je     0x4c5bec
4c5be5:	83 c1 04             	add    $0x4,%ecx
4c5be8:	8b f1                	mov    %ecx,%esi
4c5bea:	eb 04                	jmp    0x4c5bf0
4c5bec:	33 c9                	xor    %ecx,%ecx
4c5bee:	33 f6                	xor    %esi,%esi
4c5bf0:	8d 3c 91             	lea    (%ecx,%edx,4),%edi
4c5bf3:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4c5bf6:	3b cf                	cmp    %edi,%ecx
4c5bf8:	74 2f                	je     0x4c5c29
4c5bfa:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
4c5c00:	8b 0e                	mov    (%esi),%ecx
4c5c02:	e8 d9 3c ff ff       	call   0x4b98e0
4c5c07:	8b c8                	mov    %eax,%ecx
4c5c09:	83 c6 04             	add    $0x4,%esi
4c5c0c:	83 c8 01             	or     $0x1,%eax
4c5c0f:	0f bd c0             	bsr    %eax,%eax
4c5c12:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4c5c15:	8d 04 c0             	lea    (%eax,%eax,8),%eax
4c5c18:	83 c0 49             	add    $0x49,%eax
4c5c1b:	c1 e8 06             	shr    $0x6,%eax
4c5c1e:	03 c1                	add    %ecx,%eax
4c5c20:	03 d8                	add    %eax,%ebx
4c5c22:	3b f7                	cmp    %edi,%esi
4c5c24:	75 da                	jne    0x4c5c00
4c5c26:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c5c29:	8b 50 74             	mov    0x74(%eax),%edx
4c5c2c:	03 da                	add    %edx,%ebx
4c5c2e:	8b 48 7c             	mov    0x7c(%eax),%ecx
4c5c31:	85 c9                	test   %ecx,%ecx
4c5c33:	74 07                	je     0x4c5c3c
4c5c35:	83 c1 04             	add    $0x4,%ecx
4c5c38:	8b f1                	mov    %ecx,%esi
4c5c3a:	eb 04                	jmp    0x4c5c40
4c5c3c:	33 c9                	xor    %ecx,%ecx
4c5c3e:	33 f6                	xor    %esi,%esi
4c5c40:	8d 3c 91             	lea    (%ecx,%edx,4),%edi
4c5c43:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4c5c46:	3b cf                	cmp    %edi,%ecx
4c5c48:	0f 84 a1 00 00 00    	je     0x4c5cef
4c5c4e:	66 90                	xchg   %ax,%ax
4c5c50:	8b 16                	mov    (%esi),%edx
4c5c52:	33 c9                	xor    %ecx,%ecx
4c5c54:	8b 42 08             	mov    0x8(%edx),%eax
4c5c57:	a8 03                	test   $0x3,%al
4c5c59:	74 52                	je     0x4c5cad
4c5c5b:	a8 01                	test   $0x1,%al
4c5c5d:	74 27                	je     0x4c5c86
4c5c5f:	8b 4a 10             	mov    0x10(%edx),%ecx
4c5c62:	85 c9                	test   %ecx,%ecx
4c5c64:	79 07                	jns    0x4c5c6d
4c5c66:	b9 0a 00 00 00       	mov    $0xa,%ecx
4c5c6b:	eb 18                	jmp    0x4c5c85