41bd67:	cc                   	int3
41bd68:	cc                   	int3
41bd69:	cc                   	int3
41bd6a:	cc                   	int3
41bd6b:	cc                   	int3
41bd6c:	cc                   	int3
41bd6d:	cc                   	int3
41bd6e:	cc                   	int3
41bd6f:	cc                   	int3
41bd70:	8b ff                	mov    %edi,%edi
41bd72:	55                   	push   %ebp
41bd73:	8b ec                	mov    %esp,%ebp
41bd75:	56                   	push   %esi
41bd76:	8b 35 3c 8a 43 00    	mov    0x438a3c,%esi
41bd7c:	85 f6                	test   %esi,%esi
41bd7e:	75 1d                	jne    0x41bd9d
41bd80:	68 68 50 40 00       	push   $0x405068
41bd85:	e8 89 2c 01 00       	call   0x42ea13
41bd8a:	50                   	push   %eax
41bd8b:	ff 15 54 a1 43 00    	call   *0x43a154
41bd91:	8b f0                	mov    %eax,%esi
41bd93:	89 35 3c 8a 43 00    	mov    %esi,0x438a3c
41bd99:	85 f6                	test   %esi,%esi
41bd9b:	74 10                	je     0x41bdad
41bd9d:	ff 75 0c             	push   0xc(%ebp)
41bda0:	8b ce                	mov    %esi,%ecx
41bda2:	ff 75 08             	push   0x8(%ebp)
41bda5:	ff 15 20 a5 43 00    	call   *0x43a520
41bdab:	ff d6                	call   *%esi
41bdad:	5e                   	pop    %esi
41bdae:	5d                   	pop    %ebp
41bdaf:	c2 08 00             	ret    $0x8
41bdb2:	8b ff                	mov    %edi,%edi
41bdb4:	56                   	push   %esi
41bdb5:	57                   	push   %edi
41bdb6:	bf ff ff ff 7f       	mov    $0x7fffffff,%edi
41bdbb:	eb 0d                	jmp    0x41bdca
41bdbd:	8d 56 ff             	lea    -0x1(%esi),%edx
41bdc0:	8b c6                	mov    %esi,%eax
41bdc2:	f0 0f b1 11          	lock cmpxchg %edx,(%ecx)
41bdc6:	3b c6                	cmp    %esi,%eax
41bdc8:	74 06                	je     0x41bdd0
41bdca:	8b 31                	mov    (%ecx),%esi
41bdcc:	3b f7                	cmp    %edi,%esi
41bdce:	75 ed                	jne    0x41bdbd
41bdd0:	5f                   	pop    %edi
41bdd1:	8d 46 ff             	lea    -0x1(%esi),%eax
41bdd4:	5e                   	pop    %esi
41bdd5:	c3                   	ret
41bdd6:	8b ff                	mov    %edi,%edi
41bdd8:	55                   	push   %ebp
41bdd9:	8b ec                	mov    %esp,%ebp
41bddb:	83 ec 0c             	sub    $0xc,%esp
41bdde:	56                   	push   %esi
41bddf:	8b f1                	mov    %ecx,%esi
41bde1:	80 3e 00             	cmpb   $0x0,(%esi)
41bde4:	74 53                	je     0x41be39
41bde6:	53                   	push   %ebx
41bde7:	57                   	push   %edi
41bde8:	8d 45 fc             	lea    -0x4(%ebp),%eax
41bdeb:	50                   	push   %eax
41bdec:	8d 4e 04             	lea    0x4(%esi),%ecx
41bdef:	e8 88 28 01 00       	call   0x42e67c
41bdf4:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
41bdf8:	8b 46 10             	mov    0x10(%esi),%eax
41bdfb:	74 27                	je     0x41be24
41bdfd:	39 45 10             	cmp    %eax,0x10(%ebp)
41be00:	75 22                	jne    0x41be24
41be02:	8b 7d 0c             	mov    0xc(%ebp),%edi
41be05:	8d 45 f4             	lea    -0xc(%ebp),%eax
41be08:	8b 5d 08             	mov    0x8(%ebp),%ebx
41be0b:	8d 4e 2c             	lea    0x2c(%esi),%ecx
41be0e:	6a 08                	push   $0x8
41be10:	50                   	push   %eax
41be11:	89 7d f4             	mov    %edi,-0xc(%ebp)
41be14:	89 5d f8             	mov    %ebx,-0x8(%ebp)
41be17:	e8 8b 29 01 00       	call   0x42e7a7
41be1c:	84 c0                	test   %al,%al
41be1e:	75 0f                	jne    0x41be2f
41be20:	57                   	push   %edi
41be21:	53                   	push   %ebx
41be22:	eb 06                	jmp    0x41be2a
41be24:	ff 75 0c             	push   0xc(%ebp)
41be27:	ff 75 08             	push   0x8(%ebp)
41be2a:	e8 fc fb ff ff       	call   0x41ba2b
41be2f:	8d 4d fc             	lea    -0x4(%ebp),%ecx
41be32:	e8 54 94 00 00       	call   0x42528b
41be37:	5f                   	pop    %edi
41be38:	5b                   	pop    %ebx
41be39:	5e                   	pop    %esi
41be3a:	c9                   	leave
41be3b:	c2 0c 00             	ret    $0xc
41be3e:	cc                   	int3
41be3f:	cc                   	int3
41be40:	8b ff                	mov    %edi,%edi
41be42:	55                   	push   %ebp
41be43:	8b ec                	mov    %esp,%ebp
41be45:	56                   	push   %esi
41be46:	8b 35 e8 89 43 00    	mov    0x4389e8,%esi
41be4c:	85 f6                	test   %esi,%esi
41be4e:	75 1d                	jne    0x41be6d
41be50:	68 20 51 40 00       	push   $0x405120
41be55:	e8 b9 2b 01 00       	call   0x42ea13
41be5a:	50                   	push   %eax
41be5b:	ff 15 54 a1 43 00    	call   *0x43a154
41be61:	8b f0                	mov    %eax,%esi
41be63:	89 35 e8 89 43 00    	mov    %esi,0x4389e8
41be69:	85 f6                	test   %esi,%esi
41be6b:	74 0d                	je     0x41be7a
41be6d:	ff 75 08             	push   0x8(%ebp)
41be70:	8b ce                	mov    %esi,%ecx
41be72:	ff 15 20 a5 43 00    	call   *0x43a520
41be78:	ff d6                	call   *%esi
41be7a:	5e                   	pop    %esi
41be7b:	5d                   	pop    %ebp
41be7c:	c2 04 00             	ret    $0x4
41be7f:	8b ff                	mov    %edi,%edi
41be81:	56                   	push   %esi
41be82:	51                   	push   %ecx
41be83:	8b f1                	mov    %ecx,%esi
41be85:	e8 57 d8 ff ff       	call   0x4196e1
41be8a:	ff 76 58             	push   0x58(%esi)
41be8d:	8b ce                	mov    %esi,%ecx
41be8f:	e8 4c cf ff ff       	call   0x418de0
41be94:	5e                   	pop    %esi
41be95:	c3                   	ret
41be96:	cc                   	int3
41be97:	cc                   	int3
41be98:	cc                   	int3
41be99:	cc                   	int3
41be9a:	cc                   	int3
41be9b:	cc                   	int3
41be9c:	cc                   	int3
41be9d:	cc                   	int3
41be9e:	cc                   	int3
41be9f:	cc                   	int3
41bea0:	8b ff                	mov    %edi,%edi
41bea2:	55                   	push   %ebp
41bea3:	8b ec                	mov    %esp,%ebp
41bea5:	83 e4 f8             	and    $0xfffffff8,%esp
41bea8:	8b 45 0c             	mov    0xc(%ebp),%eax
41beab:	83 ec 20             	sub    $0x20,%esp
41beae:	8b d0                	mov    %eax,%edx
41beb0:	25 7f ff ff ff       	and    $0xffffff7f,%eax
41beb5:	c1 ea 07             	shr    $0x7,%edx
41beb8:	83 e2 01             	and    $0x1,%edx
41bebb:	53                   	push   %ebx
41bebc:	33 db                	xor    %ebx,%ebx
41bebe:	57                   	push   %edi
41bebf:	83 f8 03             	cmp    $0x3,%eax
41bec2:	74 09                	je     0x41becd
41bec4:	88 5c 24 0c          	mov    %bl,0xc(%esp)
41bec8:	83 f8 02             	cmp    $0x2,%eax
41becb:	75 05                	jne    0x41bed2
41becd:	c6 44 24 0c 01       	movb   $0x1,0xc(%esp)
41bed2:	6a 06                	push   $0x6
41bed4:	59                   	pop    %ecx
41bed5:	ff 75 10             	push   0x10(%ebp)
41bed8:	33 c0                	xor    %eax,%eax
41beda:	8d 7c 24 14          	lea    0x14(%esp),%edi
41bede:	52                   	push   %edx
41bedf:	ff 74 24 14          	push   0x14(%esp)
41bee3:	8b 55 08             	mov    0x8(%ebp),%edx
41bee6:	f3 ab                	rep stos %eax,%es:(%edi)
41bee8:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
41beec:	e8 5c fb ff ff       	call   0x41ba4d
41bef1:	84 c0                	test   %al,%al
41bef3:	74 04                	je     0x41bef9
41bef5:	8b 5c 24 10          	mov    0x10(%esp),%ebx
41bef9:	83 7c 24 20 00       	cmpl   $0x0,0x20(%esp)
41befe:	74 06                	je     0x41bf06
41bf00:	81 cb 80 00 00 00    	or     $0x80,%ebx
41bf06:	83 7c 24 24 00       	cmpl   $0x0,0x24(%esp)
41bf0b:	74 03                	je     0x41bf10
41bf0d:	83 cb 40             	or     $0x40,%ebx
41bf10:	5f                   	pop    %edi
41bf11:	8b c3                	mov    %ebx,%eax
41bf13:	5b                   	pop    %ebx
41bf14:	8b e5                	mov    %ebp,%esp
41bf16:	5d                   	pop    %ebp
41bf17:	c2 0c 00             	ret    $0xc
41bf1a:	cc                   	int3
41bf1b:	cc                   	int3
41bf1c:	cc                   	int3
41bf1d:	cc                   	int3
41bf1e:	cc                   	int3
41bf1f:	cc                   	int3
41bf20:	8b ff                	mov    %edi,%edi
41bf22:	55                   	push   %ebp
41bf23:	8b ec                	mov    %esp,%ebp
41bf25:	56                   	push   %esi
41bf26:	57                   	push   %edi
41bf27:	8b 7d 08             	mov    0x8(%ebp),%edi
41bf2a:	8d 71 04             	lea    0x4(%ecx),%esi
41bf2d:	c7 07 c0 18 40 00    	movl   $0x4018c0,(%edi)
41bf33:	83 c7 04             	add    $0x4,%edi
41bf36:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41bf37:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41bf38:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41bf39:	5f                   	pop    %edi
41bf3a:	5e                   	pop    %esi
41bf3b:	5d                   	pop    %ebp
41bf3c:	c2 04 00             	ret    $0x4
41bf3f:	8b ff                	mov    %edi,%edi
41bf41:	56                   	push   %esi
41bf42:	6a ff                	push   $0xffffffff
41bf44:	8b f1                	mov    %ecx,%esi
41bf46:	e8 c1 29 01 00       	call   0x42e90c
41bf4b:	8b c6                	mov    %esi,%eax
41bf4d:	5e                   	pop    %esi
41bf4e:	c3                   	ret
41bf4f:	8b ff                	mov    %edi,%edi
41bf51:	56                   	push   %esi
41bf52:	6a 00                	push   $0x0
41bf54:	8b f1                	mov    %ecx,%esi
41bf56:	e8 87 c9 ff ff       	call   0x4188e2
41bf5b:	8b c6                	mov    %esi,%eax
41bf5d:	5e                   	pop    %esi
41bf5e:	c3                   	ret
41bf5f:	8b ff                	mov    %edi,%edi
41bf61:	56                   	push   %esi
41bf62:	8b f1                	mov    %ecx,%esi
41bf64:	8b 0e                	mov    (%esi),%ecx
41bf66:	85 c9                	test   %ecx,%ecx
41bf68:	74 05                	je     0x41bf6f
41bf6a:	e8 83 23 01 00       	call   0x42e2f2
41bf6f:	83 26 00             	andl   $0x0,(%esi)
41bf72:	8b c6                	mov    %esi,%eax
41bf74:	5e                   	pop    %esi
41bf75:	c3                   	ret
41bf76:	8b ff                	mov    %edi,%edi
41bf78:	56                   	push   %esi
41bf79:	8b f1                	mov    %ecx,%esi
41bf7b:	8b 0e                	mov    (%esi),%ecx
41bf7d:	85 c9                	test   %ecx,%ecx
41bf7f:	74 05                	je     0x41bf86
41bf81:	e8 9b 23 01 00       	call   0x42e321
41bf86:	83 26 00             	andl   $0x0,(%esi)
41bf89:	8b c6                	mov    %esi,%eax
41bf8b:	5e                   	pop    %esi
41bf8c:	c3                   	ret
41bf8d:	8b ff                	mov    %edi,%edi
41bf8f:	56                   	push   %esi
41bf90:	8b f1                	mov    %ecx,%esi
41bf92:	8b 0e                	mov    (%esi),%ecx
41bf94:	85 c9                	test   %ecx,%ecx
41bf96:	74 05                	je     0x41bf9d
41bf98:	e8 e4 23 01 00       	call   0x42e381
41bf9d:	83 26 00             	andl   $0x0,(%esi)
41bfa0:	8b c6                	mov    %esi,%eax
41bfa2:	5e                   	pop    %esi
41bfa3:	c3                   	ret
41bfa4:	8b 41 18             	mov    0x18(%ecx),%eax
41bfa7:	33 c9                	xor    %ecx,%ecx
41bfa9:	38 48 04             	cmp    %cl,0x4(%eax)
41bfac:	74 16                	je     0x41bfc4
41bfae:	83 c0 18             	add    $0x18,%eax
41bfb1:	39 08                	cmp    %ecx,(%eax)
41bfb3:	75 11                	jne    0x41bfc6
41bfb5:	39 48 04             	cmp    %ecx,0x4(%eax)
41bfb8:	75 0c                	jne    0x41bfc6
41bfba:	39 48 08             	cmp    %ecx,0x8(%eax)
41bfbd:	75 07                	jne    0x41bfc6
41bfbf:	39 48 0c             	cmp    %ecx,0xc(%eax)
41bfc2:	75 02                	jne    0x41bfc6
41bfc4:	8b c1                	mov    %ecx,%eax
41bfc6:	c3                   	ret
41bfc7:	8b ff                	mov    %edi,%edi
41bfc9:	55                   	push   %ebp
41bfca:	8b ec                	mov    %esp,%ebp
41bfcc:	51                   	push   %ecx
41bfcd:	53                   	push   %ebx
41bfce:	56                   	push   %esi
41bfcf:	8b 75 10             	mov    0x10(%ebp),%esi
41bfd2:	8b d9                	mov    %ecx,%ebx
41bfd4:	57                   	push   %edi
41bfd5:	8b fa                	mov    %edx,%edi
41bfd7:	85 f6                	test   %esi,%esi
41bfd9:	74 03                	je     0x41bfde
41bfdb:	83 26 00             	andl   $0x0,(%esi)
41bfde:	8b 45 14             	mov    0x14(%ebp),%eax
41bfe1:	56                   	push   %esi
41bfe2:	ff 75 08             	push   0x8(%ebp)
41bfe5:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
41bfeb:	e8 1b 00 00 00       	call   0x41c00b
41bff0:	85 c0                	test   %eax,%eax
41bff2:	75 0f                	jne    0x41c003
41bff4:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41bff7:	8b d3                	mov    %ebx,%edx
41bff9:	56                   	push   %esi
41bffa:	ff 75 08             	push   0x8(%ebp)
41bffd:	57                   	push   %edi
41bffe:	e8 f1 00 00 00       	call   0x41c0f4
41c003:	5f                   	pop    %edi
41c004:	5e                   	pop    %esi
41c005:	5b                   	pop    %ebx
41c006:	59                   	pop    %ecx
41c007:	5d                   	pop    %ebp
41c008:	c2 10 00             	ret    $0x10
41c00b:	8b ff                	mov    %edi,%edi
41c00d:	55                   	push   %ebp
41c00e:	8b ec                	mov    %esp,%ebp
41c010:	83 ec 1c             	sub    $0x1c,%esp
41c013:	a1 08 85 43 00       	mov    0x438508,%eax
41c018:	33 c5                	xor    %ebp,%eax
41c01a:	89 45 fc             	mov    %eax,-0x4(%ebp)
41c01d:	8b 45 0c             	mov    0xc(%ebp),%eax
41c020:	53                   	push   %ebx
41c021:	56                   	push   %esi
41c022:	57                   	push   %edi
41c023:	89 45 ec             	mov    %eax,-0x14(%ebp)
41c026:	8d 7d f0             	lea    -0x10(%ebp),%edi
41c029:	33 c0                	xor    %eax,%eax
41c02b:	8b f2                	mov    %edx,%esi
41c02d:	ab                   	stos   %eax,%es:(%edi)
41c02e:	33 d2                	xor    %edx,%edx
41c030:	39 55 08             	cmp    %edx,0x8(%ebp)
41c033:	8b d9                	mov    %ecx,%ebx
41c035:	8b ce                	mov    %esi,%ecx
41c037:	0f 94 c2             	sete   %dl
41c03a:	ab                   	stos   %eax,%es:(%edi)
41c03b:	ab                   	stos   %eax,%es:(%edi)
41c03c:	8d 45 f0             	lea    -0x10(%ebp),%eax
41c03f:	50                   	push   %eax
41c040:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41c043:	50                   	push   %eax
41c044:	e8 8e 07 00 00       	call   0x41c7d7
41c049:	8b f0                	mov    %eax,%esi
41c04b:	85 f6                	test   %esi,%esi
41c04d:	75 3f                	jne    0x41c08e
41c04f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41c052:	33 d2                	xor    %edx,%edx
41c054:	8b c1                	mov    %ecx,%eax
41c056:	42                   	inc    %edx
41c057:	c1 e8 04             	shr    $0x4,%eax
41c05a:	83 e0 03             	and    $0x3,%eax
41c05d:	89 03                	mov    %eax,(%ebx)
41c05f:	8b c1                	mov    %ecx,%eax
41c061:	c1 e8 08             	shr    $0x8,%eax
41c064:	24 3f                	and    $0x3f,%al
41c066:	88 43 04             	mov    %al,0x4(%ebx)
41c069:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c06c:	89 43 0c             	mov    %eax,0xc(%ebx)
41c06f:	8b c1                	mov    %ecx,%eax
41c071:	c1 e8 0e             	shr    $0xe,%eax
41c074:	83 e0 03             	and    $0x3,%eax
41c077:	89 43 08             	mov    %eax,0x8(%ebx)
41c07a:	8b c1                	mov    %ecx,%eax
41c07c:	c1 e8 06             	shr    $0x6,%eax
41c07f:	23 c2                	and    %edx,%eax