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
41cb5a:	8b 81 90 00 00 00    	mov    0x90(%ecx),%eax
41cb60:	85 c0                	test   %eax,%eax
41cb62:	74 12                	je     0x41cb76
41cb64:	3d 02 e0 00 00       	cmp    $0xe002,%eax
41cb69:	74 0b                	je     0x41cb76
41cb6b:	3d 01 e0 00 00       	cmp    $0xe001,%eax
41cb70:	74 04                	je     0x41cb76
41cb72:	6a 01                	push   $0x1
41cb74:	58                   	pop    %eax
41cb75:	c3                   	ret
41cb76:	33 c0                	xor    %eax,%eax
41cb78:	c3                   	ret
41cb79:	57                   	push   %edi
41cb7a:	8b f9                	mov    %ecx,%edi
41cb7c:	ff 74 24 08          	push   0x8(%esp)
41cb80:	e8 7f d7 ff ff       	call   0x41a304
41cb85:	85 c0                	test   %eax,%eax
41cb87:	74 2f                	je     0x41cbb8
41cb89:	56                   	push   %esi
41cb8a:	8b 37                	mov    (%edi),%esi
41cb8c:	8b cf                	mov    %edi,%ecx
41cb8e:	ff 56 58             	call   *0x58(%esi)
41cb91:	8b cf                	mov    %edi,%ecx
41cb93:	ff 96 88 00 00 00    	call   *0x88(%esi)
41cb99:	8b f0                	mov    %eax,%esi
41cb9b:	e8 fb d7 ff ff       	call   0x41a39b
41cba0:	50                   	push   %eax
41cba1:	6a fc                	push   $0xfffffffc
41cba3:	ff 74 24 14          	push   0x14(%esp)
41cba7:	ff 15 28 99 43 00    	call   *0x439928
41cbad:	83 3e 00             	cmpl   $0x0,(%esi)
41cbb0:	75 02                	jne    0x41cbb4
41cbb2:	89 06                	mov    %eax,(%esi)
41cbb4:	6a 01                	push   $0x1
41cbb6:	58                   	pop    %eax
41cbb7:	5e                   	pop    %esi
41cbb8:	5f                   	pop    %edi
41cbb9:	c2 04 00             	ret    $0x4
41cbbc:	6a 00                	push   $0x0
41cbbe:	e8 0d 00 00 00       	call   0x41cbd0
41cbc3:	85 c0                	test   %eax,%eax
41cbc5:	59                   	pop    %ecx
41cbc6:	74 07                	je     0x41cbcf
41cbc8:	8b c8                	mov    %eax,%ecx
41cbca:	e9 05 24 00 00       	jmp    0x41efd4
41cbcf:	c3                   	ret
41cbd0:	b8 fa 78 42 00       	mov    $0x4278fa,%eax
41cbd5:	e8 56 f0 fe ff       	call   0x40bc30
41cbda:	56                   	push   %esi
41cbdb:	e8 8d 7b 00 00       	call   0x42476d
41cbe0:	8b f0                	mov    %eax,%esi
41cbe2:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
41cbe6:	75 48                	jne    0x41cc30
41cbe8:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41cbec:	74 42                	je     0x41cc30
41cbee:	53                   	push   %ebx
41cbef:	68 92 01 42 00       	push   $0x420192
41cbf4:	e8 f4 00 00 00       	call   0x41cced
41cbf9:	6a 44                	push   $0x44
41cbfb:	8b d8                	mov    %eax,%ebx
41cbfd:	e8 ff 00 00 00       	call   0x41cd01
41cc02:	59                   	pop    %ecx
41cc03:	8b c8                	mov    %eax,%ecx
41cc05:	89 4d 08             	mov    %ecx,0x8(%ebp)
41cc08:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41cc0c:	85 c9                	test   %ecx,%ecx
41cc0e:	74 10                	je     0x41cc20
41cc10:	6a 01                	push   $0x1
41cc12:	6a 04                	push   $0x4
41cc14:	68 40 a3 42 00       	push   $0x42a340
41cc19:	e8 7f 22 00 00       	call   0x41ee9d
41cc1e:	eb 02                	jmp    0x41cc22
41cc20:	33 c0                	xor    %eax,%eax
41cc22:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41cc26:	53                   	push   %ebx
41cc27:	89 46 18             	mov    %eax,0x18(%esi)
41cc2a:	e8 be 00 00 00       	call   0x41cced
41cc2f:	5b                   	pop    %ebx
41cc30:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41cc33:	8b 46 18             	mov    0x18(%esi),%eax
41cc36:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41cc3d:	5e                   	pop    %esi
41cc3e:	c9                   	leave
41cc3f:	c3                   	ret
41cc40:	6a 01                	push   $0x1
41cc42:	e8 89 ff ff ff       	call   0x41cbd0
41cc47:	59                   	pop    %ecx
41cc48:	ff 74 24 04          	push   0x4(%esp)
41cc4c:	8b c8                	mov    %eax,%ecx
41cc4e:	e8 a6 22 00 00       	call   0x41eef9
41cc53:	c2 04 00             	ret    $0x4
41cc56:	6a 00                	push   $0x0
41cc58:	e8 73 ff ff ff       	call   0x41cbd0
41cc5d:	59                   	pop    %ecx
41cc5e:	8b c8                	mov    %eax,%ecx
41cc60:	33 c0                	xor    %eax,%eax
41cc62:	85 c9                	test   %ecx,%ecx
41cc64:	74 09                	je     0x41cc6f
41cc66:	ff 74 24 04          	push   0x4(%esp)
41cc6a:	e8 fd ce ff ff       	call   0x419b6c
41cc6f:	c2 04 00             	ret    $0x4
41cc72:	56                   	push   %esi
41cc73:	57                   	push   %edi
41cc74:	8b 7c 24 0c          	mov    0xc(%esp),%edi
41cc78:	8b f1                	mov    %ecx,%esi
41cc7a:	85 ff                	test   %edi,%edi
41cc7c:	75 04                	jne    0x41cc82
41cc7e:	33 c0                	xor    %eax,%eax
41cc80:	eb 18                	jmp    0x41cc9a
41cc82:	6a 01                	push   $0x1
41cc84:	e8 47 ff ff ff       	call   0x41cbd0
41cc89:	59                   	pop    %ecx
41cc8a:	89 7e 04             	mov    %edi,0x4(%esi)
41cc8d:	57                   	push   %edi
41cc8e:	8b c8                	mov    %eax,%ecx
41cc90:	e8 0a cf ff ff       	call   0x419b9f
41cc95:	6a 01                	push   $0x1
41cc97:	89 30                	mov    %esi,(%eax)
41cc99:	58                   	pop    %eax
41cc9a:	5f                   	pop    %edi
41cc9b:	5e                   	pop    %esi
41cc9c:	c2 04 00             	ret    $0x4
41cc9f:	56                   	push   %esi
41cca0:	8b f1                	mov    %ecx,%esi
41cca2:	57                   	push   %edi
41cca3:	8b 7e 04             	mov    0x4(%esi),%edi
41cca6:	85 ff                	test   %edi,%edi
41cca8:	74 16                	je     0x41ccc0
41ccaa:	6a 00                	push   $0x0
41ccac:	e8 1f ff ff ff       	call   0x41cbd0
41ccb1:	85 c0                	test   %eax,%eax
41ccb3:	59                   	pop    %ecx
41ccb4:	74 0a                	je     0x41ccc0
41ccb6:	ff 76 04             	push   0x4(%esi)
41ccb9:	8b c8                	mov    %eax,%ecx
41ccbb:	e8 2f cf ff ff       	call   0x419bef
41ccc0:	83 66 04 00          	andl   $0x0,0x4(%esi)
41ccc4:	8b c7                	mov    %edi,%eax
41ccc6:	5f                   	pop    %edi
41ccc7:	5e                   	pop    %esi
41ccc8:	c3                   	ret
41ccc9:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
41cccd:	75 03                	jne    0x41ccd2
41cccf:	33 c0                	xor    %eax,%eax
41ccd1:	c3                   	ret
41ccd2:	e8 c8 ff ff ff       	call   0x41cc9f
41ccd7:	50                   	push   %eax
41ccd8:	ff 15 1c 98 43 00    	call   *0x43981c
41ccde:	c3                   	ret
41ccdf:	c2 04 00             	ret    $0x4
41cce2:	c2 04 00             	ret    $0x4
41cce5:	e8 8b c9 ff ff       	call   0x419675
41ccea:	33 c0                	xor    %eax,%eax
41ccec:	c3                   	ret
41cced:	e8 7b 7a 00 00       	call   0x42476d
41ccf2:	8b 54 24 04          	mov    0x4(%esp),%edx
41ccf6:	8b 48 28             	mov    0x28(%eax),%ecx
41ccf9:	89 50 28             	mov    %edx,0x28(%eax)
41ccfc:	8b c1                	mov    %ecx,%eax
41ccfe:	c2 04 00             	ret    $0x4
41cd01:	53                   	push   %ebx
41cd02:	8b 5c 24 08          	mov    0x8(%esp),%ebx
41cd06:	56                   	push   %esi
41cd07:	8b 35 98 a3 42 00    	mov    0x42a398,%esi
41cd0d:	57                   	push   %edi
41cd0e:	53                   	push   %ebx
41cd0f:	e8 ac f7 fe ff       	call   0x40c4c0
41cd14:	8b f8                	mov    %eax,%edi
41cd16:	59                   	pop    %ecx
41cd17:	85 ff                	test   %edi,%edi
41cd19:	75 1c                	jne    0x41cd37
41cd1b:	3b 35 98 a3 42 00    	cmp    0x42a398,%esi
41cd21:	75 08                	jne    0x41cd2b
41cd23:	e8 45 7a 00 00       	call   0x42476d
41cd28:	8b 70 28             	mov    0x28(%eax),%esi