41a990:	85 c0                	test   %eax,%eax
41a992:	74 0a                	je     0x41a99e
41a994:	f6 45 c0 08          	testb  $0x8,-0x40(%ebp)
41a998:	0f 85 e3 cf 00 00    	jne    0x427981
41a99e:	66 83 fe 2d          	cmp    $0x2d,%si
41a9a2:	0f 84 e4 cf 00 00    	je     0x42798c
41a9a8:	66 83 fe 2b          	cmp    $0x2b,%si
41a9ac:	74 49                	je     0x41a9f7
41a9ae:	8b ff                	mov    %edi,%edi
41a9b0:	8d 45 c8             	lea    -0x38(%ebp),%eax
41a9b3:	66 89 75 c4          	mov    %si,-0x3c(%ebp)
41a9b7:	50                   	push   %eax
41a9b8:	6a 01                	push   $0x1
41a9ba:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41a9bd:	50                   	push   %eax
41a9be:	6a 01                	push   $0x1
41a9c0:	6a 7f                	push   $0x7f
41a9c2:	ff 15 2c 11 45 00    	call   *0x45112c
41a9c8:	85 c0                	test   %eax,%eax
41a9ca:	74 33                	je     0x41a9ff
41a9cc:	f6 45 c8 04          	testb  $0x4,-0x38(%ebp)
41a9d0:	74 2d                	je     0x41a9ff
41a9d2:	0f b7 ce             	movzwl %si,%ecx
41a9d5:	83 e9 30             	sub    $0x30,%ecx
41a9d8:	83 f9 0a             	cmp    $0xa,%ecx
41a9db:	73 4d                	jae    0x41aa2a
41a9dd:	8b 45 b0             	mov    -0x50(%ebp),%eax
41a9e0:	83 cb 08             	or     $0x8,%ebx
41a9e3:	3d 99 99 99 19       	cmp    $0x19999999,%eax
41a9e8:	0f 83 db cf 00 00    	jae    0x4279c9
41a9ee:	8d 04 80             	lea    (%eax,%eax,4),%eax
41a9f1:	8d 04 41             	lea    (%ecx,%eax,2),%eax
41a9f4:	89 45 b0             	mov    %eax,-0x50(%ebp)
41a9f7:	0f b7 37             	movzwl (%edi),%esi
41a9fa:	83 c7 02             	add    $0x2,%edi
41a9fd:	eb b1                	jmp    0x41a9b0
41a9ff:	8d 45 d0             	lea    -0x30(%ebp),%eax
41aa02:	66 89 75 cc          	mov    %si,-0x34(%ebp)
41aa06:	50                   	push   %eax
41aa07:	6a 01                	push   $0x1
41aa09:	8d 45 cc             	lea    -0x34(%ebp),%eax
41aa0c:	50                   	push   %eax
41aa0d:	6a 01                	push   $0x1
41aa0f:	6a 7f                	push   $0x7f
41aa11:	ff 15 2c 11 45 00    	call   *0x45112c
41aa17:	85 c0                	test   %eax,%eax
41aa19:	74 0f                	je     0x41aa2a
41aa1b:	0f b7 45 d0          	movzwl -0x30(%ebp),%eax
41aa1f:	a9 04 01 00 00       	test   $0x104,%eax
41aa24:	0f 85 71 cf 00 00    	jne    0x42799b
41aa2a:	f6 c3 08             	test   $0x8,%bl
41aa2d:	0f 84 a9 cf 00 00    	je     0x4279dc
41aa33:	f6 c3 04             	test   $0x4,%bl
41aa36:	0f 85 af cf 00 00    	jne    0x4279eb
41aa3c:	8b 45 b0             	mov    -0x50(%ebp),%eax
41aa3f:	f6 c3 01             	test   $0x1,%bl
41aa42:	75 14                	jne    0x41aa58
41aa44:	f6 c3 02             	test   $0x2,%bl
41aa47:	0f 85 93 cf 00 00    	jne    0x4279e0
41aa4d:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
41aa52:	0f 87 93 cf 00 00    	ja     0x4279eb
41aa58:	f6 c3 02             	test   $0x2,%bl
41aa5b:	0f 85 ac cf 00 00    	jne    0x427a0d
41aa61:	8b 45 b8             	mov    -0x48(%ebp),%eax
41aa64:	b9 2e 00 00 00       	mov    $0x2e,%ecx
41aa69:	66 3b 48 1c          	cmp    0x1c(%eax),%cx
41aa6d:	0f 85 8f cd 00 00    	jne    0x427802
41aa73:	33 c9                	xor    %ecx,%ecx
41aa75:	8d 78 1e             	lea    0x1e(%eax),%edi
41aa78:	89 4d a0             	mov    %ecx,-0x60(%ebp)
41aa7b:	33 f6                	xor    %esi,%esi
41aa7d:	ba 2a 00 00 00       	mov    $0x2a,%edx
41aa82:	0f b7 04 77          	movzwl (%edi,%esi,2),%eax
41aa86:	66 3b d0             	cmp    %ax,%dx
41aa89:	0f 84 88 cf 00 00    	je     0x427a17
41aa8f:	66 89 45 d4          	mov    %ax,-0x2c(%ebp)
41aa93:	8d 45 d8             	lea    -0x28(%ebp),%eax
41aa96:	50                   	push   %eax
41aa97:	6a 01                	push   $0x1
41aa99:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41aa9c:	50                   	push   %eax
41aa9d:	6a 01                	push   $0x1
41aa9f:	6a 7f                	push   $0x7f
41aaa1:	ff 15 2c 11 45 00    	call   *0x45112c
41aaa7:	85 c0                	test   %eax,%eax
41aaa9:	0f 84 53 cd 00 00    	je     0x427802
41aaaf:	f6 45 d8 04          	testb  $0x4,-0x28(%ebp)
41aab3:	0f 84 49 cd 00 00    	je     0x427802
41aab9:	83 c8 ff             	or     $0xffffffff,%eax
41aabc:	0f b7 c8             	movzwl %ax,%ecx
41aabf:	89 4d a0             	mov    %ecx,-0x60(%ebp)
41aac2:	8d 50 2b             	lea    0x2b(%eax),%edx
41aac5:	46                   	inc    %esi
41aac6:	83 fe 06             	cmp    $0x6,%esi
41aac9:	72 b7                	jb     0x41aa82
41aacb:	66 3b c1             	cmp    %cx,%ax
41aace:	0f 85 2e cd 00 00    	jne    0x427802
41aad4:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
41aad7:	33 f6                	xor    %esi,%esi
41aad9:	8b c1                	mov    %ecx,%eax
41aadb:	ba 0c 00 00 00       	mov    $0xc,%edx
41aae0:	2b f8                	sub    %eax,%edi
41aae2:	8d 42 fa             	lea    -0x6(%edx),%eax
41aae5:	85 c0                	test   %eax,%eax
41aae7:	74 19                	je     0x41ab02
41aae9:	0f b7 04 39          	movzwl (%ecx,%edi,1),%eax
41aaed:	66 85 c0             	test   %ax,%ax
41aaf0:	74 10                	je     0x41ab02
41aaf2:	66 89 01             	mov    %ax,(%ecx)
41aaf5:	83 c1 02             	add    $0x2,%ecx
41aaf8:	83 ea 01             	sub    $0x1,%edx
41aafb:	75 e5                	jne    0x41aae2
41aafd:	e9 26 cf 00 00       	jmp    0x427a28
41ab02:	85 d2                	test   %edx,%edx
41ab04:	0f 84 1e cf 00 00    	je     0x427a28
41ab0a:	33 c0                	xor    %eax,%eax
41ab0c:	66 89 01             	mov    %ax,(%ecx)
41ab0f:	85 f6                	test   %esi,%esi
41ab11:	0f 88 eb cc 00 00    	js     0x427802
41ab17:	0f b7 75 e4          	movzwl -0x1c(%ebp),%esi
41ab1b:	8d 7d e6             	lea    -0x1a(%ebp),%edi
41ab1e:	66 89 45 f0          	mov    %ax,-0x10(%ebp)
41ab22:	33 db                	xor    %ebx,%ebx
41ab24:	89 45 b8             	mov    %eax,-0x48(%ebp)
41ab27:	8d 45 c0             	lea    -0x40(%ebp),%eax
41ab2a:	66 89 75 bc          	mov    %si,-0x44(%ebp)
41ab2e:	50                   	push   %eax
41ab2f:	6a 01                	push   $0x1
41ab31:	8d 45 bc             	lea    -0x44(%ebp),%eax
41ab34:	50                   	push   %eax
41ab35:	6a 01                	push   $0x1
41ab37:	6a 7f                	push   $0x7f
41ab39:	ff 15 2c 11 45 00    	call   *0x45112c
41ab3f:	85 c0                	test   %eax,%eax
41ab41:	74 0a                	je     0x41ab4d
41ab43:	f6 45 c0 08          	testb  $0x8,-0x40(%ebp)
41ab47:	0f 85 e8 ce 00 00    	jne    0x427a35
41ab4d:	66 83 fe 2d          	cmp    $0x2d,%si
41ab51:	0f 84 e9 ce 00 00    	je     0x427a40
41ab57:	66 83 fe 2b          	cmp    $0x2b,%si
41ab5b:	74 4a                	je     0x41aba7
41ab5d:	8d 49 00             	lea    0x0(%ecx),%ecx
41ab60:	8d 45 c8             	lea    -0x38(%ebp),%eax
41ab63:	66 89 75 c4          	mov    %si,-0x3c(%ebp)
41ab67:	50                   	push   %eax
41ab68:	6a 01                	push   $0x1
41ab6a:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41ab6d:	50                   	push   %eax
41ab6e:	6a 01                	push   $0x1
41ab70:	6a 7f                	push   $0x7f
41ab72:	ff 15 2c 11 45 00    	call   *0x45112c
41ab78:	85 c0                	test   %eax,%eax
41ab7a:	74 33                	je     0x41abaf
41ab7c:	f6 45 c8 04          	testb  $0x4,-0x38(%ebp)
41ab80:	74 2d                	je     0x41abaf
41ab82:	0f b7 ce             	movzwl %si,%ecx
41ab85:	83 e9 30             	sub    $0x30,%ecx
41ab88:	83 f9 0a             	cmp    $0xa,%ecx
41ab8b:	73 4d                	jae    0x41abda
41ab8d:	8b 45 b8             	mov    -0x48(%ebp),%eax
41ab90:	83 cb 08             	or     $0x8,%ebx
41ab93:	3d 99 99 99 19       	cmp    $0x19999999,%eax
41ab98:	0f 83 df ce 00 00    	jae    0x427a7d
41ab9e:	8d 04 80             	lea    (%eax,%eax,4),%eax
41aba1:	8d 04 41             	lea    (%ecx,%eax,2),%eax
41aba4:	89 45 b8             	mov    %eax,-0x48(%ebp)
41aba7:	0f b7 37             	movzwl (%edi),%esi
41abaa:	83 c7 02             	add    $0x2,%edi
41abad:	eb b1                	jmp    0x41ab60
41abaf:	8d 45 d0             	lea    -0x30(%ebp),%eax
41abb2:	66 89 75 cc          	mov    %si,-0x34(%ebp)
41abb6:	50                   	push   %eax
41abb7:	6a 01                	push   $0x1
41abb9:	8d 45 cc             	lea    -0x34(%ebp),%eax
41abbc:	50                   	push   %eax
41abbd:	6a 01                	push   $0x1
41abbf:	6a 7f                	push   $0x7f
41abc1:	ff 15 2c 11 45 00    	call   *0x45112c
41abc7:	85 c0                	test   %eax,%eax
41abc9:	74 0f                	je     0x41abda
41abcb:	0f b7 45 d0          	movzwl -0x30(%ebp),%eax
41abcf:	a9 04 01 00 00       	test   $0x104,%eax
41abd4:	0f 85 75 ce 00 00    	jne    0x427a4f
41abda:	f6 c3 08             	test   $0x8,%bl
41abdd:	0f 84 ad ce 00 00    	je     0x427a90
41abe3:	f6 c3 04             	test   $0x4,%bl
41abe6:	0f 85 b3 ce 00 00    	jne    0x427a9f
41abec:	8b 45 b8             	mov    -0x48(%ebp),%eax
41abef:	f6 c3 01             	test   $0x1,%bl
41abf2:	75 14                	jne    0x41ac08
41abf4:	f6 c3 02             	test   $0x2,%bl
41abf7:	0f 85 97 ce 00 00    	jne    0x427a94
41abfd:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
41ac02:	0f 87 97 ce 00 00    	ja     0x427a9f
41ac08:	f6 c3 02             	test   $0x2,%bl
41ac0b:	0f 85 b0 ce 00 00    	jne    0x427ac1
41ac11:	8b 5d e0             	mov    -0x20(%ebp),%ebx
41ac14:	33 c9                	xor    %ecx,%ecx
41ac16:	b8 3a 00 00 00       	mov    $0x3a,%eax
41ac1b:	89 4d 8c             	mov    %ecx,-0x74(%ebp)
41ac1e:	66 3b 03             	cmp    (%ebx),%ax
41ac21:	0f 85 db cb 00 00    	jne    0x427802
41ac27:	be 01 00 00 00       	mov    $0x1,%esi
41ac2c:	ba 2a 00 00 00       	mov    $0x2a,%edx
41ac31:	0f b7 04 73          	movzwl (%ebx,%esi,2),%eax
41ac35:	66 3b d0             	cmp    %ax,%dx
41ac38:	0f 84 8d ce 00 00    	je     0x427acb
41ac3e:	66 89 45 d4          	mov    %ax,-0x2c(%ebp)
41ac42:	8d 45 d8             	lea    -0x28(%ebp),%eax
41ac45:	50                   	push   %eax
41ac46:	6a 01                	push   $0x1
41ac48:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41ac4b:	50                   	push   %eax
41ac4c:	6a 01                	push   $0x1
41ac4e:	6a 7f                	push   $0x7f
41ac50:	ff 15 2c 11 45 00    	call   *0x45112c
41ac56:	85 c0                	test   %eax,%eax
41ac58:	0f 84 a4 cb 00 00    	je     0x427802
41ac5e:	f6 45 d8 04          	testb  $0x4,-0x28(%ebp)
41ac62:	0f 84 9a cb 00 00    	je     0x427802
41ac68:	83 c8 ff             	or     $0xffffffff,%eax
41ac6b:	0f b7 c8             	movzwl %ax,%ecx
41ac6e:	89 4d 8c             	mov    %ecx,-0x74(%ebp)
41ac71:	8d 50 2b             	lea    0x2b(%eax),%edx
41ac74:	46                   	inc    %esi
41ac75:	83 fe 04             	cmp    $0x4,%esi
41ac78:	7c b7                	jl     0x41ac31
41ac7a:	66 3b c1             	cmp    %cx,%ax
41ac7d:	0f 85 37 01 00 00    	jne    0x41adba
41ac83:	8d 4d dc             	lea    -0x24(%ebp),%ecx
41ac86:	ba 04 00 00 00       	mov    $0x4,%edx
41ac8b:	8b c1                	mov    %ecx,%eax
41ac8d:	2b d8                	sub    %eax,%ebx
41ac8f:	90                   	nop
41ac90:	8d 42 ff             	lea    -0x1(%edx),%eax
41ac93:	85 c0                	test   %eax,%eax
41ac95:	74 1a                	je     0x41acb1
41ac97:	0f b7 44 19 02       	movzwl 0x2(%ecx,%ebx,1),%eax
41ac9c:	66 85 c0             	test   %ax,%ax
41ac9f:	74 10                	je     0x41acb1
41aca1:	66 89 01             	mov    %ax,(%ecx)
41aca4:	83 c1 02             	add    $0x2,%ecx
41aca7:	83 ea 01             	sub    $0x1,%edx
41acaa:	75 e4                	jne    0x41ac90
41acac:	e9 2b ce 00 00       	jmp    0x427adc
41acb1:	85 d2                	test   %edx,%edx
41acb3:	0f 84 23 ce 00 00    	je     0x427adc
41acb9:	33 c0                	xor    %eax,%eax
41acbb:	8d 7d de             	lea    -0x22(%ebp),%edi
41acbe:	66 89 01             	mov    %ax,(%ecx)
41acc1:	33 db                	xor    %ebx,%ebx
41acc3:	0f b7 75 dc          	movzwl -0x24(%ebp),%esi
41acc7:	66 89 45 e2          	mov    %ax,-0x1e(%ebp)
41accb:	89 45 b4             	mov    %eax,-0x4c(%ebp)
41acce:	8b ff                	mov    %edi,%edi
41acd0:	8d 45 c0             	lea    -0x40(%ebp),%eax
41acd3:	66 89 75 bc          	mov    %si,-0x44(%ebp)
41acd7:	50                   	push   %eax
41acd8:	6a 01                	push   $0x1
41acda:	8d 45 bc             	lea    -0x44(%ebp),%eax
41acdd:	50                   	push   %eax
41acde:	6a 01                	push   $0x1
41ace0:	6a 7f                	push   $0x7f
41ace2:	ff 15 2c 11 45 00    	call   *0x45112c
41ace8:	85 c0                	test   %eax,%eax
41acea:	74 0a                	je     0x41acf6
41acec:	f6 45 c0 08          	testb  $0x8,-0x40(%ebp)
41acf0:	0f 85 ee cd 00 00    	jne    0x427ae4
41acf6:	66 83 fe 2d          	cmp    $0x2d,%si
41acfa:	0f 84 ef cd 00 00    	je     0x427aef
41ad00:	66 83 fe 2b          	cmp    $0x2b,%si
41ad04:	74 47                	je     0x41ad4d
41ad06:	8d 45 c8             	lea    -0x38(%ebp),%eax
41ad09:	66 89 75 c4          	mov    %si,-0x3c(%ebp)
41ad0d:	50                   	push   %eax
41ad0e:	6a 01                	push   $0x1
41ad10:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41ad13:	50                   	push   %eax
41ad14:	6a 01                	push   $0x1
41ad16:	6a 7f                	push   $0x7f
41ad18:	ff 15 2c 11 45 00    	call   *0x45112c
41ad1e:	85 c0                	test   %eax,%eax
41ad20:	74 33                	je     0x41ad55
41ad22:	f6 45 c8 04          	testb  $0x4,-0x38(%ebp)
41ad26:	74 2d                	je     0x41ad55
41ad28:	0f b7 ce             	movzwl %si,%ecx
41ad2b:	83 e9 30             	sub    $0x30,%ecx
41ad2e:	83 f9 0a             	cmp    $0xa,%ecx
41ad31:	73 4d                	jae    0x41ad80
41ad33:	8b 45 b4             	mov    -0x4c(%ebp),%eax
41ad36:	83 cb 08             	or     $0x8,%ebx
41ad39:	3d 99 99 99 19       	cmp    $0x19999999,%eax
41ad3e:	0f 83 e8 cd 00 00    	jae    0x427b2c
41ad44:	8d 04 80             	lea    (%eax,%eax,4),%eax
41ad47:	8d 04 41             	lea    (%ecx,%eax,2),%eax
41ad4a:	89 45 b4             	mov    %eax,-0x4c(%ebp)
41ad4d:	0f b7 37             	movzwl (%edi),%esi
41ad50:	83 c7 02             	add    $0x2,%edi
41ad53:	eb b1                	jmp    0x41ad06
41ad55:	8d 45 d0             	lea    -0x30(%ebp),%eax
41ad58:	66 89 75 cc          	mov    %si,-0x34(%ebp)
41ad5c:	50                   	push   %eax
41ad5d:	6a 01                	push   $0x1
41ad5f:	8d 45 cc             	lea    -0x34(%ebp),%eax
41ad62:	50                   	push   %eax
41ad63:	6a 01                	push   $0x1
41ad65:	6a 7f                	push   $0x7f
41ad67:	ff 15 2c 11 45 00    	call   *0x45112c
41ad6d:	85 c0                	test   %eax,%eax
41ad6f:	74 0f                	je     0x41ad80
41ad71:	0f b7 45 d0          	movzwl -0x30(%ebp),%eax
41ad75:	a9 04 01 00 00       	test   $0x104,%eax
41ad7a:	0f 85 7e cd 00 00    	jne    0x427afe
41ad80:	f6 c3 08             	test   $0x8,%bl
41ad83:	0f 84 b6 cd 00 00    	je     0x427b3f
41ad89:	f6 c3 04             	test   $0x4,%bl
41ad8c:	0f 85 bc cd 00 00    	jne    0x427b4e
41ad92:	8b 45 b4             	mov    -0x4c(%ebp),%eax
41ad95:	f6 c3 01             	test   $0x1,%bl
41ad98:	75 14                	jne    0x41adae
41ad9a:	f6 c3 02             	test   $0x2,%bl
41ad9d:	0f 85 a0 cd 00 00    	jne    0x427b43
41ada3:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
41ada8:	0f 87 a0 cd 00 00    	ja     0x427b4e
41adae:	f6 c3 02             	test   $0x2,%bl
41adb1:	0f 85 b9 cd 00 00    	jne    0x427b70
41adb7:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
41adba:	8b 75 b0             	mov    -0x50(%ebp),%esi
41adbd:	8b 55 a0             	mov    -0x60(%ebp),%edx
41adc0:	8b 45 b8             	mov    -0x48(%ebp),%eax
41adc3:	8b 5d 80             	mov    -0x80(%ebp),%ebx
41adc6:	8b 7d 88             	mov    -0x78(%ebp),%edi
41adc9:	89 7b 18             	mov    %edi,0x18(%ebx)
41adcc:	8b 7d 84             	mov    -0x7c(%ebp),%edi
41adcf:	89 7b 1c             	mov    %edi,0x1c(%ebx)
41add2:	8b 7d ac             	mov    -0x54(%ebp),%edi
41add5:	89 7b 20             	mov    %edi,0x20(%ebx)
41add8:	8b 7d a8             	mov    -0x58(%ebp),%edi
41addb:	89 7b 24             	mov    %edi,0x24(%ebx)
41adde:	8b 7d a4             	mov    -0x5c(%ebp),%edi
41ade1:	89 7b 28             	mov    %edi,0x28(%ebx)
41ade4:	8b fb                	mov    %ebx,%edi
41ade6:	8b 5d 90             	mov    -0x70(%ebp),%ebx
41ade9:	89 47 30             	mov    %eax,0x30(%edi)
41adec:	8b 45 b4             	mov    -0x4c(%ebp),%eax
41adef:	89 47 34             	mov    %eax,0x34(%edi)
41adf2:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
41adf8:	66 89 47 04          	mov    %ax,0x4(%edi)
41adfc:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
41ae02:	66 89 47 06          	mov    %ax,0x6(%edi)