4166c1:	84 c0                	test   %al,%al
4166c3:	75 f9                	jne    0x4166be
4166c5:	2b 8d 70 f4 ff ff    	sub    -0xb90(%ebp),%ecx
4166cb:	46                   	inc    %esi
4166cc:	03 f1                	add    %ecx,%esi
4166ce:	85 d2                	test   %edx,%edx
4166d0:	78 25                	js     0x4166f7
4166d2:	ff b5 80 f4 ff ff    	push   -0xb80(%ebp)
4166d8:	ff 37                	push   (%edi)
4166da:	ff 15 68 60 42 00    	call   *0x426068
4166e0:	85 c0                	test   %eax,%eax
4166e2:	74 39                	je     0x41671d
4166e4:	8b 8d 5c f4 ff ff    	mov    -0xba4(%ebp),%ecx
4166ea:	8b 95 7c f4 ff ff    	mov    -0xb84(%ebp),%edx
4166f0:	89 04 8d 00 40 42 00 	mov    %eax,0x424000(,%ecx,4)
4166f7:	8b 85 84 f4 ff ff    	mov    -0xb7c(%ebp),%eax
4166fd:	ff 85 5c f4 ff ff    	incl   -0xba4(%ebp)
416703:	40                   	inc    %eax
416704:	89 85 84 f4 ff ff    	mov    %eax,-0xb7c(%ebp)
41670a:	3b 85 60 f4 ff ff    	cmp    -0xba0(%ebp),%eax
416710:	72 9b                	jb     0x4166ad
416712:	83 c7 10             	add    $0x10,%edi
416715:	38 1e                	cmp    %bl,(%esi)
416717:	0f 85 dd fe ff ff    	jne    0x4165fa
41671d:	8b b5 7c f4 ff ff    	mov    -0xb84(%ebp),%esi
416723:	8b 85 50 f4 ff ff    	mov    -0xbb0(%ebp),%eax
416729:	eb 09                	jmp    0x416734
41672b:	be 7a 00 00 c0       	mov    $0xc000007a,%esi
416730:	eb f1                	jmp    0x416723
416732:	8b f3                	mov    %ebx,%esi
416734:	85 c0                	test   %eax,%eax
416736:	74 14                	je     0x41674c
416738:	ff 15 7c 60 42 00    	call   *0x42607c
41673e:	ff b5 50 f4 ff ff    	push   -0xbb0(%ebp)
416744:	53                   	push   %ebx
416745:	50                   	push   %eax
416746:	ff 15 a4 61 42 00    	call   *0x4261a4
41674c:	85 f6                	test   %esi,%esi
41674e:	79 3c                	jns    0x41678c
416750:	8b f3                	mov    %ebx,%esi
416752:	8b 86 30 59 42 00    	mov    0x425930(%esi),%eax
416758:	85 c0                	test   %eax,%eax
41675a:	74 07                	je     0x416763
41675c:	50                   	push   %eax
41675d:	ff 15 ac 60 42 00    	call   *0x4260ac
416763:	83 c6 10             	add    $0x10,%esi
416766:	83 fe 40             	cmp    $0x40,%esi
416769:	72 e7                	jb     0x416752
41676b:	6a 40                	push   $0x40
41676d:	53                   	push   %ebx
41676e:	68 30 59 42 00       	push   $0x425930
416773:	e8 d0 c0 00 00       	call   0x422848
416778:	83 c4 0c             	add    $0xc,%esp
41677b:	be 90 10 40 00       	mov    $0x401090,%esi
416780:	bf 00 40 42 00       	mov    $0x424000,%edi
416785:	6a 2e                	push   $0x2e
416787:	59                   	pop    %ecx
416788:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
41678a:	eb 0b                	jmp    0x416797
41678c:	a1 24 5e 42 00       	mov    0x425e24,%eax
416791:	40                   	inc    %eax
416792:	a3 24 5e 42 00       	mov    %eax,0x425e24
416797:	33 c0                	xor    %eax,%eax
416799:	b9 28 5e 42 00       	mov    $0x425e28,%ecx
41679e:	87 01                	xchg   %eax,(%ecx)
4167a0:	6a 54                	push   $0x54
4167a2:	8d 85 f0 f6 ff ff    	lea    -0x910(%ebp),%eax
4167a8:	53                   	push   %ebx
4167a9:	50                   	push   %eax
4167aa:	e8 99 c0 00 00       	call   0x422848
4167af:	33 c0                	xor    %eax,%eax
4167b1:	8b 35 7c 40 42 00    	mov    0x42407c,%esi
4167b7:	8d bd f0 fb ff ff    	lea    -0x410(%ebp),%edi
4167bd:	83 c4 0c             	add    $0xc,%esp
4167c0:	ab                   	stos   %eax,%es:(%edi)
4167c1:	6a 0f                	push   $0xf
4167c3:	ab                   	stos   %eax,%es:(%edi)
4167c4:	5a                   	pop    %edx
4167c5:	68 03 04 00 00       	push   $0x403
4167ca:	53                   	push   %ebx
4167cb:	ab                   	stos   %eax,%es:(%edi)
4167cc:	53                   	push   %ebx
4167cd:	ab                   	stos   %eax,%es:(%edi)
4167ce:	8b 85 38 f4 ff ff    	mov    -0xbc8(%ebp),%eax
4167d4:	8b c8                	mov    %eax,%ecx
4167d6:	23 ca                	and    %edx,%ecx
4167d8:	89 8d 38 f4 ff ff    	mov    %ecx,-0xbc8(%ebp)
4167de:	8b c8                	mov    %eax,%ecx
4167e0:	c1 e9 04             	shr    $0x4,%ecx
4167e3:	23 ca                	and    %edx,%ecx
4167e5:	66 89 4d f4          	mov    %cx,-0xc(%ebp)
4167e9:	8b c8                	mov    %eax,%ecx
4167eb:	c1 e9 08             	shr    $0x8,%ecx
4167ee:	23 ca                	and    %edx,%ecx
4167f0:	c1 e8 0c             	shr    $0xc,%eax
4167f3:	66 89 4d f6          	mov    %cx,-0xa(%ebp)
4167f7:	23 c2                	and    %edx,%eax
4167f9:	8b ce                	mov    %esi,%ecx
4167fb:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
4167ff:	ff 15 78 64 42 00    	call   *0x426478
416805:	ff d6                	call   *%esi
416807:	89 85 5c f4 ff ff    	mov    %eax,-0xba4(%ebp)
41680d:	c7 85 50 f4 ff ff ff 	movl   $0xffffff,-0xbb0(%ebp)
416814:	ff ff 00
416817:	85 c0                	test   %eax,%eax
416819:	75 38                	jne    0x416853
41681b:	ff 15 70 61 42 00    	call   *0x426170
416821:	8b f8                	mov    %eax,%edi
416823:	89 bd 7c f4 ff ff    	mov    %edi,-0xb84(%ebp)
416829:	85 ff                	test   %edi,%edi
41682b:	7e 11                	jle    0x41683e
41682d:	0f b7 ff             	movzwl %di,%edi
416830:	81 cf 00 00 07 80    	or     $0x80070000,%edi
416836:	89 bd 7c f4 ff ff    	mov    %edi,-0xb84(%ebp)
41683c:	85 ff                	test   %edi,%edi
41683e:	0f 88 f5 15 00 00    	js     0x417e39
416844:	c7 85 7c f4 ff ff 05 	movl   $0x80004005,-0xb84(%ebp)
41684b:	40 00 80
41684e:	e9 e6 15 00 00       	jmp    0x417e39
416853:	8b 35 50 40 42 00    	mov    0x424050,%esi
416859:	8d 85 dc f3 ff ff    	lea    -0xc24(%ebp),%eax
41685f:	50                   	push   %eax
416860:	53                   	push   %ebx
416861:	8d 85 18 f4 ff ff    	lea    -0xbe8(%ebp),%eax
416867:	89 9d f0 f3 ff ff    	mov    %ebx,-0xc10(%ebp)
41686d:	50                   	push   %eax
41686e:	8b fb                	mov    %ebx,%edi
416870:	89 9d ec f3 ff ff    	mov    %ebx,-0xc14(%ebp)
416876:	6a 08                	push   $0x8
416878:	8b ce                	mov    %esi,%ecx
41687a:	89 9d 60 f4 ff ff    	mov    %ebx,-0xba0(%ebp)
416880:	89 9d e8 f3 ff ff    	mov    %ebx,-0xc18(%ebp)
416886:	89 9d e4 f3 ff ff    	mov    %ebx,-0xc1c(%ebp)
41688c:	89 9d e0 f3 ff ff    	mov    %ebx,-0xc20(%ebp)
416892:	89 bd 7c f4 ff ff    	mov    %edi,-0xb84(%ebp)
416898:	89 9d dc f3 ff ff    	mov    %ebx,-0xc24(%ebp)
41689e:	ff 15 78 64 42 00    	call   *0x426478
4168a4:	ff d6                	call   *%esi
4168a6:	85 c0                	test   %eax,%eax
4168a8:	75 39                	jne    0x4168e3
4168aa:	ff 15 70 61 42 00    	call   *0x426170
4168b0:	8b f8                	mov    %eax,%edi
4168b2:	89 bd 7c f4 ff ff    	mov    %edi,-0xb84(%ebp)
4168b8:	85 ff                	test   %edi,%edi
4168ba:	7e 11                	jle    0x4168cd
4168bc:	0f b7 ff             	movzwl %di,%edi
4168bf:	81 cf 00 00 07 80    	or     $0x80070000,%edi
4168c5:	89 bd 7c f4 ff ff    	mov    %edi,-0xb84(%ebp)
4168cb:	85 ff                	test   %edi,%edi
4168cd:	0f 88 5c 01 00 00    	js     0x416a2f
4168d3:	bf 05 40 00 80       	mov    $0x80004005,%edi
4168d8:	89 bd 7c f4 ff ff    	mov    %edi,-0xb84(%ebp)
4168de:	e9 4c 01 00 00       	jmp    0x416a2f
4168e3:	8b 85 dc f3 ff ff    	mov    -0xc24(%ebp),%eax
4168e9:	03 c0                	add    %eax,%eax
4168eb:	50                   	push   %eax
4168ec:	53                   	push   %ebx
4168ed:	ff 15 7c 60 42 00    	call   *0x42607c
4168f3:	50                   	push   %eax
4168f4:	ff 15 a0 61 42 00    	call   *0x4261a0
4168fa:	8d 8d e4 f3 ff ff    	lea    -0xc1c(%ebp),%ecx
416900:	8b f0                	mov    %eax,%esi
416902:	e8 5d 86 00 00       	call   0x41ef64
416907:	85 f6                	test   %esi,%esi
416909:	75 0d                	jne    0x416918
41690b:	89 9d e4 f3 ff ff    	mov    %ebx,-0xc1c(%ebp)
416911:	bf 0e 00 07 80       	mov    $0x8007000e,%edi
416916:	eb c0                	jmp    0x4168d8
416918:	8b 85 18 f4 ff ff    	mov    -0xbe8(%ebp),%eax
41691e:	89 b5 e4 f3 ff ff    	mov    %esi,-0xc1c(%ebp)
416924:	8d 04 85 04 00 00 00 	lea    0x4(,%eax,4),%eax
41692b:	50                   	push   %eax
41692c:	53                   	push   %ebx
41692d:	ff 15 7c 60 42 00    	call   *0x42607c
416933:	50                   	push   %eax
416934:	ff 15 a0 61 42 00    	call   *0x4261a0
41693a:	8d 8d e0 f3 ff ff    	lea    -0xc20(%ebp),%ecx
416940:	8b f0                	mov    %eax,%esi
416942:	e8 1d 86 00 00       	call   0x41ef64
416947:	85 f6                	test   %esi,%esi
416949:	75 10                	jne    0x41695b
41694b:	bf 0e 00 07 80       	mov    $0x8007000e,%edi
416950:	89 bd 7c f4 ff ff    	mov    %edi,-0xb84(%ebp)
416956:	e9 ce 00 00 00       	jmp    0x416a29
41695b:	8d 85 dc f3 ff ff    	lea    -0xc24(%ebp),%eax
416961:	89 b5 e0 f3 ff ff    	mov    %esi,-0xc20(%ebp)
416967:	8b 35 50 40 42 00    	mov    0x424050,%esi
41696d:	8b ce                	mov    %esi,%ecx
41696f:	50                   	push   %eax
416970:	ff b5 e4 f3 ff ff    	push   -0xc1c(%ebp)
416976:	8d 85 18 f4 ff ff    	lea    -0xbe8(%ebp),%eax
41697c:	50                   	push   %eax
41697d:	6a 08                	push   $0x8
41697f:	ff 15 78 64 42 00    	call   *0x426478
416985:	ff d6                	call   *%esi
416987:	85 c0                	test   %eax,%eax
416989:	0f 84 1b ff ff ff    	je     0x4168aa
41698f:	83 bd 18 f4 ff ff 00 	cmpl   $0x0,-0xbe8(%ebp)
416996:	8b 95 e0 f3 ff ff    	mov    -0xc20(%ebp),%edx
41699c:	8b 85 e4 f3 ff ff    	mov    -0xc1c(%ebp),%eax
4169a2:	89 95 80 f4 ff ff    	mov    %edx,-0xb80(%ebp)
4169a8:	89 9d 70 f4 ff ff    	mov    %ebx,-0xb90(%ebp)
4169ae:	76 5a                	jbe    0x416a0a
4169b0:	8b f8                	mov    %eax,%edi
4169b2:	8b 35 58 40 42 00    	mov    0x424058,%esi
4169b8:	8b ce                	mov    %esi,%ecx
4169ba:	53                   	push   %ebx
4169bb:	57                   	push   %edi
4169bc:	ff 15 78 64 42 00    	call   *0x426478
4169c2:	ff d6                	call   *%esi
4169c4:	8b 95 80 f4 ff ff    	mov    -0xb80(%ebp),%edx
4169ca:	8b cf                	mov    %edi,%ecx
4169cc:	89 02                	mov    %eax,(%edx)
4169ce:	8d 71 02             	lea    0x2(%ecx),%esi
4169d1:	66 8b 01             	mov    (%ecx),%ax
4169d4:	83 c1 02             	add    $0x2,%ecx
4169d7:	66 3b c3             	cmp    %bx,%ax
4169da:	75 f5                	jne    0x4169d1
4169dc:	8b 85 70 f4 ff ff    	mov    -0xb90(%ebp),%eax
4169e2:	2b ce                	sub    %esi,%ecx
4169e4:	d1 f9                	sar    $1,%ecx
4169e6:	83 c2 04             	add    $0x4,%edx
4169e9:	89 95 80 f4 ff ff    	mov    %edx,-0xb80(%ebp)
4169ef:	8d 3c 4f             	lea    (%edi,%ecx,2),%edi
4169f2:	83 c7 02             	add    $0x2,%edi
4169f5:	40                   	inc    %eax
4169f6:	89 85 70 f4 ff ff    	mov    %eax,-0xb90(%ebp)
4169fc:	3b 85 18 f4 ff ff    	cmp    -0xbe8(%ebp),%eax
416a02:	72 ae                	jb     0x4169b2
416a04:	8b bd 7c f4 ff ff    	mov    -0xb84(%ebp),%edi
416a0a:	c7 02 09 04 00 00    	movl   $0x409,(%edx)
416a10:	8b 85 e0 f3 ff ff    	mov    -0xc20(%ebp),%eax
416a16:	89 85 f0 f3 ff ff    	mov    %eax,-0xc10(%ebp)
416a1c:	8b 85 18 f4 ff ff    	mov    -0xbe8(%ebp),%eax
416a22:	40                   	inc    %eax
416a23:	89 85 84 f4 ff ff    	mov    %eax,-0xb7c(%ebp)
416a29:	89 9d e0 f3 ff ff    	mov    %ebx,-0xc20(%ebp)
416a2f:	8d 8d e0 f3 ff ff    	lea    -0xc20(%ebp),%ecx
416a35:	e8 2a 85 00 00       	call   0x41ef64
416a3a:	8d 8d e4 f3 ff ff    	lea    -0xc1c(%ebp),%ecx
416a40:	e8 1f 85 00 00       	call   0x41ef64
416a45:	85 ff                	test   %edi,%edi
416a47:	0f 88 52 07 00 00    	js     0x41719f
416a4d:	83 bd 84 f4 ff ff 00 	cmpl   $0x0,-0xb7c(%ebp)
416a54:	8b fb                	mov    %ebx,%edi
416a56:	89 bd 80 f4 ff ff    	mov    %edi,-0xb80(%ebp)
416a5c:	8b f3                	mov    %ebx,%esi
416a5e:	76 2d                	jbe    0x416a8d
416a60:	8b 85 f0 f3 ff ff    	mov    -0xc10(%ebp),%eax
416a66:	8b d3                	mov    %ebx,%edx
416a68:	8b 0c b0             	mov    (%eax,%esi,4),%ecx
416a6b:	3b 0c 95 50 28 40 00 	cmp    0x402850(,%edx,4),%ecx
416a72:	74 11                	je     0x416a85
416a74:	42                   	inc    %edx
416a75:	83 fa 26             	cmp    $0x26,%edx
416a78:	72 ee                	jb     0x416a68
416a7a:	46                   	inc    %esi
416a7b:	3b b5 84 f4 ff ff    	cmp    -0xb7c(%ebp),%esi
416a81:	72 e3                	jb     0x416a66
416a83:	eb 08                	jmp    0x416a8d
416a85:	8b fa                	mov    %edx,%edi
416a87:	89 95 80 f4 ff ff    	mov    %edx,-0xb80(%ebp)
416a8d:	8b 35 54 40 42 00    	mov    0x424054,%esi
416a93:	8d 85 00 ff ff ff    	lea    -0x100(%ebp),%eax
416a99:	53                   	push   %ebx
416a9a:	6a 55                	push   $0x55
416a9c:	50                   	push   %eax
416a9d:	ff 34 bd 50 28 40 00 	push   0x402850(,%edi,4)
416aa4:	8b ce                	mov    %esi,%ecx
416aa6:	89 9d 84 f4 ff ff    	mov    %ebx,-0xb7c(%ebp)
416aac:	ff 15 78 64 42 00    	call   *0x426478
416ab2:	ff d6                	call   *%esi
416ab4:	85 c0                	test   %eax,%eax
416ab6:	74 3a                	je     0x416af2
416ab8:	8b 35 48 40 42 00    	mov    0x424048,%esi
416abe:	8d 85 60 fb ff ff    	lea    -0x4a0(%ebp),%eax
416ac4:	6a 10                	push   $0x10
416ac6:	50                   	push   %eax
416ac7:	6a 58                	push   $0x58
416ac9:	8d 85 00 ff ff ff    	lea    -0x100(%ebp),%eax
416acf:	8b ce                	mov    %esi,%ecx
416ad1:	50                   	push   %eax
416ad2:	ff 15 78 64 42 00    	call   *0x426478
416ad8:	ff d6                	call   *%esi
416ada:	85 c0                	test   %eax,%eax
416adc:	7e 14                	jle    0x416af2
416ade:	8b bd 6c fb ff ff    	mov    -0x494(%ebp),%edi
416ae4:	33 c0                	xor    %eax,%eax
416ae6:	c1 ef 1b             	shr    $0x1b,%edi
416ae9:	40                   	inc    %eax
416aea:	23 f8                	and    %eax,%edi
416aec:	89 bd 84 f4 ff ff    	mov    %edi,-0xb7c(%ebp)
416af2:	ba 68 29 40 00       	mov    $0x402968,%edx
416af7:	8b f3                	mov    %ebx,%esi
416af9:	8b ca                	mov    %edx,%ecx
416afb:	89 94 b5 70 fc ff ff 	mov    %edx,-0x390(%ebp,%esi,4)
416b02:	8d 79 02             	lea    0x2(%ecx),%edi
416b05:	66 8b 01             	mov    (%ecx),%ax
416b08:	83 c1 02             	add    $0x2,%ecx
416b0b:	66 3b c3             	cmp    %bx,%ax
416b0e:	75 f5                	jne    0x416b05
416b10:	2b cf                	sub    %edi,%ecx
416b12:	d1 f9                	sar    $1,%ecx
416b14:	8d 14 4a             	lea    (%edx,%ecx,2),%edx
416b17:	83 c2 02             	add    $0x2,%edx
416b1a:	46                   	inc    %esi
416b1b:	83 fe 13             	cmp    $0x13,%esi
416b1e:	72 d9                	jb     0x416af9
416b20:	6b 8d 80 f4 ff ff 03 	imul   $0x3,-0xb80(%ebp),%ecx
416b27:	0f b6 81 e8 28 40 00 	movzbl 0x4028e8(%ecx),%eax
416b2e:	8b 84 85 70 fc ff ff 	mov    -0x390(%ebp,%eax,4),%eax
416b35:	89 85 54 f4 ff ff    	mov    %eax,-0xbac(%ebp)
416b3b:	0f b6 81 e9 28 40 00 	movzbl 0x4028e9(%ecx),%eax
416b42:	8b 84 85 70 fc ff ff 	mov    -0x390(%ebp,%eax,4),%eax
416b49:	89 85 64 f4 ff ff    	mov    %eax,-0xb9c(%ebp)
416b4f:	0f b6 81 ea 28 40 00 	movzbl 0x4028ea(%ecx),%eax
416b56:	8b 84 85 70 fc ff ff 	mov    -0x390(%ebp,%eax,4),%eax
416b5d:	89 85 78 f4 ff ff    	mov    %eax,-0xb88(%ebp)
416b63:	68 90 1c 00 00       	push   $0x1c90
416b68:	8b c3                	mov    %ebx,%eax
416b6a:	53                   	push   %ebx
416b6b:	89 85 7c f4 ff ff    	mov    %eax,-0xb84(%ebp)
416b71:	ff 15 7c 60 42 00    	call   *0x42607c
416b77:	50                   	push   %eax
416b78:	ff 15 a0 61 42 00    	call   *0x4261a0
416b7e:	8b c8                	mov    %eax,%ecx
416b80:	89 8d 70 f4 ff ff    	mov    %ecx,-0xb90(%ebp)
416b86:	85 c9                	test   %ecx,%ecx
416b88:	75 0a                	jne    0x416b94
416b8a:	bf 0e 00 07 80       	mov    $0x8007000e,%edi
416b8f:	e9 05 06 00 00       	jmp    0x417199
416b94:	83 8d 48 f4 ff ff ff 	orl    $0xffffffff,-0xbb8(%ebp)
416b9b:	ba 5e 60 69 ab       	mov    $0xab69605e,%edx
416ba0:	89 95 50 fc ff ff    	mov    %edx,-0x3b0(%ebp)
416ba6:	83 c1 07             	add    $0x7,%ecx
416ba9:	ba 7f 13 f1 07       	mov    $0x7f1137f,%edx
416bae:	89 9d 40 f4 ff ff    	mov    %ebx,-0xbc0(%ebp)
416bb4:	89 95 54 fc ff ff    	mov    %edx,-0x3ac(%ebp)
416bba:	8a c3                	mov    %bl,%al
416bbc:	89 9d 4c f4 ff ff    	mov    %ebx,-0xbb4(%ebp)
416bc2:	8b d3                	mov    %ebx,%edx
416bc4:	89 8d 68 f4 ff ff    	mov    %ecx,-0xb98(%ebp)
416bca:	be 8a 2f 40 00       	mov    $0x402f8a,%esi
416bcf:	c7 85 44 f4 ff ff 92 	movl   $0x392,-0xbbc(%ebp)
416bd6:	03 00 00
416bd9:	0f b6 5e fe          	movzbl -0x2(%esi),%ebx
416bdd:	0f b6 4e ff          	movzbl -0x1(%esi),%ecx
416be1:	0f b6 7e 02          	movzbl 0x2(%esi),%edi
416be5:	c1 e3 08             	shl    $0x8,%ebx
416be8:	0b d9                	or     %ecx,%ebx