41fc78:	53                   	push   %ebx
41fc79:	56                   	push   %esi
41fc7a:	8b f0                	mov    %eax,%esi
41fc7c:	8b d9                	mov    %ecx,%ebx
41fc7e:	74 37                	je     0x41fcb7
41fc80:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
41fc84:	75 31                	jne    0x41fcb7
41fc86:	8b 45 08             	mov    0x8(%ebp),%eax
41fc89:	01 06                	add    %eax,(%esi)
41fc8b:	eb 30                	jmp    0x41fcbd
41fc8d:	0f b7 03             	movzwl (%ebx),%eax
41fc90:	ff 4d 08             	decl   0x8(%ebp)
41fc93:	50                   	push   %eax
41fc94:	8b c7                	mov    %edi,%eax
41fc96:	e8 7e ff ff ff       	call   0x41fc19
41fc9b:	43                   	inc    %ebx
41fc9c:	43                   	inc    %ebx
41fc9d:	83 3e ff             	cmpl   $0xffffffff,(%esi)
41fca0:	59                   	pop    %ecx
41fca1:	75 14                	jne    0x41fcb7
41fca3:	e8 f6 eb ff ff       	call   0x41e89e
41fca8:	83 38 2a             	cmpl   $0x2a,(%eax)
41fcab:	75 10                	jne    0x41fcbd
41fcad:	6a 3f                	push   $0x3f
41fcaf:	8b c7                	mov    %edi,%eax
41fcb1:	e8 63 ff ff ff       	call   0x41fc19
41fcb6:	59                   	pop    %ecx
41fcb7:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41fcbb:	7f d0                	jg     0x41fc8d
41fcbd:	5e                   	pop    %esi
41fcbe:	5b                   	pop    %ebx
41fcbf:	5d                   	pop    %ebp
41fcc0:	c3                   	ret
41fcc1:	8b ff                	mov    %edi,%edi
41fcc3:	55                   	push   %ebp
41fcc4:	8b ec                	mov    %esp,%ebp
41fcc6:	81 ec 74 04 00 00    	sub    $0x474,%esp
41fccc:	a1 98 f2 42 00       	mov    0x42f298,%eax
41fcd1:	33 c5                	xor    %ebp,%eax
41fcd3:	89 45 fc             	mov    %eax,-0x4(%ebp)
41fcd6:	8b 45 08             	mov    0x8(%ebp),%eax
41fcd9:	53                   	push   %ebx
41fcda:	8b 5d 14             	mov    0x14(%ebp),%ebx
41fcdd:	56                   	push   %esi
41fcde:	8b 75 0c             	mov    0xc(%ebp),%esi
41fce1:	57                   	push   %edi
41fce2:	ff 75 10             	push   0x10(%ebp)
41fce5:	33 ff                	xor    %edi,%edi
41fce7:	8d 8d a8 fb ff ff    	lea    -0x458(%ebp),%ecx
41fced:	89 85 d0 fb ff ff    	mov    %eax,-0x430(%ebp)
41fcf3:	89 9d e4 fb ff ff    	mov    %ebx,-0x41c(%ebp)
41fcf9:	89 bd b8 fb ff ff    	mov    %edi,-0x448(%ebp)
41fcff:	89 bd f8 fb ff ff    	mov    %edi,-0x408(%ebp)
41fd05:	89 bd d4 fb ff ff    	mov    %edi,-0x42c(%ebp)
41fd0b:	89 bd f4 fb ff ff    	mov    %edi,-0x40c(%ebp)
41fd11:	89 bd dc fb ff ff    	mov    %edi,-0x424(%ebp)
41fd17:	89 bd c4 fb ff ff    	mov    %edi,-0x43c(%ebp)
41fd1d:	89 bd d8 fb ff ff    	mov    %edi,-0x428(%ebp)
41fd23:	e8 c0 cd ff ff       	call   0x41cae8
41fd28:	39 bd d0 fb ff ff    	cmp    %edi,-0x430(%ebp)
41fd2e:	75 33                	jne    0x41fd63
41fd30:	e8 69 eb ff ff       	call   0x41e89e
41fd35:	57                   	push   %edi
41fd36:	57                   	push   %edi
41fd37:	57                   	push   %edi
41fd38:	57                   	push   %edi
41fd39:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
41fd3f:	57                   	push   %edi
41fd40:	e8 ae fe ff ff       	call   0x41fbf3
41fd45:	83 c4 14             	add    $0x14,%esp
41fd48:	80 bd b4 fb ff ff 00 	cmpb   $0x0,-0x44c(%ebp)
41fd4f:	74 0a                	je     0x41fd5b
41fd51:	8b 85 b0 fb ff ff    	mov    -0x450(%ebp),%eax
41fd57:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
41fd5b:	83 c8 ff             	or     $0xffffffff,%eax
41fd5e:	e9 c4 0a 00 00       	jmp    0x420827
41fd63:	3b f7                	cmp    %edi,%esi
41fd65:	74 c9                	je     0x41fd30
41fd67:	0f b7 16             	movzwl (%esi),%edx
41fd6a:	33 c9                	xor    %ecx,%ecx
41fd6c:	89 bd e0 fb ff ff    	mov    %edi,-0x420(%ebp)
41fd72:	89 bd ec fb ff ff    	mov    %edi,-0x414(%ebp)
41fd78:	89 bd bc fb ff ff    	mov    %edi,-0x444(%ebp)
41fd7e:	89 95 e8 fb ff ff    	mov    %edx,-0x418(%ebp)
41fd84:	66 3b d7             	cmp    %di,%dx
41fd87:	0f 84 81 0a 00 00    	je     0x42080e
41fd8d:	6a 02                	push   $0x2
41fd8f:	5f                   	pop    %edi
41fd90:	03 f7                	add    %edi,%esi
41fd92:	83 bd e0 fb ff ff 00 	cmpl   $0x0,-0x420(%ebp)
41fd99:	89 b5 c0 fb ff ff    	mov    %esi,-0x440(%ebp)
41fd9f:	0f 8c 69 0a 00 00    	jl     0x42080e
41fda5:	8d 42 e0             	lea    -0x20(%edx),%eax
41fda8:	66 83 f8 58          	cmp    $0x58,%ax
41fdac:	77 0f                	ja     0x41fdbd
41fdae:	0f b7 c2             	movzwl %dx,%eax
41fdb1:	0f be 80 d8 b9 42 00 	movsbl 0x42b9d8(%eax),%eax
41fdb8:	83 e0 0f             	and    $0xf,%eax
41fdbb:	eb 02                	jmp    0x41fdbf
41fdbd:	33 c0                	xor    %eax,%eax
41fdbf:	0f be 84 c1 f8 b9 42 	movsbl 0x42b9f8(%ecx,%eax,8),%eax
41fdc6:	00
41fdc7:	6a 07                	push   $0x7
41fdc9:	c1 f8 04             	sar    $0x4,%eax
41fdcc:	59                   	pop    %ecx
41fdcd:	89 85 a4 fb ff ff    	mov    %eax,-0x45c(%ebp)
41fdd3:	3b c1                	cmp    %ecx,%eax
41fdd5:	0f 87 f5 09 00 00    	ja     0x4207d0
41fddb:	ff 24 85 39 08 42 00 	jmp    *0x420839(,%eax,4)
41fde2:	33 c0                	xor    %eax,%eax
41fde4:	83 8d f4 fb ff ff ff 	orl    $0xffffffff,-0x40c(%ebp)
41fdeb:	89 85 a0 fb ff ff    	mov    %eax,-0x460(%ebp)
41fdf1:	89 85 c4 fb ff ff    	mov    %eax,-0x43c(%ebp)
41fdf7:	89 85 d4 fb ff ff    	mov    %eax,-0x42c(%ebp)
41fdfd:	89 85 dc fb ff ff    	mov    %eax,-0x424(%ebp)
41fe03:	89 85 f8 fb ff ff    	mov    %eax,-0x408(%ebp)
41fe09:	89 85 d8 fb ff ff    	mov    %eax,-0x428(%ebp)
41fe0f:	e9 bc 09 00 00       	jmp    0x4207d0
41fe14:	0f b7 c2             	movzwl %dx,%eax
41fe17:	83 e8 20             	sub    $0x20,%eax
41fe1a:	74 4a                	je     0x41fe66
41fe1c:	83 e8 03             	sub    $0x3,%eax
41fe1f:	74 36                	je     0x41fe57
41fe21:	83 e8 08             	sub    $0x8,%eax
41fe24:	74 25                	je     0x41fe4b
41fe26:	2b c7                	sub    %edi,%eax
41fe28:	74 15                	je     0x41fe3f
41fe2a:	83 e8 03             	sub    $0x3,%eax
41fe2d:	0f 85 9d 09 00 00    	jne    0x4207d0
41fe33:	83 8d f8 fb ff ff 08 	orl    $0x8,-0x408(%ebp)
41fe3a:	e9 91 09 00 00       	jmp    0x4207d0
41fe3f:	83 8d f8 fb ff ff 04 	orl    $0x4,-0x408(%ebp)
41fe46:	e9 85 09 00 00       	jmp    0x4207d0
41fe4b:	83 8d f8 fb ff ff 01 	orl    $0x1,-0x408(%ebp)
41fe52:	e9 79 09 00 00       	jmp    0x4207d0
41fe57:	81 8d f8 fb ff ff 80 	orl    $0x80,-0x408(%ebp)
41fe5e:	00 00 00
41fe61:	e9 6a 09 00 00       	jmp    0x4207d0
41fe66:	09 bd f8 fb ff ff    	or     %edi,-0x408(%ebp)
41fe6c:	e9 5f 09 00 00       	jmp    0x4207d0
41fe71:	66 83 fa 2a          	cmp    $0x2a,%dx
41fe75:	75 2c                	jne    0x41fea3
41fe77:	83 c3 04             	add    $0x4,%ebx
41fe7a:	89 9d e4 fb ff ff    	mov    %ebx,-0x41c(%ebp)
41fe80:	8b 5b fc             	mov    -0x4(%ebx),%ebx
41fe83:	89 9d d4 fb ff ff    	mov    %ebx,-0x42c(%ebp)
41fe89:	85 db                	test   %ebx,%ebx
41fe8b:	0f 8d 3f 09 00 00    	jge    0x4207d0
41fe91:	83 8d f8 fb ff ff 04 	orl    $0x4,-0x408(%ebp)
41fe98:	f7 9d d4 fb ff ff    	negl   -0x42c(%ebp)
41fe9e:	e9 2d 09 00 00       	jmp    0x4207d0
41fea3:	8b 85 d4 fb ff ff    	mov    -0x42c(%ebp),%eax
41fea9:	6b c0 0a             	imul   $0xa,%eax,%eax
41feac:	0f b7 ca             	movzwl %dx,%ecx
41feaf:	8d 44 08 d0          	lea    -0x30(%eax,%ecx,1),%eax
41feb3:	89 85 d4 fb ff ff    	mov    %eax,-0x42c(%ebp)
41feb9:	e9 12 09 00 00       	jmp    0x4207d0
41febe:	83 a5 f4 fb ff ff 00 	andl   $0x0,-0x40c(%ebp)
41fec5:	e9 06 09 00 00       	jmp    0x4207d0
41feca:	66 83 fa 2a          	cmp    $0x2a,%dx
41fece:	75 26                	jne    0x41fef6
41fed0:	83 c3 04             	add    $0x4,%ebx
41fed3:	89 9d e4 fb ff ff    	mov    %ebx,-0x41c(%ebp)
41fed9:	8b 5b fc             	mov    -0x4(%ebx),%ebx
41fedc:	89 9d f4 fb ff ff    	mov    %ebx,-0x40c(%ebp)
41fee2:	85 db                	test   %ebx,%ebx
41fee4:	0f 8d e6 08 00 00    	jge    0x4207d0
41feea:	83 8d f4 fb ff ff ff 	orl    $0xffffffff,-0x40c(%ebp)
41fef1:	e9 da 08 00 00       	jmp    0x4207d0
41fef6:	8b 85 f4 fb ff ff    	mov    -0x40c(%ebp),%eax
41fefc:	6b c0 0a             	imul   $0xa,%eax,%eax
41feff:	0f b7 ca             	movzwl %dx,%ecx
41ff02:	8d 44 08 d0          	lea    -0x30(%eax,%ecx,1),%eax
41ff06:	89 85 f4 fb ff ff    	mov    %eax,-0x40c(%ebp)
41ff0c:	e9 bf 08 00 00       	jmp    0x4207d0
41ff11:	0f b7 c2             	movzwl %dx,%eax
41ff14:	83 f8 49             	cmp    $0x49,%eax
41ff17:	74 57                	je     0x41ff70
41ff19:	83 f8 68             	cmp    $0x68,%eax
41ff1c:	74 46                	je     0x41ff64
41ff1e:	83 f8 6c             	cmp    $0x6c,%eax
41ff21:	74 18                	je     0x41ff3b
41ff23:	83 f8 77             	cmp    $0x77,%eax
41ff26:	0f 85 a4 08 00 00    	jne    0x4207d0
41ff2c:	81 8d f8 fb ff ff 00 	orl    $0x800,-0x408(%ebp)
41ff33:	08 00 00
41ff36:	e9 95 08 00 00       	jmp    0x4207d0
41ff3b:	66 83 3e 6c          	cmpw   $0x6c,(%esi)
41ff3f:	75 17                	jne    0x41ff58
41ff41:	03 f7                	add    %edi,%esi
41ff43:	81 8d f8 fb ff ff 00 	orl    $0x1000,-0x408(%ebp)
41ff4a:	10 00 00
41ff4d:	89 b5 c0 fb ff ff    	mov    %esi,-0x440(%ebp)
41ff53:	e9 78 08 00 00       	jmp    0x4207d0
41ff58:	83 8d f8 fb ff ff 10 	orl    $0x10,-0x408(%ebp)
41ff5f:	e9 6c 08 00 00       	jmp    0x4207d0
41ff64:	83 8d f8 fb ff ff 20 	orl    $0x20,-0x408(%ebp)
41ff6b:	e9 60 08 00 00       	jmp    0x4207d0
41ff70:	0f b7 06             	movzwl (%esi),%eax
41ff73:	66 83 f8 36          	cmp    $0x36,%ax
41ff77:	75 1f                	jne    0x41ff98
41ff79:	66 83 7e 02 34       	cmpw   $0x34,0x2(%esi)
41ff7e:	75 18                	jne    0x41ff98
41ff80:	83 c6 04             	add    $0x4,%esi
41ff83:	81 8d f8 fb ff ff 00 	orl    $0x8000,-0x408(%ebp)
41ff8a:	80 00 00
41ff8d:	89 b5 c0 fb ff ff    	mov    %esi,-0x440(%ebp)
41ff93:	e9 38 08 00 00       	jmp    0x4207d0
41ff98:	66 83 f8 33          	cmp    $0x33,%ax
41ff9c:	75 1f                	jne    0x41ffbd
41ff9e:	66 83 7e 02 32       	cmpw   $0x32,0x2(%esi)
41ffa3:	75 18                	jne    0x41ffbd
41ffa5:	83 c6 04             	add    $0x4,%esi
41ffa8:	81 a5 f8 fb ff ff ff 	andl   $0xffff7fff,-0x408(%ebp)
41ffaf:	7f ff ff
41ffb2:	89 b5 c0 fb ff ff    	mov    %esi,-0x440(%ebp)
41ffb8:	e9 13 08 00 00       	jmp    0x4207d0
41ffbd:	66 83 f8 64          	cmp    $0x64,%ax
41ffc1:	0f 84 09 08 00 00    	je     0x4207d0
41ffc7:	66 83 f8 69          	cmp    $0x69,%ax
41ffcb:	0f 84 ff 07 00 00    	je     0x4207d0
41ffd1:	66 83 f8 6f          	cmp    $0x6f,%ax
41ffd5:	0f 84 f5 07 00 00    	je     0x4207d0
41ffdb:	66 83 f8 75          	cmp    $0x75,%ax
41ffdf:	0f 84 eb 07 00 00    	je     0x4207d0
41ffe5:	66 83 f8 78          	cmp    $0x78,%ax
41ffe9:	0f 84 e1 07 00 00    	je     0x4207d0
41ffef:	66 83 f8 58          	cmp    $0x58,%ax
41fff3:	0f 84 d7 07 00 00    	je     0x4207d0
41fff9:	83 a5 a4 fb ff ff 00 	andl   $0x0,-0x45c(%ebp)
420000:	8b 85 d0 fb ff ff    	mov    -0x430(%ebp),%eax
420006:	52                   	push   %edx
420007:	8d b5 e0 fb ff ff    	lea    -0x420(%ebp),%esi
42000d:	c7 85 d8 fb ff ff 01 	movl   $0x1,-0x428(%ebp)
420014:	00 00 00
420017:	e8 fd fb ff ff       	call   0x41fc19
42001c:	e9 ae 07 00 00       	jmp    0x4207cf
420021:	0f b7 c2             	movzwl %dx,%eax
420024:	83 f8 64             	cmp    $0x64,%eax
420027:	0f 8f 2f 02 00 00    	jg     0x42025c
42002d:	0f 84 c0 02 00 00    	je     0x4202f3
420033:	83 f8 53             	cmp    $0x53,%eax
420036:	0f 8f 1b 01 00 00    	jg     0x420157
42003c:	74 7e                	je     0x4200bc
42003e:	83 e8 41             	sub    $0x41,%eax
420041:	74 10                	je     0x420053
420043:	2b c7                	sub    %edi,%eax
420045:	74 59                	je     0x4200a0
420047:	2b c7                	sub    %edi,%eax
420049:	74 08                	je     0x420053
42004b:	2b c7                	sub    %edi,%eax
42004d:	0f 85 ef 05 00 00    	jne    0x420642
420053:	83 c2 20             	add    $0x20,%edx
420056:	c7 85 a0 fb ff ff 01 	movl   $0x1,-0x460(%ebp)
42005d:	00 00 00
420060:	89 95 e8 fb ff ff    	mov    %edx,-0x418(%ebp)
420066:	83 8d f8 fb ff ff 40 	orl    $0x40,-0x408(%ebp)
42006d:	83 bd f4 fb ff ff 00 	cmpl   $0x0,-0x40c(%ebp)
420074:	8d b5 fc fb ff ff    	lea    -0x404(%ebp),%esi
42007a:	b8 00 02 00 00       	mov    $0x200,%eax
42007f:	89 b5 f0 fb ff ff    	mov    %esi,-0x410(%ebp)
420085:	89 85 ec fb ff ff    	mov    %eax,-0x414(%ebp)
42008b:	0f 8d 90 02 00 00    	jge    0x420321
420091:	c7 85 f4 fb ff ff 06 	movl   $0x6,-0x40c(%ebp)
420098:	00 00 00
42009b:	e9 ec 02 00 00       	jmp    0x42038c
4200a0:	f7 85 f8 fb ff ff 30 	testl  $0x830,-0x408(%ebp)
4200a7:	08 00 00
4200aa:	0f 85 c8 00 00 00    	jne    0x420178
4200b0:	83 8d f8 fb ff ff 20 	orl    $0x20,-0x408(%ebp)
4200b7:	e9 bc 00 00 00       	jmp    0x420178
4200bc:	f7 85 f8 fb ff ff 30 	testl  $0x830,-0x408(%ebp)
4200c3:	08 00 00
4200c6:	75 07                	jne    0x4200cf
4200c8:	83 8d f8 fb ff ff 20 	orl    $0x20,-0x408(%ebp)
4200cf:	8b bd f4 fb ff ff    	mov    -0x40c(%ebp),%edi
4200d5:	83 ff ff             	cmp    $0xffffffff,%edi
4200d8:	75 05                	jne    0x4200df
4200da:	bf ff ff ff 7f       	mov    $0x7fffffff,%edi
4200df:	83 c3 04             	add    $0x4,%ebx
4200e2:	f6 85 f8 fb ff ff 20 	testb  $0x20,-0x408(%ebp)
4200e9:	89 9d e4 fb ff ff    	mov    %ebx,-0x41c(%ebp)
4200ef:	8b 5b fc             	mov    -0x4(%ebx),%ebx
4200f2:	89 9d f0 fb ff ff    	mov    %ebx,-0x410(%ebp)
4200f8:	0f 84 08 05 00 00    	je     0x420606
4200fe:	85 db                	test   %ebx,%ebx
420100:	75 0b                	jne    0x42010d
420102:	a1 1c ff 42 00       	mov    0x42ff1c,%eax
420107:	89 85 f0 fb ff ff    	mov    %eax,-0x410(%ebp)
42010d:	83 a5 ec fb ff ff 00 	andl   $0x0,-0x414(%ebp)
420114:	8b b5 f0 fb ff ff    	mov    -0x410(%ebp),%esi
42011a:	85 ff                	test   %edi,%edi
42011c:	0f 8e 20 05 00 00    	jle    0x420642
420122:	8a 06                	mov    (%esi),%al
420124:	84 c0                	test   %al,%al
420126:	0f 84 16 05 00 00    	je     0x420642
42012c:	8d 8d a8 fb ff ff    	lea    -0x458(%ebp),%ecx
420132:	0f b6 c0             	movzbl %al,%eax
420135:	51                   	push   %ecx
420136:	50                   	push   %eax
420137:	e8 3d 21 00 00       	call   0x422279
42013c:	59                   	pop    %ecx
42013d:	59                   	pop    %ecx
42013e:	85 c0                	test   %eax,%eax
420140:	74 01                	je     0x420143
420142:	46                   	inc    %esi
420143:	46                   	inc    %esi
420144:	ff 85 ec fb ff ff    	incl   -0x414(%ebp)
42014a:	39 bd ec fb ff ff    	cmp    %edi,-0x414(%ebp)
420150:	7c d0                	jl     0x420122
420152:	e9 eb 04 00 00       	jmp    0x420642
420157:	83 e8 58             	sub    $0x58,%eax
42015a:	0f 84 f7 02 00 00    	je     0x420457
420160:	2b c7                	sub    %edi,%eax
420162:	0f 84 94 00 00 00    	je     0x4201fc
420168:	2b c1                	sub    %ecx,%eax
42016a:	0f 84 f6 fe ff ff    	je     0x420066
420170:	2b c7                	sub    %edi,%eax
420172:	0f 85 ca 04 00 00    	jne    0x420642
420178:	0f b7 03             	movzwl (%ebx),%eax
42017b:	83 c3 04             	add    $0x4,%ebx
42017e:	33 f6                	xor    %esi,%esi
420180:	46                   	inc    %esi
420181:	f6 85 f8 fb ff ff 20 	testb  $0x20,-0x408(%ebp)
420188:	89 b5 d8 fb ff ff    	mov    %esi,-0x428(%ebp)
42018e:	89 9d e4 fb ff ff    	mov    %ebx,-0x41c(%ebp)
420194:	89 85 9c fb ff ff    	mov    %eax,-0x464(%ebp)
42019a:	74 42                	je     0x4201de
42019c:	88 85 cc fb ff ff    	mov    %al,-0x434(%ebp)
4201a2:	8d 85 a8 fb ff ff    	lea    -0x458(%ebp),%eax
4201a8:	50                   	push   %eax
4201a9:	8b 85 a8 fb ff ff    	mov    -0x458(%ebp),%eax
4201af:	c6 85 cd fb ff ff 00 	movb   $0x0,-0x433(%ebp)
4201b6:	ff b0 ac 00 00 00    	push   0xac(%eax)
4201bc:	8d 85 cc fb ff ff    	lea    -0x434(%ebp),%eax
4201c2:	50                   	push   %eax
4201c3:	8d 85 fc fb ff ff    	lea    -0x404(%ebp),%eax
4201c9:	50                   	push   %eax
4201ca:	e8 bf 49 00 00       	call   0x424b8e
4201cf:	83 c4 10             	add    $0x10,%esp
4201d2:	85 c0                	test   %eax,%eax
4201d4:	7d 0f                	jge    0x4201e5
4201d6:	89 b5 c4 fb ff ff    	mov    %esi,-0x43c(%ebp)
4201dc:	eb 07                	jmp    0x4201e5
4201de:	66 89 85 fc fb ff ff 	mov    %ax,-0x404(%ebp)
4201e5:	8d 85 fc fb ff ff    	lea    -0x404(%ebp),%eax
4201eb:	89 85 f0 fb ff ff    	mov    %eax,-0x410(%ebp)
4201f1:	89 b5 ec fb ff ff    	mov    %esi,-0x414(%ebp)
4201f7:	e9 46 04 00 00       	jmp    0x420642
4201fc:	8b 03                	mov    (%ebx),%eax