41aa1a:	1b db                	sbb    %ebx,%ebx
41aa1c:	89 bd 74 ff ff ff    	mov    %edi,-0x8c(%ebp)
41aa22:	6a 10                	push   $0x10
41aa24:	23 df                	and    %edi,%ebx
41aa26:	3d 00 08 00 00       	cmp    $0x800,%eax
41aa2b:	59                   	pop    %ecx
41aa2c:	0f 44 d9             	cmove  %ecx,%ebx
41aa2f:	3d 00 04 00 00       	cmp    $0x400,%eax
41aa34:	6a 08                	push   $0x8
41aa36:	59                   	pop    %ecx
41aa37:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
41aa3d:	0f 44 d9             	cmove  %ecx,%ebx
41aa40:	32 c0                	xor    %al,%al
41aa42:	8b ce                	mov    %esi,%ecx
41aa44:	88 45 87             	mov    %al,-0x79(%ebp)
41aa47:	88 85 78 ff ff ff    	mov    %al,-0x88(%ebp)
41aa4d:	88 45 86             	mov    %al,-0x7a(%ebp)
41aa50:	e8 9f 61 00 00       	call   0x420bf4
41aa55:	84 c0                	test   %al,%al
41aa57:	0f 85 93 00 00 00    	jne    0x41aaf0
41aa5d:	38 46 04             	cmp    %al,0x4(%esi)
41aa60:	75 07                	jne    0x41aa69
41aa62:	8b ce                	mov    %esi,%ecx
41aa64:	e8 2c 1a 00 00       	call   0x41c495
41aa69:	0f b7 46 06          	movzwl 0x6(%esi),%eax
41aa6d:	66 3b 45 b8          	cmp    -0x48(%ebp),%ax
41aa71:	75 7d                	jne    0x41aaf0
41aa73:	b0 01                	mov    $0x1,%al
41aa75:	8b ce                	mov    %esi,%ecx
41aa77:	88 45 87             	mov    %al,-0x79(%ebp)
41aa7a:	88 85 78 ff ff ff    	mov    %al,-0x88(%ebp)
41aa80:	e8 4a 03 00 00       	call   0x41adcf
41aa85:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
41aa8b:	8b ce                	mov    %esi,%ecx
41aa8d:	e8 62 61 00 00       	call   0x420bf4
41aa92:	84 c0                	test   %al,%al
41aa94:	75 50                	jne    0x41aae6
41aa96:	38 46 04             	cmp    %al,0x4(%esi)
41aa99:	75 07                	jne    0x41aaa2
41aa9b:	8b ce                	mov    %esi,%ecx
41aa9d:	e8 f3 19 00 00       	call   0x41c495
41aaa2:	0f b7 46 06          	movzwl 0x6(%esi),%eax
41aaa6:	66 3b 45 ea          	cmp    -0x16(%ebp),%ax
41aaaa:	74 17                	je     0x41aac3
41aaac:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
41aab0:	75 0b                	jne    0x41aabd
41aab2:	8b ce                	mov    %esi,%ecx
41aab4:	e8 dc 19 00 00       	call   0x41c495
41aab9:	0f b7 46 06          	movzwl 0x6(%esi),%eax
41aabd:	66 3b 45 e8          	cmp    -0x18(%ebp),%ax
41aac1:	75 23                	jne    0x41aae6
41aac3:	85 db                	test   %ebx,%ebx
41aac5:	74 05                	je     0x41aacc
41aac7:	83 fb 10             	cmp    $0x10,%ebx
41aaca:	75 1a                	jne    0x41aae6
41aacc:	6a 10                	push   $0x10
41aace:	32 c0                	xor    %al,%al
41aad0:	8b ce                	mov    %esi,%ecx
41aad2:	5b                   	pop    %ebx
41aad3:	88 45 87             	mov    %al,-0x79(%ebp)
41aad6:	88 85 78 ff ff ff    	mov    %al,-0x88(%ebp)
41aadc:	e8 ee 02 00 00       	call   0x41adcf
41aae1:	6a 08                	push   $0x8
41aae3:	59                   	pop    %ecx
41aae4:	eb 15                	jmp    0x41aafb
41aae6:	6a 08                	push   $0x8
41aae8:	85 db                	test   %ebx,%ebx
41aaea:	59                   	pop    %ecx
41aaeb:	0f 44 d9             	cmove  %ecx,%ebx
41aaee:	eb 03                	jmp    0x41aaf3
41aaf0:	6a 08                	push   $0x8
41aaf2:	59                   	pop    %ecx
41aaf3:	85 db                	test   %ebx,%ebx
41aaf5:	74 12                	je     0x41ab09
41aaf7:	3b df                	cmp    %edi,%ebx
41aaf9:	74 0e                	je     0x41ab09
41aafb:	6a 16                	push   $0x16
41aafd:	3b d9                	cmp    %ecx,%ebx
41aaff:	58                   	pop    %eax
41ab00:	0f 44 c1             	cmove  %ecx,%eax
41ab03:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
41ab09:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
41ab0f:	33 c0                	xor    %eax,%eax
41ab11:	8d 4d a0             	lea    -0x60(%ebp),%ecx
41ab14:	89 45 b0             	mov    %eax,-0x50(%ebp)
41ab17:	89 45 b4             	mov    %eax,-0x4c(%ebp)
41ab1a:	6a 01                	push   $0x1
41ab1c:	89 45 b0             	mov    %eax,-0x50(%ebp)
41ab1f:	c7 45 b4 0f 00 00 00 	movl   $0xf,-0x4c(%ebp)
41ab26:	88 45 a0             	mov    %al,-0x60(%ebp)
41ab29:	e8 10 4c 00 00       	call   0x41f73e
41ab2e:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
41ab32:	8b ce                	mov    %esi,%ecx
41ab34:	8b 85 6c ff ff ff    	mov    -0x94(%ebp),%eax
41ab3a:	33 ff                	xor    %edi,%edi
41ab3c:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
41ab42:	83 c0 1f             	add    $0x1f,%eax
41ab45:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
41ab4b:	e8 a4 60 00 00       	call   0x420bf4
41ab50:	84 c0                	test   %al,%al
41ab52:	0f 85 fe 00 00 00    	jne    0x41ac56
41ab58:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
41ab5c:	75 07                	jne    0x41ab65
41ab5e:	8b ce                	mov    %esi,%ecx
41ab60:	e8 30 19 00 00       	call   0x41c495
41ab65:	0f b7 4e 06          	movzwl 0x6(%esi),%ecx
41ab69:	8d 45 b8             	lea    -0x48(%ebp),%eax
41ab6c:	66 39 08             	cmp    %cx,(%eax)
41ab6f:	74 0a                	je     0x41ab7b
41ab71:	83 c0 02             	add    $0x2,%eax
41ab74:	8d 55 ec             	lea    -0x14(%ebp),%edx
41ab77:	3b c2                	cmp    %edx,%eax
41ab79:	75 f1                	jne    0x41ab6c
41ab7b:	8d 4d b8             	lea    -0x48(%ebp),%ecx
41ab7e:	2b c1                	sub    %ecx,%eax
41ab80:	d1 f8                	sar    $1,%eax
41ab82:	3b 85 74 ff ff ff    	cmp    -0x8c(%ebp),%eax
41ab88:	73 4b                	jae    0x41abd5
41ab8a:	80 7d 86 00          	cmpb   $0x0,-0x7a(%ebp)
41ab8e:	8a 88 a8 64 49 00    	mov    0x4964a8(%eax),%cl
41ab94:	8b 45 80             	mov    -0x80(%ebp),%eax
41ab97:	88 08                	mov    %cl,(%eax)
41ab99:	75 05                	jne    0x41aba0
41ab9b:	80 f9 30             	cmp    $0x30,%cl
41ab9e:	74 10                	je     0x41abb0
41aba0:	3b 85 78 ff ff ff    	cmp    -0x88(%ebp),%eax
41aba6:	73 08                	jae    0x41abb0
41aba8:	40                   	inc    %eax
41aba9:	c6 45 86 01          	movb   $0x1,-0x7a(%ebp)
41abad:	89 45 80             	mov    %eax,-0x80(%ebp)
41abb0:	83 7d b4 10          	cmpl   $0x10,-0x4c(%ebp)
41abb4:	8d 45 a0             	lea    -0x60(%ebp),%eax
41abb7:	c6 45 87 01          	movb   $0x1,-0x79(%ebp)
41abbb:	0f 43 45 a0          	cmovae -0x60(%ebp),%eax
41abbf:	80 3c 38 7f          	cmpb   $0x7f,(%eax,%edi,1)
41abc3:	74 55                	je     0x41ac1a
41abc5:	83 7d b4 10          	cmpl   $0x10,-0x4c(%ebp)
41abc9:	8d 45 a0             	lea    -0x60(%ebp),%eax
41abcc:	0f 43 45 a0          	cmovae -0x60(%ebp),%eax
41abd0:	fe 04 38             	incb   (%eax,%edi,1)
41abd3:	eb 45                	jmp    0x41ac1a
41abd5:	8b 55 b4             	mov    -0x4c(%ebp),%edx
41abd8:	8d 45 a0             	lea    -0x60(%ebp),%eax
41abdb:	83 fa 10             	cmp    $0x10,%edx
41abde:	0f 43 45 a0          	cmovae -0x60(%ebp),%eax
41abe2:	80 3c 38 00          	cmpb   $0x0,(%eax,%edi,1)
41abe6:	74 51                	je     0x41ac39
41abe8:	66 83 bd 70 ff ff ff 	cmpw   $0x0,-0x90(%ebp)
41abef:	00
41abf0:	74 47                	je     0x41ac39
41abf2:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
41abf6:	75 0a                	jne    0x41ac02
41abf8:	8b ce                	mov    %esi,%ecx
41abfa:	e8 96 18 00 00       	call   0x41c495
41abff:	8b 55 b4             	mov    -0x4c(%ebp),%edx
41ac02:	0f b7 46 06          	movzwl 0x6(%esi),%eax
41ac06:	66 3b 85 70 ff ff ff 	cmp    -0x90(%ebp),%ax
41ac0d:	75 2a                	jne    0x41ac39
41ac0f:	6a 00                	push   $0x0
41ac11:	8d 4d a0             	lea    -0x60(%ebp),%ecx
41ac14:	e8 79 7a 00 00       	call   0x422692
41ac19:	47                   	inc    %edi
41ac1a:	8b ce                	mov    %esi,%ecx
41ac1c:	e8 ae 01 00 00       	call   0x41adcf
41ac21:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
41ac27:	8b ce                	mov    %esi,%ecx
41ac29:	e8 c6 5f 00 00       	call   0x420bf4
41ac2e:	84 c0                	test   %al,%al
41ac30:	0f 84 22 ff ff ff    	je     0x41ab58
41ac36:	8b 55 b4             	mov    -0x4c(%ebp),%edx
41ac39:	8b 75 a0             	mov    -0x60(%ebp),%esi
41ac3c:	85 ff                	test   %edi,%edi
41ac3e:	74 1c                	je     0x41ac5c
41ac40:	83 fa 10             	cmp    $0x10,%edx
41ac43:	8d 45 a0             	lea    -0x60(%ebp),%eax
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)