5c58d5:	8b f0                	mov    %eax,%esi
5c58d7:	83 c4 0c             	add    $0xc,%esp
5c58da:	89 75 0c             	mov    %esi,0xc(%ebp)
5c58dd:	85 f6                	test   %esi,%esi
5c58df:	74 36                	je     0x5c5917
5c58e1:	56                   	push   %esi
5c58e2:	e8 c2 19 02 00       	call   0x5e72a9
5c58e7:	8b f0                	mov    %eax,%esi
5c58e9:	33 c9                	xor    %ecx,%ecx
5c58eb:	8b 45 08             	mov    0x8(%ebp),%eax
5c58ee:	f7 d8                	neg    %eax
5c58f0:	13 c9                	adc    %ecx,%ecx
5c58f2:	f7 d9                	neg    %ecx
5c58f4:	51                   	push   %ecx
5c58f5:	50                   	push   %eax
5c58f6:	ff b7 24 59 00 00    	push   0x5924(%edi)
5c58fc:	e8 1f 2a 00 00       	call   0x5c8320
5c5901:	6a 00                	push   $0x0
5c5903:	56                   	push   %esi
5c5904:	ff b7 24 59 00 00    	push   0x5924(%edi)
5c590a:	e8 11 2a 00 00       	call   0x5c8320
5c590f:	8b 75 0c             	mov    0xc(%ebp),%esi
5c5912:	83 c4 1c             	add    $0x1c,%esp
5c5915:	eb 08                	jmp    0x5c591f
5c5917:	53                   	push   %ebx
5c5918:	8b cf                	mov    %edi,%ecx
5c591a:	e8 11 01 00 00       	call   0x5c5a30
5c591f:	ff b7 20 59 00 00    	push   0x5920(%edi)
5c5925:	ff b7 1c 59 00 00    	push   0x591c(%edi)
5c592b:	ff 75 14             	push   0x14(%ebp)
5c592e:	ff 75 10             	push   0x10(%ebp)
5c5931:	ff 75 18             	push   0x18(%ebp)
5c5934:	53                   	push   %ebx
5c5935:	56                   	push   %esi
5c5936:	e8 25 f7 ff ff       	call   0x5c5060
5c593b:	83 c4 1c             	add    $0x1c,%esp
5c593e:	8b c6                	mov    %esi,%eax
5c5940:	5e                   	pop    %esi
5c5941:	5f                   	pop    %edi
5c5942:	5b                   	pop    %ebx
5c5943:	5d                   	pop    %ebp
5c5944:	c2 14 00             	ret    $0x14
5c5947:	85 f6                	test   %esi,%esi
5c5949:	75 0f                	jne    0x5c595a
5c594b:	53                   	push   %ebx
5c594c:	e8 0f d1 ff ff       	call   0x5c2a60
5c5951:	8b f0                	mov    %eax,%esi
5c5953:	5e                   	pop    %esi
5c5954:	5f                   	pop    %edi
5c5955:	5b                   	pop    %ebx
5c5956:	5d                   	pop    %ebp
5c5957:	c2 14 00             	ret    $0x14
5c595a:	8b 87 18 59 00 00    	mov    0x5918(%edi),%eax
5c5960:	83 f8 01             	cmp    $0x1,%eax
5c5963:	75 23                	jne    0x5c5988
5c5965:	8b 87 58 0c 00 00    	mov    0xc58(%edi),%eax
5c596b:	8d 4f 08             	lea    0x8(%edi),%ecx
5c596e:	3b 70 04             	cmp    0x4(%eax),%esi
5c5971:	72 40                	jb     0x5c59b3
5c5973:	3b 70 08             	cmp    0x8(%eax),%esi
5c5976:	73 3b                	jae    0x5c59b3
5c5978:	53                   	push   %ebx
5c5979:	56                   	push   %esi
5c597a:	e8 e1 fa ff ff       	call   0x5c5460
5c597f:	8b f0                	mov    %eax,%esi
5c5981:	5e                   	pop    %esi
5c5982:	5f                   	pop    %edi
5c5983:	5b                   	pop    %ebx
5c5984:	5d                   	pop    %ebp
5c5985:	c2 14 00             	ret    $0x14
5c5988:	83 f8 02             	cmp    $0x2,%eax
5c598b:	75 26                	jne    0x5c59b3
5c598d:	8b 87 10 59 00 00    	mov    0x5910(%edi),%eax
5c5993:	8d 8f 60 0c 00 00    	lea    0xc60(%edi),%ecx
5c5999:	3b 70 04             	cmp    0x4(%eax),%esi
5c599c:	72 15                	jb     0x5c59b3
5c599e:	3b 70 08             	cmp    0x8(%eax),%esi
5c59a1:	73 10                	jae    0x5c59b3
5c59a3:	53                   	push   %ebx
5c59a4:	56                   	push   %esi
5c59a5:	e8 a6 fb ff ff       	call   0x5c5550
5c59aa:	8b f0                	mov    %eax,%esi
5c59ac:	5e                   	pop    %esi
5c59ad:	5f                   	pop    %edi
5c59ae:	5b                   	pop    %ebx
5c59af:	5d                   	pop    %ebp
5c59b0:	c2 14 00             	ret    $0x14
5c59b3:	56                   	push   %esi
5c59b4:	e8 f0 18 02 00       	call   0x5e72a9
5c59b9:	53                   	push   %ebx
5c59ba:	56                   	push   %esi
5c59bb:	89 45 08             	mov    %eax,0x8(%ebp)
5c59be:	e8 37 ef 01 00       	call   0x5e48fa
5c59c3:	8b f0                	mov    %eax,%esi
5c59c5:	83 c4 0c             	add    $0xc,%esp
5c59c8:	89 75 10             	mov    %esi,0x10(%ebp)
5c59cb:	85 f6                	test   %esi,%esi
5c59cd:	74 3d                	je     0x5c5a0c
5c59cf:	56                   	push   %esi
5c59d0:	e8 d4 18 02 00       	call   0x5e72a9
5c59d5:	8b f0                	mov    %eax,%esi
5c59d7:	33 c9                	xor    %ecx,%ecx
5c59d9:	8b 45 08             	mov    0x8(%ebp),%eax
5c59dc:	f7 d8                	neg    %eax
5c59de:	13 c9                	adc    %ecx,%ecx
5c59e0:	f7 d9                	neg    %ecx
5c59e2:	51                   	push   %ecx
5c59e3:	50                   	push   %eax
5c59e4:	ff b7 24 59 00 00    	push   0x5924(%edi)
5c59ea:	e8 31 29 00 00       	call   0x5c8320
5c59ef:	6a 00                	push   $0x0
5c59f1:	56                   	push   %esi
5c59f2:	ff b7 24 59 00 00    	push   0x5924(%edi)
5c59f8:	e8 23 29 00 00       	call   0x5c8320
5c59fd:	8b 75 10             	mov    0x10(%ebp),%esi
5c5a00:	83 c4 1c             	add    $0x1c,%esp
5c5a03:	8b c6                	mov    %esi,%eax
5c5a05:	5e                   	pop    %esi
5c5a06:	5f                   	pop    %edi
5c5a07:	5b                   	pop    %ebx
5c5a08:	5d                   	pop    %ebp
5c5a09:	c2 14 00             	ret    $0x14
5c5a0c:	53                   	push   %ebx
5c5a0d:	8b cf                	mov    %edi,%ecx
5c5a0f:	e8 1c 00 00 00       	call   0x5c5a30
5c5a14:	8b c6                	mov    %esi,%eax
5c5a16:	5e                   	pop    %esi
5c5a17:	5f                   	pop    %edi
5c5a18:	5b                   	pop    %ebx
5c5a19:	5d                   	pop    %ebp
5c5a1a:	c2 14 00             	ret    $0x14
5c5a1d:	cc                   	int3
5c5a1e:	cc                   	int3
5c5a1f:	cc                   	int3
5c5a20:	c2 14 00             	ret    $0x14
5c5a23:	cc                   	int3
5c5a24:	cc                   	int3
5c5a25:	cc                   	int3
5c5a26:	cc                   	int3
5c5a27:	cc                   	int3
5c5a28:	cc                   	int3
5c5a29:	cc                   	int3
5c5a2a:	cc                   	int3
5c5a2b:	cc                   	int3
5c5a2c:	cc                   	int3
5c5a2d:	cc                   	int3
5c5a2e:	cc                   	int3
5c5a2f:	cc                   	int3
5c5a30:	55                   	push   %ebp
5c5a31:	8b ec                	mov    %esp,%ebp
5c5a33:	81 ec 00 01 00 00    	sub    $0x100,%esp
5c5a39:	56                   	push   %esi
5c5a3a:	8b 75 08             	mov    0x8(%ebp),%esi
5c5a3d:	89 b1 2c 59 00 00    	mov    %esi,0x592c(%ecx)
5c5a43:	e8 d8 63 ff ff       	call   0x5bbe20
5c5a48:	84 c0                	test   %al,%al
5c5a4a:	74 01                	je     0x5c5a4d
5c5a4c:	cc                   	int3
5c5a4d:	6a 00                	push   $0x0
5c5a4f:	56                   	push   %esi
5c5a50:	68 e4 c0 66 00       	push   $0x66c0e4
5c5a55:	8d 85 00 ff ff ff    	lea    -0x100(%ebp),%eax
5c5a5b:	68 00 01 00 00       	push   $0x100
5c5a60:	50                   	push   %eax
5c5a61:	e8 6a ff e8 ff       	call   0x4559d0
5c5a66:	83 c4 14             	add    $0x14,%esp
5c5a69:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
5c5a6d:	8d 85 00 ff ff ff    	lea    -0x100(%ebp),%eax
5c5a73:	50                   	push   %eax
5c5a74:	ff 15 08 21 60 00    	call   *0x602108
5c5a7a:	e8 a1 63 ff ff       	call   0x5bbe20
5c5a7f:	5e                   	pop    %esi
5c5a80:	84 c0                	test   %al,%al
5c5a82:	75 2d                	jne    0x5c5ab1
5c5a84:	8d 85 00 ff ff ff    	lea    -0x100(%ebp),%eax
5c5a8a:	50                   	push   %eax
5c5a8b:	68 d2 0b 00 80       	push   $0x80000bd2
5c5a90:	68 78 bb 66 00       	push   $0x66bb78
5c5a95:	e8 c6 59 ff ff       	call   0x5bb460
5c5a9a:	83 c4 0c             	add    $0xc,%esp
5c5a9d:	84 c0                	test   %al,%al
5c5a9f:	75 01                	jne    0x5c5aa2
5c5aa1:	cc                   	int3
5c5aa2:	6a 01                	push   $0x1
5c5aa4:	ff 15 44 21 60 00    	call   *0x602144
5c5aaa:	50                   	push   %eax
5c5aab:	ff 15 14 22 60 00    	call   *0x602214
5c5ab1:	8b e5                	mov    %ebp,%esp
5c5ab3:	5d                   	pop    %ebp
5c5ab4:	c2 04 00             	ret    $0x4
5c5ab7:	cc                   	int3
5c5ab8:	cc                   	int3
5c5ab9:	cc                   	int3
5c5aba:	cc                   	int3
5c5abb:	cc                   	int3
5c5abc:	cc                   	int3
5c5abd:	cc                   	int3
5c5abe:	cc                   	int3
5c5abf:	cc                   	int3
5c5ac0:	55                   	push   %ebp
5c5ac1:	8b ec                	mov    %esp,%ebp
5c5ac3:	53                   	push   %ebx
5c5ac4:	56                   	push   %esi
5c5ac5:	8b f1                	mov    %ecx,%esi
5c5ac7:	b8 01 00 00 00       	mov    $0x1,%eax
5c5acc:	bb a8 91 69 00       	mov    $0x6991a8,%ebx
5c5ad1:	87 03                	xchg   %eax,(%ebx)
5c5ad3:	85 c0                	test   %eax,%eax
5c5ad5:	0f 85 3e 01 00 00    	jne    0x5c5c19
5c5adb:	8b 8e 80 59 00 00    	mov    0x5980(%esi),%ecx
5c5ae1:	89 86 54 59 00 00    	mov    %eax,0x5954(%esi)
5c5ae7:	8b 86 7c 59 00 00    	mov    0x597c(%esi),%eax
5c5aed:	85 c0                	test   %eax,%eax
5c5aef:	75 37                	jne    0x5c5b28
5c5af1:	51                   	push   %ecx
5c5af2:	68 f4 bf 66 00       	push   $0x66bff4
5c5af7:	e8 04 63 ff ff       	call   0x5bbe00
5c5afc:	8b 8e 70 59 00 00    	mov    0x5970(%esi),%ecx
5c5b02:	83 c4 08             	add    $0x8,%esp
5c5b05:	85 c9                	test   %ecx,%ecx
5c5b07:	74 10                	je     0x5c5b19
5c5b09:	8b 86 68 59 00 00    	mov    0x5968(%esi),%eax
5c5b0f:	3b c8                	cmp    %eax,%ecx
5c5b11:	74 06                	je     0x5c5b19
5c5b13:	89 86 70 59 00 00    	mov    %eax,0x5970(%esi)
5c5b19:	c7 86 74 59 00 00 00 	movl   $0x0,0x5974(%esi)
5c5b20:	00 00 00
5c5b23:	e9 8f 00 00 00       	jmp    0x5c5bb7
5c5b28:	57                   	push   %edi
5c5b29:	51                   	push   %ecx
5c5b2a:	50                   	push   %eax
5c5b2b:	68 24 c0 66 00       	push   $0x66c024
5c5b30:	e8 cb 62 ff ff       	call   0x5bbe00
5c5b35:	8b be 68 59 00 00    	mov    0x5968(%esi),%edi
5c5b3b:	83 c4 0c             	add    $0xc,%esp
5c5b3e:	c7 86 74 59 00 00 00 	movl   $0x0,0x5974(%esi)
5c5b45:	00 00 00
5c5b48:	85 ff                	test   %edi,%edi
5c5b4a:	74 6a                	je     0x5c5bb6
5c5b4c:	39 be 70 59 00 00    	cmp    %edi,0x5970(%esi)
5c5b52:	76 62                	jbe    0x5c5bb6
5c5b54:	83 be 60 59 00 00 00 	cmpl   $0x0,0x5960(%esi)
5c5b5b:	74 59                	je     0x5c5bb6
5c5b5d:	8d 49 00             	lea    0x0(%ecx),%ecx
5c5b60:	8b 8e 64 59 00 00    	mov    0x5964(%esi),%ecx
5c5b66:	8b 04 39             	mov    (%ecx,%edi,1),%eax
5c5b69:	3d ed 0c 11 aa       	cmp    $0xaa110ced,%eax
5c5b6e:	75 14                	jne    0x5c5b84
5c5b70:	6a 00                	push   $0x0
5c5b72:	8d 41 10             	lea    0x10(%ecx),%eax
5c5b75:	03 c7                	add    %edi,%eax
5c5b77:	6a 00                	push   $0x0
5c5b79:	50                   	push   %eax
5c5b7a:	e8 e1 46 00 00       	call   0x5ca260
5c5b7f:	83 c4 0c             	add    $0xc,%esp
5c5b82:	eb 24                	jmp    0x5c5ba8
5c5b84:	85 c0                	test   %eax,%eax
5c5b86:	74 10                	je     0x5c5b98
5c5b88:	57                   	push   %edi
5c5b89:	68 54 c0 66 00       	push   $0x66c054
5c5b8e:	e8 6d 62 ff ff       	call   0x5bbe00
5c5b93:	83 c4 08             	add    $0x8,%esp
5c5b96:	eb 10                	jmp    0x5c5ba8
5c5b98:	8b 86 74 59 00 00    	mov    0x5974(%esi),%eax
5c5b9e:	89 44 39 0c          	mov    %eax,0xc(%ecx,%edi,1)
5c5ba2:	89 be 74 59 00 00    	mov    %edi,0x5974(%esi)
5c5ba8:	03 be 60 59 00 00    	add    0x5960(%esi),%edi
5c5bae:	3b be 70 59 00 00    	cmp    0x5970(%esi),%edi
5c5bb4:	72 aa                	jb     0x5c5b60
5c5bb6:	5f                   	pop    %edi
5c5bb7:	83 be 7c 59 00 00 00 	cmpl   $0x0,0x597c(%esi)
5c5bbe:	75 46                	jne    0x5c5c06
5c5bc0:	8b 45 08             	mov    0x8(%ebp),%eax
5c5bc3:	89 86 58 59 00 00    	mov    %eax,0x5958(%esi)
5c5bc9:	8b 45 0c             	mov    0xc(%ebp),%eax
5c5bcc:	89 86 5c 59 00 00    	mov    %eax,0x595c(%esi)
5c5bd2:	83 c0 03             	add    $0x3,%eax
5c5bd5:	83 e0 fc             	and    $0xfffffffc,%eax
5c5bd8:	33 c9                	xor    %ecx,%ecx
5c5bda:	89 86 64 59 00 00    	mov    %eax,0x5964(%esi)
5c5be0:	8d 90 c0 00 00 00    	lea    0xc0(%eax),%edx
5c5be6:	b8 00 01 00 00       	mov    $0x100,%eax
5c5beb:	3b c2                	cmp    %edx,%eax
5c5bed:	73 11                	jae    0x5c5c00
5c5bef:	90                   	nop
5c5bf0:	0f a4 c1 01          	shld   $0x1,%eax,%ecx
5c5bf4:	03 c0                	add    %eax,%eax
5c5bf6:	85 c9                	test   %ecx,%ecx
5c5bf8:	72 f6                	jb     0x5c5bf0
5c5bfa:	77 04                	ja     0x5c5c00
5c5bfc:	3b c2                	cmp    %edx,%eax
5c5bfe:	72 f0                	jb     0x5c5bf0
5c5c00:	89 86 60 59 00 00    	mov    %eax,0x5960(%esi)
5c5c06:	8b 45 10             	mov    0x10(%ebp),%eax
5c5c09:	89 86 54 59 00 00    	mov    %eax,0x5954(%esi)
5c5c0f:	33 c0                	xor    %eax,%eax
5c5c11:	87 03                	xchg   %eax,(%ebx)
5c5c13:	5e                   	pop    %esi
5c5c14:	5b                   	pop    %ebx
5c5c15:	5d                   	pop    %ebp
5c5c16:	c2 0c 00             	ret    $0xc
5c5c19:	68 7c c0 66 00       	push   $0x66c07c
5c5c1e:	e8 dd 61 ff ff       	call   0x5bbe00
5c5c23:	83 c4 04             	add    $0x4,%esp
5c5c26:	5e                   	pop    %esi
5c5c27:	5b                   	pop    %ebx
5c5c28:	5d                   	pop    %ebp
5c5c29:	c2 0c 00             	ret    $0xc
5c5c2c:	cc                   	int3
5c5c2d:	cc                   	int3
5c5c2e:	cc                   	int3
5c5c2f:	cc                   	int3
5c5c30:	55                   	push   %ebp
5c5c31:	8b ec                	mov    %esp,%ebp
5c5c33:	51                   	push   %ecx
5c5c34:	53                   	push   %ebx
5c5c35:	56                   	push   %esi
5c5c36:	e8 2c 17 02 00       	call   0x5e7367
5c5c3b:	8b f0                	mov    %eax,%esi
5c5c3d:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
5c5c44:	6a 04                	push   $0x4
5c5c46:	8d 45 fc             	lea    -0x4(%ebp),%eax
5c5c49:	50                   	push   %eax
5c5c4a:	6a 00                	push   $0x0
5c5c4c:	56                   	push   %esi
5c5c4d:	ff 15 30 22 60 00    	call   *0x602230
5c5c53:	85 c0                	test   %eax,%eax
5c5c55:	0f 95 c3             	setne  %bl
5c5c58:	85 c0                	test   %eax,%eax
5c5c5a:	74 16                	je     0x5c5c72
5c5c5c:	56                   	push   %esi
5c5c5d:	68 70 be 66 00       	push   $0x66be70
5c5c62:	e8 99 61 ff ff       	call   0x5bbe00
5c5c67:	83 c4 08             	add    $0x8,%esp
5c5c6a:	8a c3                	mov    %bl,%al
5c5c6c:	5e                   	pop    %esi
5c5c6d:	5b                   	pop    %ebx
5c5c6e:	8b e5                	mov    %ebp,%esp
5c5c70:	5d                   	pop    %ebp
5c5c71:	c3                   	ret
5c5c72:	ff 15 58 21 60 00    	call   *0x602158
5c5c78:	50                   	push   %eax
5c5c79:	56                   	push   %esi
5c5c7a:	68 b0 be 66 00       	push   $0x66beb0
5c5c7f:	e8 7c 61 ff ff       	call   0x5bbe00
5c5c84:	83 c4 0c             	add    $0xc,%esp
5c5c87:	8d 45 fc             	lea    -0x4(%ebp),%eax
5c5c8a:	6a 00                	push   $0x0
5c5c8c:	6a 04                	push   $0x4
5c5c8e:	50                   	push   %eax