41be63:	81 fb 02 d5 04 c0    	cmp    $0xc004d502,%ebx
41be69:	0f 8e 2a 6c ff ff    	jle    0x412a99
41be6f:	85 db                	test   %ebx,%ebx
41be71:	0f 89 22 6c ff ff    	jns    0x412a99
41be77:	3b de                	cmp    %esi,%ebx
41be79:	0f 84 1a 6c ff ff    	je     0x412a99
41be7f:	8b cb                	mov    %ebx,%ecx
41be81:	e8 af 30 00 00       	call   0x41ef35
41be86:	e9 0e 6c ff ff       	jmp    0x412a99
41be8b:	8b ff                	mov    %edi,%edi
41be8d:	55                   	push   %ebp
41be8e:	8b ec                	mov    %esp,%ebp
41be90:	83 ec 3c             	sub    $0x3c,%esp
41be93:	53                   	push   %ebx
41be94:	56                   	push   %esi
41be95:	57                   	push   %edi
41be96:	33 f6                	xor    %esi,%esi
41be98:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41be9b:	68 01 7f 00 00       	push   $0x7f01
41bea0:	8b da                	mov    %edx,%ebx
41bea2:	89 75 cc             	mov    %esi,-0x34(%ebp)
41bea5:	56                   	push   %esi
41bea6:	89 5d f8             	mov    %ebx,-0x8(%ebp)
41bea9:	89 75 d4             	mov    %esi,-0x2c(%ebp)
41beac:	89 75 d8             	mov    %esi,-0x28(%ebp)
41beaf:	c7 45 c8 30 00 00 00 	movl   $0x30,-0x38(%ebp)
41beb6:	ff 15 88 62 42 00    	call   *0x426288
41bebc:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41bebf:	8b fe                	mov    %esi,%edi
41bec1:	6a 02                	push   $0x2
41bec3:	ff 74 bd f8          	push   -0x8(%ebp,%edi,4)
41bec7:	ff 15 ac 62 42 00    	call   *0x4262ac
41becd:	85 c0                	test   %eax,%eax
41becf:	75 08                	jne    0x41bed9
41bed1:	47                   	inc    %edi
41bed2:	83 ff 02             	cmp    $0x2,%edi
41bed5:	72 ea                	jb     0x41bec1
41bed7:	8b c6                	mov    %esi,%eax
41bed9:	89 45 e0             	mov    %eax,-0x20(%ebp)
41bedc:	8b fe                	mov    %esi,%edi
41bede:	56                   	push   %esi
41bedf:	6a 10                	push   $0x10
41bee1:	6a 10                	push   $0x10
41bee3:	6a 01                	push   $0x1
41bee5:	6a 02                	push   $0x2
41bee7:	ff 74 bd f8          	push   -0x8(%ebp,%edi,4)
41beeb:	ff 15 b0 62 42 00    	call   *0x4262b0
41bef1:	85 c0                	test   %eax,%eax
41bef3:	75 08                	jne    0x41befd
41bef5:	47                   	inc    %edi
41bef6:	83 ff 02             	cmp    $0x2,%edi
41bef9:	72 e3                	jb     0x41bede
41befb:	eb 02                	jmp    0x41beff
41befd:	8b f0                	mov    %eax,%esi
41beff:	8d 45 c8             	lea    -0x38(%ebp),%eax
41bf02:	89 75 f4             	mov    %esi,-0xc(%ebp)
41bf05:	50                   	push   %eax
41bf06:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
41bf0d:	89 5d dc             	mov    %ebx,-0x24(%ebp)
41bf10:	c7 45 f0 b8 25 40 00 	movl   $0x4025b8,-0x10(%ebp)
41bf17:	c7 45 d0 30 ca 40 00 	movl   $0x40ca30,-0x30(%ebp)
41bf1e:	c7 45 e8 06 00 00 00 	movl   $0x6,-0x18(%ebp)
41bf25:	ff 15 8c 62 42 00    	call   *0x42628c
41bf2b:	5f                   	pop    %edi
41bf2c:	5e                   	pop    %esi
41bf2d:	0f b7 c0             	movzwl %ax,%eax
41bf30:	5b                   	pop    %ebx
41bf31:	c9                   	leave
41bf32:	c3                   	ret
41bf33:	8b ff                	mov    %edi,%edi
41bf35:	55                   	push   %ebp
41bf36:	8b ec                	mov    %esp,%ebp
41bf38:	8b 45 08             	mov    0x8(%ebp),%eax
41bf3b:	57                   	push   %edi
41bf3c:	8b 08                	mov    (%eax),%ecx
41bf3e:	83 20 00             	andl   $0x0,(%eax)
41bf41:	8b 3d 74 59 42 00    	mov    0x425974,%edi
41bf47:	89 0d 74 59 42 00    	mov    %ecx,0x425974
41bf4d:	85 ff                	test   %edi,%edi
41bf4f:	74 14                	je     0x41bf65
41bf51:	8b 07                	mov    (%edi),%eax
41bf53:	56                   	push   %esi
41bf54:	6a 01                	push   $0x1
41bf56:	8b 30                	mov    (%eax),%esi
41bf58:	8b ce                	mov    %esi,%ecx
41bf5a:	ff 15 78 64 42 00    	call   *0x426478
41bf60:	8b cf                	mov    %edi,%ecx
41bf62:	ff d6                	call   *%esi
41bf64:	5e                   	pop    %esi
41bf65:	b8 74 59 42 00       	mov    $0x425974,%eax
41bf6a:	5f                   	pop    %edi
41bf6b:	5d                   	pop    %ebp
41bf6c:	c2 04 00             	ret    $0x4
41bf6f:	cc                   	int3
41bf70:	8b ff                	mov    %edi,%edi
41bf72:	55                   	push   %ebp
41bf73:	8b ec                	mov    %esp,%ebp
41bf75:	83 ec 1c             	sub    $0x1c,%esp
41bf78:	56                   	push   %esi
41bf79:	8b 75 08             	mov    0x8(%ebp),%esi
41bf7c:	57                   	push   %edi
41bf7d:	8b f9                	mov    %ecx,%edi
41bf7f:	8b 07                	mov    (%edi),%eax
41bf81:	89 06                	mov    %eax,(%esi)
41bf83:	83 e0 03             	and    $0x3,%eax
41bf86:	3c 03                	cmp    $0x3,%al
41bf88:	0f 84 c6 00 00 00    	je     0x41c054
41bf8e:	53                   	push   %ebx
41bf8f:	e8 08 e2 fe ff       	call   0x40a19c
41bf94:	89 45 f4             	mov    %eax,-0xc(%ebp)
41bf97:	8d 45 f8             	lea    -0x8(%ebp),%eax
41bf9a:	50                   	push   %eax
41bf9b:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41bf9e:	50                   	push   %eax
41bf9f:	e8 0b 01 00 00       	call   0x41c0af
41bfa4:	8b 06                	mov    (%esi),%eax
41bfa6:	8b 55 e4             	mov    -0x1c(%ebp),%edx
41bfa9:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
41bfad:	8b d8                	mov    %eax,%ebx
41bfaf:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41bfb2:	8b c8                	mov    %eax,%ecx
41bfb4:	89 06                	mov    %eax,(%esi)
41bfb6:	74 13                	je     0x41bfcb
41bfb8:	a8 01                	test   $0x1,%al
41bfba:	75 0f                	jne    0x41bfcb
41bfbc:	33 ca                	xor    %edx,%ecx
41bfbe:	81 e1 18 01 00 00    	and    $0x118,%ecx
41bfc4:	33 c8                	xor    %eax,%ecx
41bfc6:	83 c9 01             	or     $0x1,%ecx
41bfc9:	89 0e                	mov    %ecx,(%esi)
41bfcb:	83 e3 02             	and    $0x2,%ebx
41bfce:	75 10                	jne    0x41bfe0
41bfd0:	8b c1                	mov    %ecx,%eax
41bfd2:	33 c2                	xor    %edx,%eax
41bfd4:	25 80 00 00 00       	and    $0x80,%eax
41bfd9:	33 c8                	xor    %eax,%ecx
41bfdb:	83 c9 02             	or     $0x2,%ecx
41bfde:	89 0e                	mov    %ecx,(%esi)
41bfe0:	8b 45 fc             	mov    -0x4(%ebp),%eax
41bfe3:	f0 0f b1 0f          	lock cmpxchg %ecx,(%edi)
41bfe7:	3b 45 fc             	cmp    -0x4(%ebp),%eax
41bfea:	75 bd                	jne    0x41bfa9
41bfec:	85 db                	test   %ebx,%ebx
41bfee:	75 52                	jne    0x41c042
41bff0:	38 1d 84 48 42 00    	cmp    %bl,0x424884
41bff6:	74 4a                	je     0x41c042
41bff8:	bb 88 48 42 00       	mov    $0x424888,%ebx
41bffd:	53                   	push   %ebx
41bffe:	ff 15 60 61 42 00    	call   *0x426160
41c004:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41c007:	a1 94 48 42 00       	mov    0x424894,%eax
41c00c:	85 c9                	test   %ecx,%ecx
41c00e:	74 22                	je     0x41c032
41c010:	3b c8                	cmp    %eax,%ecx
41c012:	75 1e                	jne    0x41c032
41c014:	6a 08                	push   $0x8
41c016:	8d 45 ec             	lea    -0x14(%ebp),%eax
41c019:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
41c020:	50                   	push   %eax
41c021:	b9 b0 48 42 00       	mov    $0x4248b0,%ecx
41c026:	89 7d f0             	mov    %edi,-0x10(%ebp)
41c029:	e8 4b c3 fe ff       	call   0x408379
41c02e:	84 c0                	test   %al,%al
41c030:	75 06                	jne    0x41c038
41c032:	6a fd                	push   $0xfffffffd
41c034:	58                   	pop    %eax
41c035:	f0 21 07             	lock and %eax,(%edi)
41c038:	53                   	push   %ebx
41c039:	ff 15 6c 61 42 00    	call   *0x42616c
41c03f:	8b 55 e4             	mov    -0x1c(%ebp),%edx
41c042:	f6 06 01             	testb  $0x1,(%esi)
41c045:	5b                   	pop    %ebx
41c046:	75 0c                	jne    0x41c054
41c048:	8b 0e                	mov    (%esi),%ecx
41c04a:	33 ca                	xor    %edx,%ecx
41c04c:	81 e1 18 01 00 00    	and    $0x118,%ecx
41c052:	31 0e                	xor    %ecx,(%esi)
41c054:	5f                   	pop    %edi
41c055:	8b c6                	mov    %esi,%eax
41c057:	5e                   	pop    %esi
41c058:	c9                   	leave
41c059:	c2 04 00             	ret    $0x4
41c05c:	8b ff                	mov    %edi,%edi
41c05e:	55                   	push   %ebp
41c05f:	8b ec                	mov    %esp,%ebp
41c061:	83 ec 10             	sub    $0x10,%esp
41c064:	56                   	push   %esi
41c065:	8b f1                	mov    %ecx,%esi
41c067:	8b 16                	mov    (%esi),%edx
41c069:	f6 c2 02             	test   $0x2,%dl
41c06c:	75 0b                	jne    0x41c079
41c06e:	8d 45 f0             	lea    -0x10(%ebp),%eax
41c071:	50                   	push   %eax
41c072:	e8 f9 fe ff ff       	call   0x41bf70
41c077:	8b 10                	mov    (%eax),%edx
41c079:	33 c0                	xor    %eax,%eax
41c07b:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
41c07f:	51                   	push   %ecx
41c080:	89 45 f8             	mov    %eax,-0x8(%ebp)
41c083:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
41c087:	51                   	push   %ecx
41c088:	50                   	push   %eax
41c089:	8d 45 f8             	lea    -0x8(%ebp),%eax
41c08c:	50                   	push   %eax
41c08d:	8b c2                	mov    %edx,%eax
41c08f:	8d 4e 08             	lea    0x8(%esi),%ecx
41c092:	c1 e8 08             	shr    $0x8,%eax
41c095:	c1 ea 07             	shr    $0x7,%edx
41c098:	83 e0 01             	and    $0x1,%eax
41c09b:	83 e2 01             	and    $0x1,%edx
41c09e:	50                   	push   %eax
41c09f:	52                   	push   %edx
41c0a0:	ba 9e bb 0d 01       	mov    $0x10dbb9e,%edx
41c0a5:	e8 5c 39 ff ff       	call   0x40fa06
41c0aa:	5e                   	pop    %esi
41c0ab:	c9                   	leave
41c0ac:	c2 0c 00             	ret    $0xc
41c0af:	8b ff                	mov    %edi,%edi
41c0b1:	55                   	push   %ebp
41c0b2:	8b ec                	mov    %esp,%ebp
41c0b4:	56                   	push   %esi
41c0b5:	57                   	push   %edi
41c0b6:	ff 75 0c             	push   0xc(%ebp)
41c0b9:	b9 9e bb 0d 01       	mov    $0x10dbb9e,%ecx
41c0be:	e8 f3 34 ff ff       	call   0x40f5b6
41c0c3:	8b 7d 08             	mov    0x8(%ebp),%edi
41c0c6:	8b d0                	mov    %eax,%edx
41c0c8:	8b f2                	mov    %edx,%esi
41c0ca:	25 80 00 00 00       	and    $0x80,%eax
41c0cf:	83 e6 40             	and    $0x40,%esi
41c0d2:	c1 e6 02             	shl    $0x2,%esi
41c0d5:	83 27 00             	andl   $0x0,(%edi)
41c0d8:	83 67 04 00          	andl   $0x0,0x4(%edi)
41c0dc:	8b 0f                	mov    (%edi),%ecx
41c0de:	81 e1 7f fe ff ff    	and    $0xfffffe7f,%ecx
41c0e4:	0b f1                	or     %ecx,%esi
41c0e6:	0b f0                	or     %eax,%esi
41c0e8:	81 e2 3f ff ff ff    	and    $0xffffff3f,%edx
41c0ee:	74 08                	je     0x41c0f8
41c0f0:	83 fa 02             	cmp    $0x2,%edx
41c0f3:	0f 94 c0             	sete   %al
41c0f6:	eb 02                	jmp    0x41c0fa
41c0f8:	b0 01                	mov    $0x1,%al
41c0fa:	0f b6 d0             	movzbl %al,%edx
41c0fd:	83 e6 ef             	and    $0xffffffef,%esi
41c100:	c1 e2 04             	shl    $0x4,%edx
41c103:	0b d6                	or     %esi,%edx
41c105:	0f b6 c8             	movzbl %al,%ecx
41c108:	83 e2 f7             	and    $0xfffffff7,%edx
41c10b:	c1 e1 03             	shl    $0x3,%ecx
41c10e:	0b d1                	or     %ecx,%edx
41c110:	8b c7                	mov    %edi,%eax
41c112:	89 17                	mov    %edx,(%edi)
41c114:	5f                   	pop    %edi
41c115:	5e                   	pop    %esi
41c116:	5d                   	pop    %ebp
41c117:	c2 08 00             	ret    $0x8
41c11a:	8b ff                	mov    %edi,%edi
41c11c:	51                   	push   %ecx
41c11d:	56                   	push   %esi
41c11e:	57                   	push   %edi
41c11f:	68 81 18 40 00       	push   $0x401881
41c124:	6a 10                	push   $0x10
41c126:	8b fa                	mov    %edx,%edi
41c128:	8b f1                	mov    %ecx,%esi
41c12a:	e8 f2 5e 00 00       	call   0x422021
41c12f:	59                   	pop    %ecx
41c130:	59                   	pop    %ecx
41c131:	85 c0                	test   %eax,%eax
41c133:	74 0a                	je     0x41c13f
41c135:	57                   	push   %edi
41c136:	8b c8                	mov    %eax,%ecx
41c138:	e8 b1 1a 00 00       	call   0x41dbee
41c13d:	eb 02                	jmp    0x41c141
41c13f:	33 c0                	xor    %eax,%eax
41c141:	89 06                	mov    %eax,(%esi)
41c143:	8b c6                	mov    %esi,%eax
41c145:	5f                   	pop    %edi
41c146:	5e                   	pop    %esi
41c147:	59                   	pop    %ecx
41c148:	c3                   	ret
41c149:	8b ff                	mov    %edi,%edi
41c14b:	55                   	push   %ebp
41c14c:	8b ec                	mov    %esp,%ebp
41c14e:	56                   	push   %esi
41c14f:	8b 75 10             	mov    0x10(%ebp),%esi
41c152:	33 c0                	xor    %eax,%eax
41c154:	38 05 12 5e 42 00    	cmp    %al,0x425e12
41c15a:	57                   	push   %edi
41c15b:	56                   	push   %esi
41c15c:	6a ff                	push   $0xffffffff
41c15e:	68 00 5d 42 00       	push   $0x425d00
41c163:	52                   	push   %edx
41c164:	8b f9                	mov    %ecx,%edi
41c166:	0f 94 c0             	sete   %al
41c169:	57                   	push   %edi
41c16a:	0d 00 00 80 00       	or     $0x800000,%eax
41c16f:	50                   	push   %eax
41c170:	68 00 04 00 00       	push   $0x400
41c175:	ff 15 28 61 42 00    	call   *0x426128
41c17b:	83 f8 ff             	cmp    $0xffffffff,%eax
41c17e:	74 0a                	je     0x41c18a
41c180:	83 3e 01             	cmpl   $0x1,(%esi)
41c183:	7c 05                	jl     0x41c18a
41c185:	8d 04 47             	lea    (%edi,%eax,2),%eax
41c188:	eb 02                	jmp    0x41c18c
41c18a:	33 c0                	xor    %eax,%eax
41c18c:	5f                   	pop    %edi
41c18d:	5e                   	pop    %esi
41c18e:	5d                   	pop    %ebp
41c18f:	c2 0c 00             	ret    $0xc
41c192:	8b ff                	mov    %edi,%edi
41c194:	55                   	push   %ebp
41c195:	8b ec                	mov    %esp,%ebp
41c197:	56                   	push   %esi
41c198:	8b 75 10             	mov    0x10(%ebp),%esi
41c19b:	33 c0                	xor    %eax,%eax
41c19d:	38 05 12 5e 42 00    	cmp    %al,0x425e12
41c1a3:	57                   	push   %edi
41c1a4:	56                   	push   %esi
41c1a5:	6a ff                	push   $0xffffffff
41c1a7:	ff 75 08             	push   0x8(%ebp)
41c1aa:	8b f9                	mov    %ecx,%edi
41c1ac:	0f 94 c0             	sete   %al
41c1af:	52                   	push   %edx
41c1b0:	57                   	push   %edi
41c1b1:	0d 00 00 40 00       	or     $0x400000,%eax
41c1b6:	50                   	push   %eax
41c1b7:	68 00 04 00 00       	push   $0x400
41c1bc:	ff 15 28 61 42 00    	call   *0x426128
41c1c2:	83 f8 ff             	cmp    $0xffffffff,%eax
41c1c5:	74 0a                	je     0x41c1d1
41c1c7:	83 3e 01             	cmpl   $0x1,(%esi)
41c1ca:	7c 05                	jl     0x41c1d1
41c1cc:	8d 04 47             	lea    (%edi,%eax,2),%eax
41c1cf:	eb 02                	jmp    0x41c1d3
41c1d1:	33 c0                	xor    %eax,%eax
41c1d3:	5f                   	pop    %edi
41c1d4:	5e                   	pop    %esi
41c1d5:	5d                   	pop    %ebp
41c1d6:	c2 0c 00             	ret    $0xc
41c1d9:	8b ff                	mov    %edi,%edi
41c1db:	55                   	push   %ebp
41c1dc:	8b ec                	mov    %esp,%ebp
41c1de:	83 ec 1c             	sub    $0x1c,%esp
41c1e1:	66 83 3d 00 5d 42 00 	cmpw   $0x0,0x425d00
41c1e8:	00
41c1e9:	53                   	push   %ebx
41c1ea:	56                   	push   %esi
41c1eb:	57                   	push   %edi