59d947:	cc                   	int3
59d948:	cc                   	int3
59d949:	cc                   	int3
59d94a:	cc                   	int3
59d94b:	cc                   	int3
59d94c:	cc                   	int3
59d94d:	cc                   	int3
59d94e:	cc                   	int3
59d94f:	cc                   	int3
59d950:	8b 44 24 04          	mov    0x4(%esp),%eax
59d954:	85 c0                	test   %eax,%eax
59d956:	75 03                	jne    0x59d95b
59d958:	c2 04 00             	ret    $0x4
59d95b:	3d ff ff ff 0f       	cmp    $0xfffffff,%eax
59d960:	77 3b                	ja     0x59d99d
59d962:	c1 e0 04             	shl    $0x4,%eax
59d965:	3d 00 10 00 00       	cmp    $0x1000,%eax
59d96a:	72 22                	jb     0x59d98e
59d96c:	8d 48 23             	lea    0x23(%eax),%ecx
59d96f:	3b c8                	cmp    %eax,%ecx
59d971:	76 2f                	jbe    0x59d9a2
59d973:	51                   	push   %ecx
59d974:	e8 04 d0 e8 ff       	call   0x42a97d
59d979:	8b c8                	mov    %eax,%ecx
59d97b:	83 c4 04             	add    $0x4,%esp
59d97e:	85 c9                	test   %ecx,%ecx
59d980:	74 25                	je     0x59d9a7
59d982:	8d 41 23             	lea    0x23(%ecx),%eax
59d985:	83 e0 e0             	and    $0xffffffe0,%eax
59d988:	89 48 fc             	mov    %ecx,-0x4(%eax)
59d98b:	c2 04 00             	ret    $0x4
59d98e:	50                   	push   %eax
59d98f:	e8 e9 cf e8 ff       	call   0x42a97d
59d994:	83 c4 04             	add    $0x4,%esp
59d997:	85 c0                	test   %eax,%eax
59d999:	75 bd                	jne    0x59d958
59d99b:	eb 0f                	jmp    0x59d9ac
59d99d:	e8 7c 45 e6 ff       	call   0x401f1e
59d9a2:	e8 77 45 e6 ff       	call   0x401f1e
59d9a7:	e8 e1 ff e9 ff       	call   0x43d98d
59d9ac:	e8 dc ff e9 ff       	call   0x43d98d
59d9b1:	cc                   	int3
59d9b2:	cc                   	int3
59d9b3:	cc                   	int3
59d9b4:	cc                   	int3
59d9b5:	cc                   	int3
59d9b6:	cc                   	int3
59d9b7:	cc                   	int3
59d9b8:	cc                   	int3
59d9b9:	cc                   	int3
59d9ba:	cc                   	int3
59d9bb:	cc                   	int3
59d9bc:	cc                   	int3
59d9bd:	cc                   	int3
59d9be:	cc                   	int3
59d9bf:	cc                   	int3
59d9c0:	cc                   	int3
59d9c1:	cc                   	int3
59d9c2:	cc                   	int3
59d9c3:	cc                   	int3
59d9c4:	cc                   	int3
59d9c5:	cc                   	int3
59d9c6:	cc                   	int3
59d9c7:	cc                   	int3
59d9c8:	cc                   	int3
59d9c9:	cc                   	int3
59d9ca:	cc                   	int3
59d9cb:	cc                   	int3
59d9cc:	cc                   	int3
59d9cd:	cc                   	int3
59d9ce:	cc                   	int3
59d9cf:	cc                   	int3
59d9d0:	53                   	push   %ebx
59d9d1:	56                   	push   %esi
59d9d2:	8b f1                	mov    %ecx,%esi
59d9d4:	57                   	push   %edi
59d9d5:	ff 74 24 10          	push   0x10(%esp)
59d9d9:	8b 9e c4 00 00 00    	mov    0xc4(%esi),%ebx
59d9df:	8d 8e c4 00 00 00    	lea    0xc4(%esi),%ecx
59d9e5:	ff 73 04             	push   0x4(%ebx)
59d9e8:	53                   	push   %ebx
59d9e9:	e8 11 44 e8 ff       	call   0x421dff
59d9ee:	8b d0                	mov    %eax,%edx
59d9f0:	b9 fe ff ff 0f       	mov    $0xffffffe,%ecx
59d9f5:	8b 86 c8 00 00 00    	mov    0xc8(%esi),%eax
59d9fb:	2b c8                	sub    %eax,%ecx
59d9fd:	83 f9 01             	cmp    $0x1,%ecx
59da00:	72 2e                	jb     0x59da30
59da02:	40                   	inc    %eax
59da03:	89 86 c8 00 00 00    	mov    %eax,0xc8(%esi)
59da09:	89 53 04             	mov    %edx,0x4(%ebx)
59da0c:	8b 42 04             	mov    0x4(%edx),%eax
59da0f:	89 10                	mov    %edx,(%eax)
59da11:	8b 86 c8 00 00 00    	mov    0xc8(%esi),%eax
59da17:	3b 86 c0 00 00 00    	cmp    0xc0(%esi),%eax
59da1d:	72 0b                	jb     0x59da2a
59da1f:	8b 06                	mov    (%esi),%eax
59da21:	8b ce                	mov    %esi,%ecx
59da23:	ff 74 24 14          	push   0x14(%esp)
59da27:	ff 50 10             	call   *0x10(%eax)
59da2a:	5f                   	pop    %edi
59da2b:	5e                   	pop    %esi
59da2c:	5b                   	pop    %ebx
59da2d:	c2 08 00             	ret    $0x8
59da30:	68 0c 61 bd 00       	push   $0xbd610c
59da35:	e8 dc bd e8 ff       	call   0x429816
59da3a:	cc                   	int3
59da3b:	cc                   	int3
59da3c:	cc                   	int3
59da3d:	cc                   	int3
59da3e:	cc                   	int3
59da3f:	cc                   	int3
59da40:	cc                   	int3
59da41:	cc                   	int3
59da42:	cc                   	int3
59da43:	cc                   	int3
59da44:	cc                   	int3
59da45:	cc                   	int3
59da46:	cc                   	int3
59da47:	cc                   	int3
59da48:	cc                   	int3
59da49:	cc                   	int3
59da4a:	cc                   	int3
59da4b:	cc                   	int3
59da4c:	cc                   	int3
59da4d:	cc                   	int3
59da4e:	cc                   	int3
59da4f:	cc                   	int3
59da50:	cc                   	int3
59da51:	cc                   	int3
59da52:	cc                   	int3
59da53:	cc                   	int3
59da54:	cc                   	int3
59da55:	cc                   	int3
59da56:	cc                   	int3
59da57:	cc                   	int3
59da58:	cc                   	int3
59da59:	cc                   	int3
59da5a:	cc                   	int3
59da5b:	cc                   	int3
59da5c:	cc                   	int3
59da5d:	cc                   	int3
59da5e:	cc                   	int3
59da5f:	cc                   	int3
59da60:	8b 01                	mov    (%ecx),%eax
59da62:	8b 08                	mov    (%eax),%ecx
59da64:	8b 44 24 04          	mov    0x4(%esp),%eax
59da68:	89 08                	mov    %ecx,(%eax)
59da6a:	c2 04 00             	ret    $0x4
59da6d:	cc                   	int3
59da6e:	cc                   	int3
59da6f:	cc                   	int3
59da70:	8b 49 04             	mov    0x4(%ecx),%ecx
59da73:	85 c9                	test   %ecx,%ecx
59da75:	74 10                	je     0x59da87
59da77:	8b 41 04             	mov    0x4(%ecx),%eax
59da7a:	83 c1 04             	add    $0x4,%ecx
59da7d:	8b 40 04             	mov    0x4(%eax),%eax
59da80:	03 c8                	add    %eax,%ecx
59da82:	8b 01                	mov    (%ecx),%eax
59da84:	ff 60 14             	jmp    *0x14(%eax)
59da87:	33 c0                	xor    %eax,%eax
59da89:	c2 04 00             	ret    $0x4
59da8c:	cc                   	int3
59da8d:	cc                   	int3
59da8e:	cc                   	int3
59da8f:	cc                   	int3
59da90:	cc                   	int3
59da91:	cc                   	int3
59da92:	cc                   	int3
59da93:	2b 49 fc             	sub    -0x4(%ecx),%ecx
59da96:	e9 46 fd e7 ff       	jmp    0x41d7e1
59da9b:	cc                   	int3
59da9c:	cc                   	int3
59da9d:	cc                   	int3
59da9e:	cc                   	int3
59da9f:	cc                   	int3
59daa0:	56                   	push   %esi
59daa1:	57                   	push   %edi
59daa2:	8b f1                	mov    %ecx,%esi
59daa4:	e8 19 7a e9 ff       	call   0x4354c2
59daa9:	8b 7c 24 0c          	mov    0xc(%esp),%edi
59daad:	3b f8                	cmp    %eax,%edi
59daaf:	75 24                	jne    0x59dad5
59dab1:	8d 86 30 ff ff ff    	lea    -0xd0(%esi),%eax
59dab7:	85 c0                	test   %eax,%eax
59dab9:	75 05                	jne    0x59dac0
59dabb:	5f                   	pop    %edi
59dabc:	5e                   	pop    %esi
59dabd:	c2 04 00             	ret    $0x4
59dac0:	8b 86 34 ff ff ff    	mov    -0xcc(%esi),%eax
59dac6:	5f                   	pop    %edi
59dac7:	8b 40 04             	mov    0x4(%eax),%eax
59daca:	05 34 ff ff ff       	add    $0xffffff34,%eax
59dacf:	03 c6                	add    %esi,%eax
59dad1:	5e                   	pop    %esi
59dad2:	c2 04 00             	ret    $0x4
59dad5:	e8 8d e8 e9 ff       	call   0x43c367
59dada:	3b f8                	cmp    %eax,%edi
59dadc:	75 0b                	jne    0x59dae9
59dade:	5f                   	pop    %edi
59dadf:	8d 86 30 ff ff ff    	lea    -0xd0(%esi),%eax
59dae5:	5e                   	pop    %esi
59dae6:	c2 04 00             	ret    $0x4
59dae9:	57                   	push   %edi
59daea:	8d 4e 8c             	lea    -0x74(%esi),%ecx
59daed:	e8 41 79 e7 ff       	call   0x415433
59daf2:	5f                   	pop    %edi
59daf3:	5e                   	pop    %esi
59daf4:	c2 04 00             	ret    $0x4
59daf7:	cc                   	int3
59daf8:	cc                   	int3
59daf9:	cc                   	int3
59dafa:	cc                   	int3
59dafb:	cc                   	int3
59dafc:	cc                   	int3
59dafd:	cc                   	int3
59dafe:	cc                   	int3
59daff:	cc                   	int3
59db00:	cc                   	int3
59db01:	cc                   	int3
59db02:	cc                   	int3
59db03:	cc                   	int3
59db04:	cc                   	int3
59db05:	cc                   	int3
59db06:	cc                   	int3
59db07:	cc                   	int3
59db08:	cc                   	int3
59db09:	cc                   	int3
59db0a:	cc                   	int3
59db0b:	cc                   	int3
59db0c:	cc                   	int3
59db0d:	cc                   	int3
59db0e:	cc                   	int3
59db0f:	cc                   	int3
59db10:	53                   	push   %ebx
59db11:	8b d9                	mov    %ecx,%ebx
59db13:	56                   	push   %esi
59db14:	8b 03                	mov    (%ebx),%eax
59db16:	8b 30                	mov    (%eax),%esi
59db18:	89 00                	mov    %eax,(%eax)
59db1a:	8b 03                	mov    (%ebx),%eax
59db1c:	89 40 04             	mov    %eax,0x4(%eax)
59db1f:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
59db26:	3b 33                	cmp    (%ebx),%esi
59db28:	74 22                	je     0x59db4c
59db2a:	57                   	push   %edi
59db2b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
59db30:	8b 46 08             	mov    0x8(%esi),%eax
59db33:	8d 4e 08             	lea    0x8(%esi),%ecx
59db36:	8b 3e                	mov    (%esi),%edi
59db38:	6a 00                	push   $0x0
59db3a:	ff 10                	call   *(%eax)
59db3c:	56                   	push   %esi
59db3d:	e8 4d 3c e6 ff       	call   0x40178f
59db42:	83 c4 04             	add    $0x4,%esp
59db45:	8b f7                	mov    %edi,%esi
59db47:	3b 3b                	cmp    (%ebx),%edi
59db49:	75 e5                	jne    0x59db30
59db4b:	5f                   	pop    %edi
59db4c:	5e                   	pop    %esi
59db4d:	5b                   	pop    %ebx
59db4e:	c3                   	ret
59db4f:	cc                   	int3
59db50:	cc                   	int3
59db51:	cc                   	int3
59db52:	cc                   	int3
59db53:	cc                   	int3
59db54:	cc                   	int3
59db55:	cc                   	int3
59db56:	cc                   	int3
59db57:	cc                   	int3
59db58:	cc                   	int3
59db59:	cc                   	int3
59db5a:	cc                   	int3
59db5b:	cc                   	int3
59db5c:	cc                   	int3
59db5d:	cc                   	int3
59db5e:	2b 49 fc             	sub    -0x4(%ecx),%ecx
59db61:	e9 dc 6a e6 ff       	jmp    0x404642
59db66:	cc                   	int3
59db67:	cc                   	int3
59db68:	cc                   	int3
59db69:	cc                   	int3
59db6a:	cc                   	int3
59db6b:	cc                   	int3
59db6c:	cc                   	int3
59db6d:	cc                   	int3
59db6e:	cc                   	int3
59db6f:	cc                   	int3
59db70:	55                   	push   %ebp
59db71:	8b ec                	mov    %esp,%ebp
59db73:	6a ff                	push   $0xffffffff
59db75:	68 e0 f4 b5 00       	push   $0xb5f4e0
59db7a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
59db80:	50                   	push   %eax
59db81:	83 ec 30             	sub    $0x30,%esp
59db84:	a1 24 f6 d5 00       	mov    0xd5f624,%eax
59db89:	33 c5                	xor    %ebp,%eax
59db8b:	89 45 ec             	mov    %eax,-0x14(%ebp)
59db8e:	53                   	push   %ebx
59db8f:	56                   	push   %esi
59db90:	57                   	push   %edi
59db91:	50                   	push   %eax
59db92:	8d 45 f4             	lea    -0xc(%ebp),%eax
59db95:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
59db9b:	89 65 f0             	mov    %esp,-0x10(%ebp)
59db9e:	8b f1                	mov    %ecx,%esi
59dba0:	80 be 64 ff ff ff 00 	cmpb   $0x0,-0x9c(%esi)
59dba7:	89 75 d0             	mov    %esi,-0x30(%ebp)
59dbaa:	0f 85 96 00 00 00    	jne    0x59dc46
59dbb0:	8d 4d c8             	lea    -0x38(%ebp),%ecx
59dbb3:	e8 b9 90 e6 ff       	call   0x406c71
59dbb8:	8b 86 1c ff ff ff    	mov    -0xe4(%esi),%eax
59dbbe:	8d 8e 1c ff ff ff    	lea    -0xe4(%esi),%ecx
59dbc4:	8d 55 c8             	lea    -0x38(%ebp),%edx
59dbc7:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
59dbce:	52                   	push   %edx
59dbcf:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
59dbd3:	ff 50 10             	call   *0x10(%eax)
59dbd6:	eb 39                	jmp    0x59dc11
59dbd8:	68 cc 37 be 00       	push   $0xbe37cc
59dbdd:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
59dbe0:	e8 88 23 e9 ff       	call   0x42ff6d
59dbe5:	8b 45 d0             	mov    -0x30(%ebp),%eax
59dbe8:	8d 55 d4             	lea    -0x2c(%ebp),%edx
59dbeb:	6a 00                	push   $0x0
59dbed:	ff 75 c4             	push   -0x3c(%ebp)
59dbf0:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
59dbf4:	8b 88 50 ff ff ff    	mov    -0xb0(%eax),%ecx
59dbfa:	52                   	push   %edx
59dbfb:	8b 01                	mov    (%ecx),%eax
59dbfd:	ff 50 0c             	call   *0xc(%eax)
59dc00:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
59dc03:	e8 a9 77 e7 ff       	call   0x4153b1
59dc08:	b8 0e dc 59 00       	mov    $0x59dc0e,%eax
59dc0d:	c3                   	ret
59dc0e:	8b 75 d0             	mov    -0x30(%ebp),%esi
59dc11:	8b 46 bc             	mov    -0x44(%esi),%eax
59dc14:	85 c0                	test   %eax,%eax
59dc16:	74 10                	je     0x59dc28
59dc18:	50                   	push   %eax
59dc19:	e8 42 27 11 00       	call   0x6b0360
59dc1e:	ff 76 bc             	push   -0x44(%esi)
59dc21:	6a 02                	push   $0x2
59dc23:	e8 3e 27 11 00       	call   0x6b0366
59dc28:	8b 46 c0             	mov    -0x40(%esi),%eax
59dc2b:	85 c0                	test   %eax,%eax
59dc2d:	74 08                	je     0x59dc37
59dc2f:	50                   	push   %eax