41ac46:	0f 43 c6             	cmovae %esi,%eax
41ac49:	80 3c 38 00          	cmpb   $0x0,(%eax,%edi,1)
41ac4d:	7e 03                	jle    0x41ac52
41ac4f:	47                   	inc    %edi
41ac50:	eb 0a                	jmp    0x41ac5c
41ac52:	32 c0                	xor    %al,%al
41ac54:	eb 09                	jmp    0x41ac5f
41ac56:	8b 55 b4             	mov    -0x4c(%ebp),%edx
41ac59:	8b 75 a0             	mov    -0x60(%ebp),%esi
41ac5c:	8a 45 87             	mov    -0x79(%ebp),%al
41ac5f:	83 7d 9c 10          	cmpl   $0x10,-0x64(%ebp)
41ac63:	8d 4d 88             	lea    -0x78(%ebp),%ecx
41ac66:	0f 43 4d 88          	cmovae -0x78(%ebp),%ecx
41ac6a:	84 c0                	test   %al,%al
41ac6c:	74 5d                	je     0x41accb
41ac6e:	89 8d 74 ff ff ff    	mov    %ecx,-0x8c(%ebp)
41ac74:	85 ff                	test   %edi,%edi
41ac76:	74 44                	je     0x41acbc
41ac78:	80 39 7f             	cmpb   $0x7f,(%ecx)
41ac7b:	74 3f                	je     0x41acbc
41ac7d:	83 ef 01             	sub    $0x1,%edi
41ac80:	74 13                	je     0x41ac95
41ac82:	83 fa 10             	cmp    $0x10,%edx
41ac85:	8d 45 a0             	lea    -0x60(%ebp),%eax
41ac88:	8a 11                	mov    (%ecx),%dl
41ac8a:	0f 43 c6             	cmovae %esi,%eax
41ac8d:	3a 14 38             	cmp    (%eax,%edi,1),%dl
41ac90:	8b 55 b4             	mov    -0x4c(%ebp),%edx
41ac93:	75 36                	jne    0x41accb
41ac95:	85 ff                	test   %edi,%edi
41ac97:	75 12                	jne    0x41acab
41ac99:	83 fa 10             	cmp    $0x10,%edx
41ac9c:	8d 45 a0             	lea    -0x60(%ebp),%eax
41ac9f:	8a 11                	mov    (%ecx),%dl
41aca1:	0f 43 c6             	cmovae %esi,%eax
41aca4:	3a 10                	cmp    (%eax),%dl
41aca6:	8b 55 b4             	mov    -0x4c(%ebp),%edx
41aca9:	7c 20                	jl     0x41accb
41acab:	8d 41 01             	lea    0x1(%ecx),%eax
41acae:	80 38 00             	cmpb   $0x0,(%eax)
41acb1:	8b c8                	mov    %eax,%ecx
41acb3:	0f 4e 8d 74 ff ff ff 	cmovle -0x8c(%ebp),%ecx
41acba:	eb b2                	jmp    0x41ac6e
41acbc:	80 7d 86 00          	cmpb   $0x0,-0x7a(%ebp)
41acc0:	8b 45 80             	mov    -0x80(%ebp),%eax
41acc3:	75 0c                	jne    0x41acd1
41acc5:	c6 00 30             	movb   $0x30,(%eax)
41acc8:	40                   	inc    %eax
41acc9:	eb 06                	jmp    0x41acd1
41accb:	8b 85 6c ff ff ff    	mov    -0x94(%ebp),%eax
41acd1:	c6 00 00             	movb   $0x0,(%eax)
41acd4:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
41acd8:	8d 4d a0             	lea    -0x60(%ebp),%ecx
41acdb:	e8 f4 25 00 00       	call   0x41d2d4
41ace0:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41ace4:	8d 4d 88             	lea    -0x78(%ebp),%ecx
41ace7:	e8 e8 25 00 00       	call   0x41d2d4
41acec:	8b c3                	mov    %ebx,%eax
41acee:	e8 35 4d 02 00       	call   0x43fa28
41acf3:	c3                   	ret
41acf4:	55                   	push   %ebp
41acf5:	8b ec                	mov    %esp,%ebp
41acf7:	53                   	push   %ebx
41acf8:	8b 5d 08             	mov    0x8(%ebp),%ebx
41acfb:	8b cb                	mov    %ebx,%ecx
41acfd:	f7 d1                	not    %ecx
41acff:	8b c3                	mov    %ebx,%eax
41ad01:	83 e1 01             	and    $0x1,%ecx
41ad04:	c1 e1 02             	shl    $0x2,%ecx
41ad07:	8b d1                	mov    %ecx,%edx
41ad09:	83 ca 02             	or     $0x2,%edx
41ad0c:	24 02                	and    $0x2,%al
41ad0e:	8b c3                	mov    %ebx,%eax
41ad10:	0f 45 d1             	cmovne %ecx,%edx
41ad13:	8b ca                	mov    %edx,%ecx
41ad15:	83 c9 08             	or     $0x8,%ecx
41ad18:	24 08                	and    $0x8,%al
41ad1a:	0f 44 ca             	cmove  %edx,%ecx
41ad1d:	8b c1                	mov    %ecx,%eax
41ad1f:	83 c8 10             	or     $0x10,%eax
41ad22:	80 e3 04             	and    $0x4,%bl
41ad25:	5b                   	pop    %ebx
41ad26:	0f 44 c1             	cmove  %ecx,%eax
41ad29:	5d                   	pop    %ebp
41ad2a:	c3                   	ret
41ad2b:	8b 51 60             	mov    0x60(%ecx),%edx
41ad2e:	8b 41 5c             	mov    0x5c(%ecx),%eax
41ad31:	eb 08                	jmp    0x41ad3b
41ad33:	83 38 ff             	cmpl   $0xffffffff,(%eax)
41ad36:	74 07                	je     0x41ad3f
41ad38:	83 c0 04             	add    $0x4,%eax
41ad3b:	3b c2                	cmp    %edx,%eax
41ad3d:	75 f4                	jne    0x41ad33
41ad3f:	3b c2                	cmp    %edx,%eax
41ad41:	0f 95 c0             	setne  %al
41ad44:	c3                   	ret
41ad45:	55                   	push   %ebp
41ad46:	8b ec                	mov    %esp,%ebp
41ad48:	56                   	push   %esi
41ad49:	ff 75 08             	push   0x8(%ebp)
41ad4c:	8b f1                	mov    %ecx,%esi
41ad4e:	6a 10                	push   $0x10
41ad50:	e8 52 d7 ff ff       	call   0x4184a7
41ad55:	85 c0                	test   %eax,%eax
41ad57:	75 05                	jne    0x41ad5e
41ad59:	5e                   	pop    %esi
41ad5a:	5d                   	pop    %ebp
41ad5b:	c2 04 00             	ret    $0x4
41ad5e:	6a 02                	push   $0x2
41ad60:	8b ce                	mov    %esi,%ecx
41ad62:	e8 d5 e8 ff ff       	call   0x41963c
41ad67:	cc                   	int3
41ad68:	55                   	push   %ebp
41ad69:	8b ec                	mov    %esp,%ebp
41ad6b:	56                   	push   %esi
41ad6c:	ff 75 08             	push   0x8(%ebp)
41ad6f:	8b f1                	mov    %ecx,%esi
41ad71:	6a 10                	push   $0x10
41ad73:	e8 76 d7 ff ff       	call   0x4184ee
41ad78:	85 c0                	test   %eax,%eax
41ad7a:	75 05                	jne    0x41ad81
41ad7c:	5e                   	pop    %esi
41ad7d:	5d                   	pop    %ebp
41ad7e:	c2 04 00             	ret    $0x4
41ad81:	6a 02                	push   $0x2
41ad83:	8b ce                	mov    %esi,%ecx
41ad85:	e8 be e8 ff ff       	call   0x419648
41ad8a:	cc                   	int3
41ad8b:	56                   	push   %esi
41ad8c:	8b f1                	mov    %ecx,%esi
41ad8e:	e8 fb 05 00 00       	call   0x41b38e
41ad93:	84 c0                	test   %al,%al
41ad95:	74 12                	je     0x41ada9
41ad97:	0f be 46 48          	movsbl 0x48(%esi),%eax
41ad9b:	8b ce                	mov    %esi,%ecx
41ad9d:	89 46 44             	mov    %eax,0x44(%esi)
41ada0:	e8 2f 16 00 00       	call   0x41c3d4
41ada5:	b0 01                	mov    $0x1,%al
41ada7:	5e                   	pop    %esi
41ada8:	c3                   	ret
41ada9:	32 c0                	xor    %al,%al
41adab:	5e                   	pop    %esi
41adac:	c3                   	ret
41adad:	56                   	push   %esi
41adae:	8b f1                	mov    %ecx,%esi
41adb0:	e8 55 06 00 00       	call   0x41b40a
41adb5:	84 c0                	test   %al,%al
41adb7:	74 12                	je     0x41adcb
41adb9:	0f b7 46 48          	movzwl 0x48(%esi),%eax
41adbd:	8b ce                	mov    %esi,%ecx
41adbf:	89 46 44             	mov    %eax,0x44(%esi)
41adc2:	e8 3b 16 00 00       	call   0x41c402
41adc7:	b0 01                	mov    $0x1,%al
41adc9:	5e                   	pop    %esi
41adca:	c3                   	ret
41adcb:	32 c0                	xor    %al,%al
41adcd:	5e                   	pop    %esi
41adce:	c3                   	ret
41adcf:	56                   	push   %esi
41add0:	8b f1                	mov    %ecx,%esi
41add2:	8b 0e                	mov    (%esi),%ecx
41add4:	85 c9                	test   %ecx,%ecx
41add6:	74 13                	je     0x41adeb
41add8:	e8 ab 7b 00 00       	call   0x422988
41addd:	b9 ff ff 00 00       	mov    $0xffff,%ecx
41ade2:	66 3b c8             	cmp    %ax,%cx
41ade5:	74 04                	je     0x41adeb
41ade7:	32 c0                	xor    %al,%al
41ade9:	eb 05                	jmp    0x41adf0
41adeb:	83 26 00             	andl   $0x0,(%esi)
41adee:	b0 01                	mov    $0x1,%al
41adf0:	88 46 04             	mov    %al,0x4(%esi)
41adf3:	5e                   	pop    %esi
41adf4:	c3                   	ret
41adf5:	f0 ff 41 04          	lock incl 0x4(%ecx)
41adf9:	c3                   	ret
41adfa:	56                   	push   %esi
41adfb:	8d 71 04             	lea    0x4(%ecx),%esi
41adfe:	eb 0d                	jmp    0x41ae0d
41ae00:	8d 4a 01             	lea    0x1(%edx),%ecx
41ae03:	8b c2                	mov    %edx,%eax
41ae05:	f0 0f b1 0e          	lock cmpxchg %ecx,(%esi)
41ae09:	3b c2                	cmp    %edx,%eax
41ae0b:	74 0a                	je     0x41ae17
41ae0d:	8b 16                	mov    (%esi),%edx
41ae0f:	85 d2                	test   %edx,%edx
41ae11:	75 ed                	jne    0x41ae00
41ae13:	32 c0                	xor    %al,%al
41ae15:	5e                   	pop    %esi
41ae16:	c3                   	ret
41ae17:	b0 01                	mov    $0x1,%al
41ae19:	5e                   	pop    %esi
41ae1a:	c3                   	ret
41ae1b:	8d 41 04             	lea    0x4(%ecx),%eax
41ae1e:	89 41 0c             	mov    %eax,0xc(%ecx)
41ae21:	8d 51 08             	lea    0x8(%ecx),%edx
41ae24:	8d 41 14             	lea    0x14(%ecx),%eax
41ae27:	89 51 10             	mov    %edx,0x10(%ecx)
41ae2a:	89 41 1c             	mov    %eax,0x1c(%ecx)
41ae2d:	8d 41 18             	lea    0x18(%ecx),%eax
41ae30:	89 41 20             	mov    %eax,0x20(%ecx)
41ae33:	8d 41 24             	lea    0x24(%ecx),%eax
41ae36:	89 41 2c             	mov    %eax,0x2c(%ecx)
41ae39:	8d 41 28             	lea    0x28(%ecx),%eax
41ae3c:	89 41 30             	mov    %eax,0x30(%ecx)
41ae3f:	56                   	push   %esi
41ae40:	33 f6                	xor    %esi,%esi
41ae42:	89 32                	mov    %esi,(%edx)
41ae44:	8b 41 20             	mov    0x20(%ecx),%eax
41ae47:	89 30                	mov    %esi,(%eax)
41ae49:	8b 41 30             	mov    0x30(%ecx),%eax
41ae4c:	89 30                	mov    %esi,(%eax)
41ae4e:	8b 41 0c             	mov    0xc(%ecx),%eax
41ae51:	89 30                	mov    %esi,(%eax)
41ae53:	8b 41 1c             	mov    0x1c(%ecx),%eax
41ae56:	89 30                	mov    %esi,(%eax)
41ae58:	8b 41 2c             	mov    0x2c(%ecx),%eax
41ae5b:	89 30                	mov    %esi,(%eax)
41ae5d:	5e                   	pop    %esi
41ae5e:	c3                   	ret
41ae5f:	55                   	push   %ebp
41ae60:	8b ec                	mov    %esp,%ebp
41ae62:	53                   	push   %ebx
41ae63:	56                   	push   %esi
41ae64:	8b 75 0c             	mov    0xc(%ebp),%esi
41ae67:	57                   	push   %edi
41ae68:	8b f9                	mov    %ecx,%edi
41ae6a:	81 fe ff ff ff 7f    	cmp    $0x7fffffff,%esi
41ae70:	0f 87 a8 00 00 00    	ja     0x41af1e
41ae76:	8b 5d 10             	mov    0x10(%ebp),%ebx
41ae79:	85 f6                	test   %esi,%esi
41ae7b:	0f 84 8f 00 00 00    	je     0x41af10
41ae81:	8b c3                	mov    %ebx,%eax
41ae83:	83 e0 06             	and    $0x6,%eax
41ae86:	3c 06                	cmp    $0x6,%al
41ae88:	0f 84 82 00 00 00    	je     0x41af10
41ae8e:	56                   	push   %esi
41ae8f:	8d 4f 40             	lea    0x40(%edi),%ecx
41ae92:	e8 5e 46 00 00       	call   0x41f4f5
41ae97:	03 f6                	add    %esi,%esi
41ae99:	89 45 10             	mov    %eax,0x10(%ebp)
41ae9c:	56                   	push   %esi
41ae9d:	ff 75 08             	push   0x8(%ebp)
41aea0:	50                   	push   %eax
41aea1:	e8 ba 84 02 00       	call   0x443360
41aea6:	8b 4d 10             	mov    0x10(%ebp),%ecx
41aea9:	8b c3                	mov    %ebx,%eax
41aeab:	03 ce                	add    %esi,%ecx
41aead:	83 c4 0c             	add    $0xc,%esp
41aeb0:	8b 75 10             	mov    0x10(%ebp),%esi
41aeb3:	83 e0 04             	and    $0x4,%eax
41aeb6:	89 4f 38             	mov    %ecx,0x38(%edi)
41aeb9:	89 45 08             	mov    %eax,0x8(%ebp)
41aebc:	75 12                	jne    0x41aed0
41aebe:	8b 47 0c             	mov    0xc(%edi),%eax
41aec1:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41aec4:	89 30                	mov    %esi,(%eax)
41aec6:	8b 47 1c             	mov    0x1c(%edi),%eax
41aec9:	89 30                	mov    %esi,(%eax)
41aecb:	8b 47 2c             	mov    0x2c(%edi),%eax
41aece:	89 08                	mov    %ecx,(%eax)
41aed0:	f6 c3 02             	test   $0x2,%bl
41aed3:	75 36                	jne    0x41af0b
41aed5:	8b 47 10             	mov    0x10(%edi),%eax
41aed8:	f6 c3 18             	test   $0x18,%bl
41aedb:	8b 57 38             	mov    0x38(%edi),%edx
41aede:	8b ce                	mov    %esi,%ecx
41aee0:	0f 45 ca             	cmovne %edx,%ecx
41aee3:	2b d1                	sub    %ecx,%edx
41aee5:	89 30                	mov    %esi,(%eax)
41aee7:	8b 47 20             	mov    0x20(%edi),%eax
41aeea:	d1 fa                	sar    $1,%edx
41aeec:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41aef0:	89 08                	mov    %ecx,(%eax)
41aef2:	8b 47 30             	mov    0x30(%edi),%eax
41aef5:	89 10                	mov    %edx,(%eax)
41aef7:	74 12                	je     0x41af0b
41aef9:	8b 47 0c             	mov    0xc(%edi),%eax
41aefc:	89 30                	mov    %esi,(%eax)
41aefe:	8b 47 1c             	mov    0x1c(%edi),%eax
41af01:	83 20 00             	andl   $0x0,(%eax)
41af04:	8b 47 2c             	mov    0x2c(%edi),%eax
41af07:	d1 fe                	sar    $1,%esi
41af09:	89 30                	mov    %esi,(%eax)
41af0b:	83 cb 01             	or     $0x1,%ebx
41af0e:	eb 04                	jmp    0x41af14
41af10:	83 67 38 00          	andl   $0x0,0x38(%edi)
41af14:	89 5f 3c             	mov    %ebx,0x3c(%edi)
41af17:	5f                   	pop    %edi
41af18:	5e                   	pop    %esi
41af19:	5b                   	pop    %ebx
41af1a:	5d                   	pop    %ebp
41af1b:	c2 0c 00             	ret    $0xc
41af1e:	e8 63 ad 00 00       	call   0x425c86
41af23:	cc                   	int3
41af24:	55                   	push   %ebp
41af25:	8b ec                	mov    %esp,%ebp
41af27:	83 ec 3c             	sub    $0x3c,%esp
41af2a:	8d 45 f0             	lea    -0x10(%ebp),%eax
41af2d:	53                   	push   %ebx
41af2e:	56                   	push   %esi
41af2f:	57                   	push   %edi
41af30:	50                   	push   %eax
41af31:	8b d9                	mov    %ecx,%ebx
41af33:	e8 02 af 00 00       	call   0x425e3a
41af38:	8b f0                	mov    %eax,%esi
41af3a:	8d 7b 08             	lea    0x8(%ebx),%edi
41af3d:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41af40:	50                   	push   %eax
41af41:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41af42:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41af43:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41af44:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41af45:	e8 56 b0 00 00       	call   0x425fa0
41af4a:	59                   	pop    %ecx
41af4b:	59                   	pop    %ecx
41af4c:	6a 0b                	push   $0xb
41af4e:	59                   	pop    %ecx
41af4f:	8d 7b 18             	lea    0x18(%ebx),%edi
41af52:	8b f0                	mov    %eax,%esi
41af54:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
41af56:	5f                   	pop    %edi
41af57:	5e                   	pop    %esi
41af58:	5b                   	pop    %ebx
41af59:	c9                   	leave
41af5a:	c2 04 00             	ret    $0x4
41af5d:	6a 68                	push   $0x68
41af5f:	b8 cf f7 48 00       	mov    $0x48f7cf,%eax
41af64:	e8 83 4b 02 00       	call   0x43faec
41af69:	8b d9                	mov    %ecx,%ebx
41af6b:	89 5d 8c             	mov    %ebx,-0x74(%ebp)
41af6e:	e8 6a ce 04 00       	call   0x467ddd
41af73:	89 45 90             	mov    %eax,-0x70(%ebp)
41af76:	8d 45 94             	lea    -0x6c(%ebp),%eax
41af79:	50                   	push   %eax
41af7a:	e8 21 b0 00 00       	call   0x425fa0
41af7f:	59                   	pop    %ecx
41af80:	6a 0b                	push   $0xb
41af82:	59                   	pop    %ecx
41af83:	8b f0                	mov    %eax,%esi
41af85:	8d 7d c0             	lea    -0x40(%ebp),%edi
41af88:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
41af8a:	33 f6                	xor    %esi,%esi
41af8c:	89 73 08             	mov    %esi,0x8(%ebx)
41af8f:	89 73 10             	mov    %esi,0x10(%ebx)
41af92:	89 73 14             	mov    %esi,0x14(%ebx)
41af95:	89 75 fc             	mov    %esi,-0x4(%ebp)
41af98:	8d 45 94             	lea    -0x6c(%ebp),%eax
41af9b:	50                   	push   %eax
41af9c:	8b 4d 08             	mov    0x8(%ebp),%ecx