41dee2:	55                   	push   %ebp
41dee3:	8b ec                	mov    %esp,%ebp
41dee5:	51                   	push   %ecx
41dee6:	51                   	push   %ecx
41dee7:	66 8b 45 08          	mov    0x8(%ebp),%ax
41deeb:	b9 ff ff 00 00       	mov    $0xffff,%ecx
41def0:	56                   	push   %esi
41def1:	66 8b 75 0c          	mov    0xc(%ebp),%si
41def5:	0f b7 d6             	movzwl %si,%edx
41def8:	66 3b c1             	cmp    %cx,%ax
41defb:	74 47                	je     0x41df44
41defd:	b9 00 01 00 00       	mov    $0x100,%ecx
41df02:	66 3b c1             	cmp    %cx,%ax
41df05:	73 10                	jae    0x41df17
41df07:	0f b7 c8             	movzwl %ax,%ecx
41df0a:	a1 0c d3 43 00       	mov    0x43d30c,%eax
41df0f:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
41df13:	23 c2                	and    %edx,%eax
41df15:	eb 2f                	jmp    0x41df46
41df17:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
41df1b:	33 c0                	xor    %eax,%eax
41df1d:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
41df21:	8d 45 fc             	lea    -0x4(%ebp),%eax
41df24:	50                   	push   %eax
41df25:	6a 01                	push   $0x1
41df27:	8d 45 f8             	lea    -0x8(%ebp),%eax
41df2a:	50                   	push   %eax
41df2b:	6a 01                	push   $0x1
41df2d:	e8 fc a2 00 00       	call   0x42822e
41df32:	83 c4 10             	add    $0x10,%esp
41df35:	85 c0                	test   %eax,%eax
41df37:	74 0b                	je     0x41df44
41df39:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
41df3d:	0f b7 ce             	movzwl %si,%ecx
41df40:	23 c1                	and    %ecx,%eax
41df42:	eb 02                	jmp    0x41df46
41df44:	33 c0                	xor    %eax,%eax
41df46:	5e                   	pop    %esi
41df47:	c9                   	leave
41df48:	c3                   	ret
41df49:	8b ff                	mov    %edi,%edi
41df4b:	55                   	push   %ebp
41df4c:	8b ec                	mov    %esp,%ebp
41df4e:	83 ec 20             	sub    $0x20,%esp
41df51:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
41df56:	33 c5                	xor    %ebp,%eax
41df58:	89 45 fc             	mov    %eax,-0x4(%ebp)
41df5b:	ff 75 10             	push   0x10(%ebp)
41df5e:	8d 4d e0             	lea    -0x20(%ebp),%ecx
41df61:	e8 8e 52 ff ff       	call   0x4131f4
41df66:	8b 55 08             	mov    0x8(%ebp),%edx
41df69:	83 fa ff             	cmp    $0xffffffff,%edx
41df6c:	7c 13                	jl     0x41df81
41df6e:	81 fa ff 00 00 00    	cmp    $0xff,%edx
41df74:	7f 0b                	jg     0x41df81
41df76:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41df79:	8b 00                	mov    (%eax),%eax
41df7b:	0f b7 04 50          	movzwl (%eax,%edx,2),%eax
41df7f:	eb 74                	jmp    0x41dff5
41df81:	53                   	push   %ebx
41df82:	56                   	push   %esi
41df83:	8b 75 e4             	mov    -0x1c(%ebp),%esi
41df86:	8b da                	mov    %edx,%ebx
41df88:	c1 fb 08             	sar    $0x8,%ebx
41df8b:	0f b6 cb             	movzbl %bl,%ecx
41df8e:	57                   	push   %edi
41df8f:	8b 06                	mov    (%esi),%eax
41df91:	33 ff                	xor    %edi,%edi
41df93:	66 39 3c 48          	cmp    %di,(%eax,%ecx,2)
41df97:	7d 10                	jge    0x41dfa9
41df99:	33 c9                	xor    %ecx,%ecx
41df9b:	88 5d f0             	mov    %bl,-0x10(%ebp)
41df9e:	6a 02                	push   $0x2
41dfa0:	88 55 f1             	mov    %dl,-0xf(%ebp)
41dfa3:	88 4d f2             	mov    %cl,-0xe(%ebp)
41dfa6:	58                   	pop    %eax
41dfa7:	eb 0b                	jmp    0x41dfb4
41dfa9:	33 c9                	xor    %ecx,%ecx
41dfab:	88 55 f0             	mov    %dl,-0x10(%ebp)
41dfae:	33 c0                	xor    %eax,%eax
41dfb0:	88 4d f1             	mov    %cl,-0xf(%ebp)
41dfb3:	40                   	inc    %eax
41dfb4:	6a 01                	push   $0x1
41dfb6:	89 4d f4             	mov    %ecx,-0xc(%ebp)
41dfb9:	66 89 4d f8          	mov    %cx,-0x8(%ebp)
41dfbd:	8d 4d f4             	lea    -0xc(%ebp),%ecx
41dfc0:	ff 76 08             	push   0x8(%esi)
41dfc3:	51                   	push   %ecx
41dfc4:	50                   	push   %eax
41dfc5:	8d 45 f0             	lea    -0x10(%ebp),%eax
41dfc8:	50                   	push   %eax
41dfc9:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41dfcc:	6a 01                	push   $0x1
41dfce:	50                   	push   %eax
41dfcf:	e8 60 65 00 00       	call   0x424534
41dfd4:	83 c4 1c             	add    $0x1c,%esp
41dfd7:	5f                   	pop    %edi
41dfd8:	5e                   	pop    %esi
41dfd9:	5b                   	pop    %ebx
41dfda:	85 c0                	test   %eax,%eax
41dfdc:	75 13                	jne    0x41dff1
41dfde:	38 45 ec             	cmp    %al,-0x14(%ebp)
41dfe1:	74 0a                	je     0x41dfed
41dfe3:	8b 45 e0             	mov    -0x20(%ebp),%eax
41dfe6:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
41dfed:	33 c0                	xor    %eax,%eax
41dfef:	eb 17                	jmp    0x41e008
41dff1:	0f b7 45 f4          	movzwl -0xc(%ebp),%eax
41dff5:	23 45 0c             	and    0xc(%ebp),%eax
41dff8:	80 7d ec 00          	cmpb   $0x0,-0x14(%ebp)
41dffc:	74 0a                	je     0x41e008
41dffe:	8b 4d e0             	mov    -0x20(%ebp),%ecx
41e001:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
41e008:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41e00b:	33 cd                	xor    %ebp,%ecx
41e00d:	e8 95 bc fe ff       	call   0x409ca7
41e012:	c9                   	leave
41e013:	c3                   	ret
41e014:	8b ff                	mov    %edi,%edi
41e016:	55                   	push   %ebp
41e017:	8b ec                	mov    %esp,%ebp
41e019:	33 c9                	xor    %ecx,%ecx
41e01b:	5d                   	pop    %ebp
41e01c:	e9 7c 00 00 00       	jmp    0x41e09d
41e021:	6a 0c                	push   $0xc
41e023:	68 60 ae 43 00       	push   $0x43ae60
41e028:	e8 a3 c4 fe ff       	call   0x40a4d0
41e02d:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
41e031:	8b 45 08             	mov    0x8(%ebp),%eax
41e034:	ff 30                	push   (%eax)
41e036:	e8 47 53 00 00       	call   0x423382
41e03b:	59                   	pop    %ecx
41e03c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41e040:	8b 45 0c             	mov    0xc(%ebp),%eax
41e043:	8b 00                	mov    (%eax),%eax
41e045:	ff 30                	push   (%eax)
41e047:	e8 77 f0 fe ff       	call   0x40d0c3
41e04c:	59                   	pop    %ecx
41e04d:	a3 ec fa 43 00       	mov    %eax,0x43faec
41e052:	6a 01                	push   $0x1
41e054:	68 14 e0 41 00       	push   $0x41e014
41e059:	ff 15 8c 10 43 00    	call   *0x43108c
41e05f:	8b f0                	mov    %eax,%esi
41e061:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
41e066:	a3 ec fa 43 00       	mov    %eax,0x43faec
41e06b:	89 75 e4             	mov    %esi,-0x1c(%ebp)
41e06e:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
41e075:	e8 17 00 00 00       	call   0x41e091
41e07a:	8b c6                	mov    %esi,%eax
41e07c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41e07f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41e086:	59                   	pop    %ecx
41e087:	5f                   	pop    %edi
41e088:	5e                   	pop    %esi
41e089:	5b                   	pop    %ebx
41e08a:	c9                   	leave
41e08b:	c2 0c 00             	ret    $0xc
41e08e:	8b 75 e4             	mov    -0x1c(%ebp),%esi
41e091:	8b 4d 10             	mov    0x10(%ebp),%ecx
41e094:	ff 31                	push   (%ecx)
41e096:	e8 2f 53 00 00       	call   0x4233ca
41e09b:	59                   	pop    %ecx
41e09c:	c3                   	ret
41e09d:	8b ff                	mov    %edi,%edi
41e09f:	55                   	push   %ebp
41e0a0:	8b ec                	mov    %esp,%ebp
41e0a2:	8b 0d c0 d0 43 00    	mov    0x43d0c0,%ecx
41e0a8:	56                   	push   %esi
41e0a9:	8b 35 ec fa 43 00    	mov    0x43faec,%esi
41e0af:	83 e1 1f             	and    $0x1f,%ecx
41e0b2:	33 35 c0 d0 43 00    	xor    0x43d0c0,%esi
41e0b8:	6a 00                	push   $0x0
41e0ba:	6a 00                	push   $0x0
41e0bc:	ff 75 08             	push   0x8(%ebp)
41e0bf:	d3 ce                	ror    %cl,%esi
41e0c1:	8b ce                	mov    %esi,%ecx
41e0c3:	ff 15 68 12 43 00    	call   *0x431268
41e0c9:	ff d6                	call   *%esi
41e0cb:	5e                   	pop    %esi
41e0cc:	5d                   	pop    %ebp
41e0cd:	c2 04 00             	ret    $0x4
41e0d0:	68 68 47 43 00       	push   $0x434768
41e0d5:	68 64 47 43 00       	push   $0x434764
41e0da:	68 68 47 43 00       	push   $0x434768
41e0df:	6a 00                	push   $0x0
41e0e1:	e8 d3 01 00 00       	call   0x41e2b9
41e0e6:	83 c4 10             	add    $0x10,%esp
41e0e9:	c3                   	ret
41e0ea:	68 80 47 43 00       	push   $0x434780
41e0ef:	68 78 47 43 00       	push   $0x434778
41e0f4:	68 80 47 43 00       	push   $0x434780
41e0f9:	6a 01                	push   $0x1
41e0fb:	e8 b9 01 00 00       	call   0x41e2b9
41e100:	83 c4 10             	add    $0x10,%esp
41e103:	c3                   	ret
41e104:	68 98 47 43 00       	push   $0x434798
41e109:	68 90 47 43 00       	push   $0x434790
41e10e:	68 98 47 43 00       	push   $0x434798
41e113:	6a 02                	push   $0x2
41e115:	e8 9f 01 00 00       	call   0x41e2b9
41e11a:	83 c4 10             	add    $0x10,%esp
41e11d:	c3                   	ret
41e11e:	68 b4 47 43 00       	push   $0x4347b4
41e123:	68 ac 47 43 00       	push   $0x4347ac
41e128:	68 b4 47 43 00       	push   $0x4347b4
41e12d:	6a 04                	push   $0x4
41e12f:	e8 85 01 00 00       	call   0x41e2b9
41e134:	83 c4 10             	add    $0x10,%esp
41e137:	c3                   	ret
41e138:	68 cc 47 43 00       	push   $0x4347cc
41e13d:	68 c4 47 43 00       	push   $0x4347c4
41e142:	68 cc 47 43 00       	push   $0x4347cc
41e147:	6a 08                	push   $0x8
41e149:	e8 6b 01 00 00       	call   0x41e2b9
41e14e:	83 c4 10             	add    $0x10,%esp
41e151:	c3                   	ret
41e152:	68 e4 47 43 00       	push   $0x4347e4
41e157:	68 dc 47 43 00       	push   $0x4347dc
41e15c:	68 e4 47 43 00       	push   $0x4347e4
41e161:	6a 0b                	push   $0xb
41e163:	e8 51 01 00 00       	call   0x41e2b9
41e168:	83 c4 10             	add    $0x10,%esp
41e16b:	c3                   	ret
41e16c:	68 fc 47 43 00       	push   $0x4347fc
41e171:	68 f4 47 43 00       	push   $0x4347f4
41e176:	68 fc 47 43 00       	push   $0x4347fc
41e17b:	6a 0c                	push   $0xc
41e17d:	e8 37 01 00 00       	call   0x41e2b9
41e182:	83 c4 10             	add    $0x10,%esp
41e185:	c3                   	ret
41e186:	68 28 48 43 00       	push   $0x434828
41e18b:	68 20 48 43 00       	push   $0x434820
41e190:	68 28 48 43 00       	push   $0x434828
41e195:	6a 10                	push   $0x10
41e197:	e8 1d 01 00 00       	call   0x41e2b9
41e19c:	83 c4 10             	add    $0x10,%esp
41e19f:	c3                   	ret
41e1a0:	68 5c 48 43 00       	push   $0x43485c
41e1a5:	68 54 48 43 00       	push   $0x434854
41e1aa:	68 5c 48 43 00       	push   $0x43485c
41e1af:	6a 12                	push   $0x12
41e1b1:	e8 03 01 00 00       	call   0x41e2b9
41e1b6:	83 c4 10             	add    $0x10,%esp
41e1b9:	c3                   	ret
41e1ba:	68 44 48 43 00       	push   $0x434844
41e1bf:	68 3c 48 43 00       	push   $0x43483c
41e1c4:	68 44 48 43 00       	push   $0x434844
41e1c9:	6a 11                	push   $0x11
41e1cb:	e8 e9 00 00 00       	call   0x41e2b9
41e1d0:	83 c4 10             	add    $0x10,%esp
41e1d3:	c3                   	ret
41e1d4:	68 78 48 43 00       	push   $0x434878
41e1d9:	68 70 48 43 00       	push   $0x434870
41e1de:	68 78 48 43 00       	push   $0x434878
41e1e3:	6a 13                	push   $0x13
41e1e5:	e8 cf 00 00 00       	call   0x41e2b9
41e1ea:	83 c4 10             	add    $0x10,%esp
41e1ed:	c3                   	ret
41e1ee:	8b ff                	mov    %edi,%edi
41e1f0:	55                   	push   %ebp
41e1f1:	8b ec                	mov    %esp,%ebp
41e1f3:	51                   	push   %ecx
41e1f4:	53                   	push   %ebx
41e1f5:	56                   	push   %esi
41e1f6:	57                   	push   %edi
41e1f7:	8b 7d 08             	mov    0x8(%ebp),%edi
41e1fa:	e9 8d 00 00 00       	jmp    0x41e28c
41e1ff:	8b 0f                	mov    (%edi),%ecx
41e201:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41e204:	8d 04 8d 08 fa 43 00 	lea    0x43fa08(,%ecx,4),%eax
41e20b:	8b 30                	mov    (%eax),%esi
41e20d:	90                   	nop
41e20e:	85 f6                	test   %esi,%esi
41e210:	74 0b                	je     0x41e21d
41e212:	83 fe ff             	cmp    $0xffffffff,%esi
41e215:	0f 85 9a 00 00 00    	jne    0x41e2b5
41e21b:	eb 6c                	jmp    0x41e289
41e21d:	8b 1c 8d 58 42 43 00 	mov    0x434258(,%ecx,4),%ebx
41e224:	68 00 08 00 00       	push   $0x800
41e229:	6a 00                	push   $0x0
41e22b:	53                   	push   %ebx
41e22c:	ff 15 b4 10 43 00    	call   *0x4310b4
41e232:	8b f0                	mov    %eax,%esi
41e234:	85 f6                	test   %esi,%esi
41e236:	75 64                	jne    0x41e29c
41e238:	ff 15 08 11 43 00    	call   *0x431108
41e23e:	83 f8 57             	cmp    $0x57,%eax
41e241:	75 37                	jne    0x41e27a
41e243:	6a 07                	push   $0x7
41e245:	68 80 22 43 00       	push   $0x432280
41e24a:	53                   	push   %ebx
41e24b:	e8 2f a4 ff ff       	call   0x41867f
41e250:	83 c4 0c             	add    $0xc,%esp
41e253:	85 c0                	test   %eax,%eax
41e255:	74 23                	je     0x41e27a
41e257:	6a 07                	push   $0x7
41e259:	68 54 47 43 00       	push   $0x434754
41e25e:	53                   	push   %ebx
41e25f:	e8 1b a4 ff ff       	call   0x41867f
41e264:	83 c4 0c             	add    $0xc,%esp
41e267:	85 c0                	test   %eax,%eax
41e269:	74 0f                	je     0x41e27a
41e26b:	56                   	push   %esi
41e26c:	56                   	push   %esi
41e26d:	53                   	push   %ebx
41e26e:	ff 15 b4 10 43 00    	call   *0x4310b4
41e274:	8b f0                	mov    %eax,%esi
41e276:	85 f6                	test   %esi,%esi
41e278:	75 22                	jne    0x41e29c
41e27a:	8b 55 fc             	mov    -0x4(%ebp),%edx
41e27d:	83 c8 ff             	or     $0xffffffff,%eax
41e280:	8d 0c 95 08 fa 43 00 	lea    0x43fa08(,%edx,4),%ecx
41e287:	87 01                	xchg   %eax,(%ecx)
41e289:	83 c7 04             	add    $0x4,%edi
41e28c:	3b 7d 0c             	cmp    0xc(%ebp),%edi
41e28f:	0f 85 6a ff ff ff    	jne    0x41e1ff
41e295:	33 c0                	xor    %eax,%eax
41e297:	5f                   	pop    %edi
41e298:	5e                   	pop    %esi
41e299:	5b                   	pop    %ebx
41e29a:	c9                   	leave
41e29b:	c3                   	ret
41e29c:	8b 55 fc             	mov    -0x4(%ebp),%edx
41e29f:	8b c6                	mov    %esi,%eax
41e2a1:	8d 0c 95 08 fa 43 00 	lea    0x43fa08(,%edx,4),%ecx
41e2a8:	87 01                	xchg   %eax,(%ecx)
41e2aa:	85 c0                	test   %eax,%eax
41e2ac:	74 07                	je     0x41e2b5
41e2ae:	56                   	push   %esi
41e2af:	ff 15 44 11 43 00    	call   *0x431144
41e2b5:	8b c6                	mov    %esi,%eax
41e2b7:	eb de                	jmp    0x41e297
41e2b9:	8b ff                	mov    %edi,%edi
41e2bb:	55                   	push   %ebp
41e2bc:	8b ec                	mov    %esp,%ebp
41e2be:	8b 45 08             	mov    0x8(%ebp),%eax
41e2c1:	53                   	push   %ebx
41e2c2:	56                   	push   %esi
41e2c3:	8d 1c 85 60 fa 43 00 	lea    0x43fa60(,%eax,4),%ebx
41e2ca:	8b 13                	mov    (%ebx),%edx
41e2cc:	90                   	nop
41e2cd:	8b 0d c0 d0 43 00    	mov    0x43d0c0,%ecx
41e2d3:	83 ce ff             	or     $0xffffffff,%esi
41e2d6:	33 15 c0 d0 43 00    	xor    0x43d0c0,%edx
41e2dc:	83 e1 1f             	and    $0x1f,%ecx
41e2df:	d3 ca                	ror    %cl,%edx
41e2e1:	3b d6                	cmp    %esi,%edx
41e2e3:	75 04                	jne    0x41e2e9
41e2e5:	33 c0                	xor    %eax,%eax
41e2e7:	eb 51                	jmp    0x41e33a