41c786:	57                   	push   %edi
41c787:	8b cb                	mov    %ebx,%ecx
41c789:	e8 06 00 00 00       	call   0x41c794
41c78e:	5f                   	pop    %edi
41c78f:	5e                   	pop    %esi
41c790:	5b                   	pop    %ebx
41c791:	c2 04 00             	ret    $0x4
41c794:	53                   	push   %ebx
41c795:	55                   	push   %ebp
41c796:	56                   	push   %esi
41c797:	8b 74 24 10          	mov    0x10(%esp),%esi
41c79b:	57                   	push   %edi
41c79c:	6a 01                	push   $0x1
41c79e:	85 f6                	test   %esi,%esi
41c7a0:	8b f9                	mov    %ecx,%edi
41c7a2:	5d                   	pop    %ebp
41c7a3:	74 59                	je     0x41c7fe
41c7a5:	66 8b 0e             	mov    (%esi),%cx
41c7a8:	66 85 c9             	test   %cx,%cx
41c7ab:	74 51                	je     0x41c7fe
41c7ad:	46                   	inc    %esi
41c7ae:	46                   	inc    %esi
41c7af:	66 8b 06             	mov    (%esi),%ax
41c7b2:	46                   	inc    %esi
41c7b3:	46                   	inc    %esi
41c7b4:	8b 1e                	mov    (%esi),%ebx
41c7b6:	83 c6 04             	add    $0x4,%esi
41c7b9:	66 3d 01 04          	cmp    $0x401,%ax
41c7bd:	75 07                	jne    0x41c7c6
41c7bf:	b8 80 01 00 00       	mov    $0x180,%eax
41c7c4:	eb 0b                	jmp    0x41c7d1
41c7c6:	66 3d 03 04          	cmp    $0x403,%ax
41c7ca:	75 05                	jne    0x41c7d1
41c7cc:	b8 43 01 00 00       	mov    $0x143,%eax
41c7d1:	66 3d 80 01          	cmp    $0x180,%ax
41c7d5:	74 06                	je     0x41c7dd
41c7d7:	66 3d 43 01          	cmp    $0x143,%ax
41c7db:	75 1b                	jne    0x41c7f8
41c7dd:	0f b7 c0             	movzwl %ax,%eax
41c7e0:	56                   	push   %esi
41c7e1:	6a 00                	push   $0x0
41c7e3:	50                   	push   %eax
41c7e4:	0f b7 c1             	movzwl %cx,%eax
41c7e7:	50                   	push   %eax
41c7e8:	ff 77 1c             	push   0x1c(%edi)
41c7eb:	ff 15 44 98 43 00    	call   *0x439844
41c7f1:	83 f8 ff             	cmp    $0xffffffff,%eax
41c7f4:	75 02                	jne    0x41c7f8
41c7f6:	33 ed                	xor    %ebp,%ebp
41c7f8:	03 f3                	add    %ebx,%esi
41c7fa:	85 ed                	test   %ebp,%ebp
41c7fc:	75 a7                	jne    0x41c7a5
41c7fe:	33 c0                	xor    %eax,%eax
41c800:	3b e8                	cmp    %eax,%ebp
41c802:	74 11                	je     0x41c815
41c804:	50                   	push   %eax
41c805:	50                   	push   %eax
41c806:	50                   	push   %eax
41c807:	50                   	push   %eax
41c808:	68 64 03 00 00       	push   $0x364
41c80d:	ff 77 1c             	push   0x1c(%edi)
41c810:	e8 4b f2 ff ff       	call   0x41ba60
41c815:	5f                   	pop    %edi
41c816:	8b c5                	mov    %ebp,%eax
41c818:	5e                   	pop    %esi
41c819:	5d                   	pop    %ebp
41c81a:	5b                   	pop    %ebx
41c81b:	c2 04 00             	ret    $0x4
41c81e:	8b 54 24 04          	mov    0x4(%esp),%edx
41c822:	8b 42 04             	mov    0x4(%edx),%eax
41c825:	3d 00 01 00 00       	cmp    $0x100,%eax
41c82a:	72 07                	jb     0x41c833
41c82c:	3d 08 01 00 00       	cmp    $0x108,%eax
41c831:	76 0e                	jbe    0x41c841
41c833:	3d 00 02 00 00       	cmp    $0x200,%eax
41c838:	72 0f                	jb     0x41c849
41c83a:	3d 09 02 00 00       	cmp    $0x209,%eax
41c83f:	77 08                	ja     0x41c849
41c841:	52                   	push   %edx
41c842:	e8 5e 0e 00 00       	call   0x41d6a5
41c847:	eb 02                	jmp    0x41c84b
41c849:	33 c0                	xor    %eax,%eax
41c84b:	c2 04 00             	ret    $0x4
41c84e:	83 ec 10             	sub    $0x10,%esp
41c851:	53                   	push   %ebx
41c852:	55                   	push   %ebp
41c853:	56                   	push   %esi
41c854:	57                   	push   %edi
41c855:	6a 01                	push   $0x1
41c857:	33 ff                	xor    %edi,%edi
41c859:	f6 44 24 28 04       	testb  $0x4,0x28(%esp)
41c85e:	5b                   	pop    %ebx
41c85f:	8b f1                	mov    %ecx,%esi
41c861:	89 5c 24 18          	mov    %ebx,0x18(%esp)
41c865:	89 7c 24 14          	mov    %edi,0x14(%esp)
41c869:	74 10                	je     0x41c87b
41c86b:	e8 68 0e 00 00       	call   0x41d6d8
41c870:	a9 00 00 00 10       	test   $0x10000000,%eax
41c875:	89 5c 24 10          	mov    %ebx,0x10(%esp)
41c879:	74 04                	je     0x41c87f
41c87b:	89 7c 24 10          	mov    %edi,0x10(%esp)
41c87f:	ff 76 1c             	push   0x1c(%esi)
41c882:	ff 15 a8 98 43 00    	call   *0x4398a8
41c888:	83 4e 24 18          	orl    $0x18,0x24(%esi)
41c88c:	89 44 24 1c          	mov    %eax,0x1c(%esp)
41c890:	e8 27 17 00 00       	call   0x41dfbc
41c895:	8b 1d 88 99 43 00    	mov    0x439988,%ebx
41c89b:	8b e8                	mov    %eax,%ebp
41c89d:	83 c5 30             	add    $0x30,%ebp
41c8a0:	39 7c 24 18          	cmp    %edi,0x18(%esp)
41c8a4:	74 72                	je     0x41c918
41c8a6:	57                   	push   %edi
41c8a7:	57                   	push   %edi
41c8a8:	57                   	push   %edi
41c8a9:	57                   	push   %edi
41c8aa:	55                   	push   %ebp
41c8ab:	ff 15 50 98 43 00    	call   *0x439850
41c8b1:	85 c0                	test   %eax,%eax
41c8b3:	75 63                	jne    0x41c918
41c8b5:	39 7c 24 10          	cmp    %edi,0x10(%esp)
41c8b9:	74 16                	je     0x41c8d1
41c8bb:	6a 01                	push   $0x1
41c8bd:	8b ce                	mov    %esi,%ecx
41c8bf:	e8 26 0f 00 00       	call   0x41d7ea
41c8c4:	ff 76 1c             	push   0x1c(%esi)
41c8c7:	ff 15 3c 99 43 00    	call   *0x43993c
41c8cd:	89 7c 24 10          	mov    %edi,0x10(%esp)
41c8d1:	f6 44 24 24 01       	testb  $0x1,0x24(%esp)
41c8d6:	75 1b                	jne    0x41c8f3
41c8d8:	39 7c 24 1c          	cmp    %edi,0x1c(%esp)
41c8dc:	74 15                	je     0x41c8f3
41c8de:	39 7c 24 14          	cmp    %edi,0x14(%esp)
41c8e2:	75 0f                	jne    0x41c8f3
41c8e4:	ff 76 1c             	push   0x1c(%esi)
41c8e7:	57                   	push   %edi
41c8e8:	68 21 01 00 00       	push   $0x121
41c8ed:	ff 74 24 28          	push   0x28(%esp)
41c8f1:	ff d3                	call   *%ebx
41c8f3:	f6 44 24 24 02       	testb  $0x2,0x24(%esp)
41c8f8:	75 18                	jne    0x41c912
41c8fa:	8b 44 24 14          	mov    0x14(%esp),%eax
41c8fe:	ff 44 24 14          	incl   0x14(%esp)
41c902:	50                   	push   %eax
41c903:	57                   	push   %edi
41c904:	68 6a 03 00 00       	push   $0x36a
41c909:	ff 76 1c             	push   0x1c(%esi)
41c90c:	ff d3                	call   *%ebx
41c90e:	3b c7                	cmp    %edi,%eax
41c910:	75 8e                	jne    0x41c8a0
41c912:	89 7c 24 18          	mov    %edi,0x18(%esp)
41c916:	eb 88                	jmp    0x41c8a0
41c918:	e8 9f 16 00 00       	call   0x41dfbc
41c91d:	8b 10                	mov    (%eax),%edx
41c91f:	8b c8                	mov    %eax,%ecx
41c921:	ff 52 64             	call   *0x64(%edx)
41c924:	85 c0                	test   %eax,%eax
41c926:	74 69                	je     0x41c991
41c928:	39 7c 24 10          	cmp    %edi,0x10(%esp)
41c92c:	74 27                	je     0x41c955
41c92e:	8b 45 04             	mov    0x4(%ebp),%eax
41c931:	3d 18 01 00 00       	cmp    $0x118,%eax
41c936:	74 07                	je     0x41c93f
41c938:	3d 04 01 00 00       	cmp    $0x104,%eax
41c93d:	75 16                	jne    0x41c955
41c93f:	6a 01                	push   $0x1
41c941:	8b ce                	mov    %esi,%ecx
41c943:	e8 a2 0e 00 00       	call   0x41d7ea
41c948:	ff 76 1c             	push   0x1c(%esi)
41c94b:	ff 15 3c 99 43 00    	call   *0x43993c
41c951:	89 7c 24 10          	mov    %edi,0x10(%esp)
41c955:	8b 06                	mov    (%esi),%eax
41c957:	8b ce                	mov    %esi,%ecx
41c959:	ff 50 78             	call   *0x78(%eax)
41c95c:	85 c0                	test   %eax,%eax
41c95e:	74 3c                	je     0x41c99c
41c960:	e8 57 16 00 00       	call   0x41dfbc
41c965:	8b 10                	mov    (%eax),%edx
41c967:	55                   	push   %ebp
41c968:	8b c8                	mov    %eax,%ecx
41c96a:	ff 52 6c             	call   *0x6c(%edx)
41c96d:	85 c0                	test   %eax,%eax
41c96f:	74 0c                	je     0x41c97d
41c971:	c7 44 24 18 01 00 00 	movl   $0x1,0x18(%esp)
41c978:	00
41c979:	89 7c 24 14          	mov    %edi,0x14(%esp)
41c97d:	57                   	push   %edi
41c97e:	57                   	push   %edi
41c97f:	57                   	push   %edi
41c980:	57                   	push   %edi
41c981:	55                   	push   %ebp
41c982:	ff 15 50 98 43 00    	call   *0x439850
41c988:	85 c0                	test   %eax,%eax
41c98a:	75 8c                	jne    0x41c918
41c98c:	e9 0f ff ff ff       	jmp    0x41c8a0
41c991:	57                   	push   %edi
41c992:	e8 a6 8e 00 00       	call   0x42583d
41c997:	83 c8 ff             	or     $0xffffffff,%eax
41c99a:	eb 07                	jmp    0x41c9a3
41c99c:	83 66 24 e7          	andl   $0xffffffe7,0x24(%esi)
41c9a0:	8b 46 2c             	mov    0x2c(%esi),%eax
41c9a3:	5f                   	pop    %edi
41c9a4:	5e                   	pop    %esi
41c9a5:	5d                   	pop    %ebp
41c9a6:	5b                   	pop    %ebx
41c9a7:	83 c4 10             	add    $0x10,%esp
41c9aa:	c2 04 00             	ret    $0x4
41c9ad:	8b 41 24             	mov    0x24(%ecx),%eax
41c9b0:	83 e0 10             	and    $0x10,%eax
41c9b3:	c3                   	ret
41c9b4:	8b 44 24 04          	mov    0x4(%esp),%eax
41c9b8:	89 41 2c             	mov    %eax,0x2c(%ecx)
41c9bb:	8b 41 24             	mov    0x24(%ecx),%eax
41c9be:	a8 10                	test   $0x10,%al
41c9c0:	74 13                	je     0x41c9d5
41c9c2:	24 ef                	and    $0xef,%al
41c9c4:	89 41 24             	mov    %eax,0x24(%ecx)
41c9c7:	33 c0                	xor    %eax,%eax
41c9c9:	50                   	push   %eax
41c9ca:	50                   	push   %eax
41c9cb:	50                   	push   %eax
41c9cc:	ff 71 1c             	push   0x1c(%ecx)
41c9cf:	ff 15 40 98 43 00    	call   *0x439840
41c9d5:	c2 04 00             	ret    $0x4
41c9d8:	55                   	push   %ebp
41c9d9:	8b ec                	mov    %esp,%ebp
41c9db:	83 ec 28             	sub    $0x28,%esp
41c9de:	56                   	push   %esi
41c9df:	57                   	push   %edi
41c9e0:	33 ff                	xor    %edi,%edi
41c9e2:	6a 28                	push   $0x28
41c9e4:	8d 45 d8             	lea    -0x28(%ebp),%eax
41c9e7:	57                   	push   %edi
41c9e8:	50                   	push   %eax
41c9e9:	e8 22 fa fe ff       	call   0x40c410
41c9ee:	a1 e0 98 43 00       	mov    0x4398e0,%eax
41c9f3:	83 c4 0c             	add    $0xc,%esp
41c9f6:	89 45 dc             	mov    %eax,-0x24(%ebp)
41c9f9:	e8 49 7d 00 00       	call   0x424747
41c9fe:	8b 40 08             	mov    0x8(%eax),%eax
41ca01:	89 45 e8             	mov    %eax,-0x18(%ebp)
41ca04:	a1 c0 6d 43 00       	mov    0x436dc0,%eax
41ca09:	89 45 f0             	mov    %eax,-0x10(%ebp)
41ca0c:	e8 36 7d 00 00       	call   0x424747
41ca11:	8b f0                	mov    %eax,%esi
41ca13:	8a 45 08             	mov    0x8(%ebp),%al
41ca16:	a8 01                	test   $0x1,%al
41ca18:	74 2a                	je     0x41ca44
41ca1a:	8d 45 d8             	lea    -0x28(%ebp),%eax
41ca1d:	c7 45 d8 0b 00 00 00 	movl   $0xb,-0x28(%ebp)
41ca24:	50                   	push   %eax
41ca25:	c7 45 fc 00 9a 42 00 	movl   $0x429a00,-0x4(%ebp)
41ca2c:	e8 71 e4 ff ff       	call   0x41aea2
41ca31:	8b f8                	mov    %eax,%edi
41ca33:	85 ff                	test   %edi,%edi
41ca35:	0f 84 cf 00 00 00    	je     0x41cb0a
41ca3b:	80 4e 18 01          	orb    $0x1,0x18(%esi)
41ca3f:	e9 c6 00 00 00       	jmp    0x41cb0a
41ca44:	a8 20                	test   $0x20,%al
41ca46:	74 27                	je     0x41ca6f
41ca48:	80 4d d8 8b          	orb    $0x8b,-0x28(%ebp)
41ca4c:	8d 45 d8             	lea    -0x28(%ebp),%eax
41ca4f:	50                   	push   %eax
41ca50:	c7 45 fc 50 9a 42 00 	movl   $0x429a50,-0x4(%ebp)
41ca57:	e8 46 e4 ff ff       	call   0x41aea2
41ca5c:	8b f8                	mov    %eax,%edi
41ca5e:	85 ff                	test   %edi,%edi
41ca60:	0f 84 a4 00 00 00    	je     0x41cb0a
41ca66:	80 4e 18 20          	orb    $0x20,0x18(%esi)
41ca6a:	e9 9b 00 00 00       	jmp    0x41cb0a
41ca6f:	a8 02                	test   $0x2,%al
41ca71:	74 27                	je     0x41ca9a
41ca73:	83 65 d8 00          	andl   $0x0,-0x28(%ebp)
41ca77:	8d 45 d8             	lea    -0x28(%ebp),%eax
41ca7a:	50                   	push   %eax
41ca7b:	c7 45 fc 10 9a 42 00 	movl   $0x429a10,-0x4(%ebp)
41ca82:	c7 45 f4 10 00 00 00 	movl   $0x10,-0xc(%ebp)
41ca89:	e8 14 e4 ff ff       	call   0x41aea2
41ca8e:	8b f8                	mov    %eax,%edi
41ca90:	85 ff                	test   %edi,%edi
41ca92:	74 76                	je     0x41cb0a
41ca94:	80 4e 18 02          	orb    $0x2,0x18(%esi)
41ca98:	eb 70                	jmp    0x41cb0a
41ca9a:	a8 04                	test   $0x4,%al
41ca9c:	74 2a                	je     0x41cac8
41ca9e:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
41caa2:	68 01 7a 00 00       	push   $0x7a01
41caa7:	8d 45 d8             	lea    -0x28(%ebp),%eax
41caaa:	68 28 9a 42 00       	push   $0x429a28
41caaf:	50                   	push   %eax
41cab0:	c7 45 d8 08 00 00 00 	movl   $0x8,-0x28(%ebp)
41cab7:	e8 56 00 00 00       	call   0x41cb12
41cabc:	8b f8                	mov    %eax,%edi
41cabe:	85 ff                	test   %edi,%edi
41cac0:	74 48                	je     0x41cb0a
41cac2:	80 4e 18 04          	orb    $0x4,0x18(%esi)
41cac6:	eb 42                	jmp    0x41cb0a
41cac8:	a8 08                	test   $0x8,%al
41caca:	74 2d                	je     0x41caf9
41cacc:	68 02 7a 00 00       	push   $0x7a02
41cad1:	8d 45 d8             	lea    -0x28(%ebp),%eax
41cad4:	68 38 9a 42 00       	push   $0x429a38
41cad9:	50                   	push   %eax
41cada:	c7 45 d8 0b 00 00 00 	movl   $0xb,-0x28(%ebp)
41cae1:	c7 45 f4 06 00 00 00 	movl   $0x6,-0xc(%ebp)
41cae8:	e8 25 00 00 00       	call   0x41cb12
41caed:	8b f8                	mov    %eax,%edi
41caef:	85 ff                	test   %edi,%edi
41caf1:	74 17                	je     0x41cb0a
41caf3:	80 4e 18 08          	orb    $0x8,0x18(%esi)
41caf7:	eb 11                	jmp    0x41cb0a
41caf9:	a8 10                	test   $0x10,%al
41cafb:	74 0d                	je     0x41cb0a
41cafd:	ff 15 4c 95 43 00    	call   *0x43954c
41cb03:	80 4e 18 10          	orb    $0x10,0x18(%esi)
41cb07:	6a 01                	push   $0x1
41cb09:	5f                   	pop    %edi
41cb0a:	8b c7                	mov    %edi,%eax
41cb0c:	5f                   	pop    %edi
41cb0d:	5e                   	pop    %esi
41cb0e:	c9                   	leave
41cb0f:	c2 04 00             	ret    $0x4
41cb12:	8b 44 24 08          	mov    0x8(%esp),%eax
41cb16:	56                   	push   %esi
41cb17:	8b 74 24 08          	mov    0x8(%esp),%esi
41cb1b:	57                   	push   %edi
41cb1c:	89 46 24             	mov    %eax,0x24(%esi)
41cb1f:	e8 23 7c 00 00       	call   0x424747
41cb24:	0f b7 4c 24 14       	movzwl 0x14(%esp),%ecx
41cb29:	8b 40 0c             	mov    0xc(%eax),%eax
41cb2c:	8b 3d 48 99 43 00    	mov    0x439948,%edi
41cb32:	51                   	push   %ecx
41cb33:	50                   	push   %eax
41cb34:	ff d7                	call   *%edi
41cb36:	85 c0                	test   %eax,%eax
41cb38:	89 46 14             	mov    %eax,0x14(%esi)
41cb3b:	75 0b                	jne    0x41cb48
41cb3d:	68 00 7f 00 00       	push   $0x7f00
41cb42:	50                   	push   %eax
41cb43:	ff d7                	call   *%edi
41cb45:	89 46 14             	mov    %eax,0x14(%esi)
41cb48:	56                   	push   %esi
41cb49:	e8 54 e3 ff ff       	call   0x41aea2
41cb4e:	5f                   	pop    %edi
41cb4f:	5e                   	pop    %esi
41cb50:	c2 0c 00             	ret    $0xc
41cb53:	33 c0                	xor    %eax,%eax
41cb55:	c3                   	ret
41cb56:	6a 01                	push   $0x1
41cb58:	58                   	pop    %eax
41cb59:	c3                   	ret