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
41c081:	c1 e9 07             	shr    $0x7,%ecx
41c084:	23 ca                	and    %edx,%ecx
41c086:	89 43 14             	mov    %eax,0x14(%ebx)
41c089:	89 4b 10             	mov    %ecx,0x10(%ebx)
41c08c:	eb 16                	jmp    0x41c0a4
41c08e:	81 fe 17 01 00 00    	cmp    $0x117,%esi
41c094:	75 0c                	jne    0x41c0a2
41c096:	8b 45 f4             	mov    -0xc(%ebp),%eax
41c099:	c1 e8 07             	shr    $0x7,%eax
41c09c:	83 e0 01             	and    $0x1,%eax
41c09f:	89 43 10             	mov    %eax,0x10(%ebx)
41c0a2:	33 d2                	xor    %edx,%edx
41c0a4:	8b 45 ec             	mov    -0x14(%ebp),%eax
41c0a7:	85 c0                	test   %eax,%eax
41c0a9:	74 0d                	je     0x41c0b8
41c0ab:	33 c9                	xor    %ecx,%ecx
41c0ad:	81 fe 22 00 00 80    	cmp    $0x80000022,%esi
41c0b3:	0f 95 c1             	setne  %cl
41c0b6:	89 08                	mov    %ecx,(%eax)
41c0b8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41c0bb:	8b c2                	mov    %edx,%eax
41c0bd:	5f                   	pop    %edi
41c0be:	5e                   	pop    %esi
41c0bf:	33 cd                	xor    %ebp,%ecx
41c0c1:	5b                   	pop    %ebx
41c0c2:	e8 f9 e6 ff ff       	call   0x41a7c0
41c0c7:	c9                   	leave
41c0c8:	c2 08 00             	ret    $0x8
41c0cb:	8b ff                	mov    %edi,%edi
41c0cd:	55                   	push   %ebp
41c0ce:	8b ec                	mov    %esp,%ebp
41c0d0:	51                   	push   %ecx
41c0d1:	51                   	push   %ecx
41c0d2:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41c0d6:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41c0da:	89 4d f8             	mov    %ecx,-0x8(%ebp)
41c0dd:	66 89 55 fc          	mov    %dx,-0x4(%ebp)
41c0e1:	74 05                	je     0x41c0e8
41c0e3:	66 83 4d fe 01       	orw    $0x1,-0x2(%ebp)
41c0e8:	8d 4d f8             	lea    -0x8(%ebp),%ecx
41c0eb:	e8 a5 06 00 00       	call   0x41c795
41c0f0:	c9                   	leave
41c0f1:	c2 04 00             	ret    $0x4
41c0f4:	8b ff                	mov    %edi,%edi
41c0f6:	55                   	push   %ebp
41c0f7:	8b ec                	mov    %esp,%ebp
41c0f9:	81 ec 10 01 00 00    	sub    $0x110,%esp
41c0ff:	a1 08 85 43 00       	mov    0x438508,%eax
41c104:	33 c5                	xor    %ebp,%eax
41c106:	89 45 f8             	mov    %eax,-0x8(%ebp)
41c109:	53                   	push   %ebx
41c10a:	56                   	push   %esi
41c10b:	57                   	push   %edi
41c10c:	8b 7d 10             	mov    0x10(%ebp),%edi
41c10f:	8d 85 2c ff ff ff    	lea    -0xd4(%ebp),%eax
41c115:	51                   	push   %ecx
41c116:	50                   	push   %eax
41c117:	89 95 28 ff ff ff    	mov    %edx,-0xd8(%ebp)
41c11d:	33 f6                	xor    %esi,%esi
41c11f:	51                   	push   %ecx
41c120:	8b d1                	mov    %ecx,%edx
41c122:	8b de                	mov    %esi,%ebx
41c124:	8d 8d f4 fe ff ff    	lea    -0x10c(%ebp),%ecx
41c12a:	e8 0e 0a 00 00       	call   0x41cb3d
41c12f:	85 c0                	test   %eax,%eax
41c131:	75 59                	jne    0x41c18c
41c133:	ff 75 0c             	push   0xc(%ebp)
41c136:	8b 95 28 ff ff ff    	mov    -0xd8(%ebp),%edx
41c13c:	8d 8d f4 fe ff ff    	lea    -0x10c(%ebp),%ecx
41c142:	ff 75 08             	push   0x8(%ebp)
41c145:	e8 7c 0c 00 00       	call   0x41cdc6
41c14a:	8b d8                	mov    %eax,%ebx
41c14c:	85 ff                	test   %edi,%edi
41c14e:	74 31                	je     0x41c181
41c150:	8d 85 28 ff ff ff    	lea    -0xd8(%ebp),%eax
41c156:	89 b5 28 ff ff ff    	mov    %esi,-0xd8(%ebp)
41c15c:	50                   	push   %eax
41c15d:	8d 8d f4 fe ff ff    	lea    -0x10c(%ebp),%ecx
41c163:	e8 cf 07 00 00       	call   0x41c937
41c168:	39 b5 28 ff ff ff    	cmp    %esi,-0xd8(%ebp)
41c16e:	75 0c                	jne    0x41c17c
41c170:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
41c176:	66 39 70 06          	cmp    %si,0x6(%eax)
41c17a:	76 03                	jbe    0x41c17f
41c17c:	33 f6                	xor    %esi,%esi
41c17e:	46                   	inc    %esi
41c17f:	09 37                	or     %esi,(%edi)
41c181:	8d 8d f4 fe ff ff    	lea    -0x10c(%ebp),%ecx
41c187:	e8 8a 09 00 00       	call   0x41cb16
41c18c:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41c18f:	8b c3                	mov    %ebx,%eax
41c191:	5f                   	pop    %edi
41c192:	5e                   	pop    %esi
41c193:	33 cd                	xor    %ebp,%ecx
41c195:	5b                   	pop    %ebx
41c196:	e8 25 e6 ff ff       	call   0x41a7c0
41c19b:	c9                   	leave
41c19c:	c2 0c 00             	ret    $0xc
41c19f:	8b ff                	mov    %edi,%edi
41c1a1:	55                   	push   %ebp
41c1a2:	8b ec                	mov    %esp,%ebp
41c1a4:	83 e4 f8             	and    $0xfffffff8,%esp
41c1a7:	81 ec 04 01 00 00    	sub    $0x104,%esp
41c1ad:	a1 08 85 43 00       	mov    0x438508,%eax
41c1b2:	33 c4                	xor    %esp,%eax
41c1b4:	89 84 24 00 01 00 00 	mov    %eax,0x100(%esp)
41c1bb:	53                   	push   %ebx
41c1bc:	56                   	push   %esi
41c1bd:	57                   	push   %edi
41c1be:	51                   	push   %ecx
41c1bf:	8d 44 24 44          	lea    0x44(%esp),%eax
41c1c3:	8b fa                	mov    %edx,%edi
41c1c5:	50                   	push   %eax
41c1c6:	8b d9                	mov    %ecx,%ebx
41c1c8:	33 d2                	xor    %edx,%edx
41c1ca:	51                   	push   %ecx
41c1cb:	8d 4c 24 18          	lea    0x18(%esp),%ecx
41c1cf:	e8 69 09 00 00       	call   0x41cb3d
41c1d4:	8b f0                	mov    %eax,%esi
41c1d6:	85 f6                	test   %esi,%esi
41c1d8:	75 1a                	jne    0x41c1f4
41c1da:	ff 75 08             	push   0x8(%ebp)
41c1dd:	8b d3                	mov    %ebx,%edx
41c1df:	8d 4c 24 10          	lea    0x10(%esp),%ecx
41c1e3:	57                   	push   %edi
41c1e4:	e8 ac 07 00 00       	call   0x41c995
41c1e9:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
41c1ed:	8b f0                	mov    %eax,%esi
41c1ef:	e8 22 09 00 00       	call   0x41cb16
41c1f4:	8b 8c 24 0c 01 00 00 	mov    0x10c(%esp),%ecx
41c1fb:	8b c6                	mov    %esi,%eax
41c1fd:	5f                   	pop    %edi
41c1fe:	5e                   	pop    %esi
41c1ff:	5b                   	pop    %ebx
41c200:	33 cc                	xor    %esp,%ecx
41c202:	e8 b9 e5 ff ff       	call   0x41a7c0
41c207:	8b e5                	mov    %ebp,%esp
41c209:	5d                   	pop    %ebp
41c20a:	c2 04 00             	ret    $0x4
41c20d:	8b ff                	mov    %edi,%edi
41c20f:	55                   	push   %ebp
41c210:	8b ec                	mov    %esp,%ebp
41c212:	56                   	push   %esi
41c213:	8b 75 08             	mov    0x8(%ebp),%esi
41c216:	57                   	push   %edi
41c217:	8b 3a                	mov    (%edx),%edi
41c219:	8b c7                	mov    %edi,%eax
41c21b:	f0 0f b1 31          	lock cmpxchg %esi,(%ecx)
41c21f:	3b c7                	cmp    %edi,%eax
41c221:	5f                   	pop    %edi
41c222:	5e                   	pop    %esi
41c223:	75 05                	jne    0x41c22a
41c225:	33 c0                	xor    %eax,%eax
41c227:	40                   	inc    %eax
41c228:	eb 04                	jmp    0x41c22e
41c22a:	89 02                	mov    %eax,(%edx)
41c22c:	33 c0                	xor    %eax,%eax
41c22e:	5d                   	pop    %ebp
41c22f:	c2 04 00             	ret    $0x4
41c232:	8b ff                	mov    %edi,%edi
41c234:	55                   	push   %ebp
41c235:	8b ec                	mov    %esp,%ebp
41c237:	51                   	push   %ecx
41c238:	51                   	push   %ecx
41c239:	53                   	push   %ebx
41c23a:	56                   	push   %esi
41c23b:	8b 75 0c             	mov    0xc(%ebp),%esi
41c23e:	8b c1                	mov    %ecx,%eax
41c240:	57                   	push   %edi
41c241:	8b fa                	mov    %edx,%edi
41c243:	89 45 f8             	mov    %eax,-0x8(%ebp)
41c246:	33 db                	xor    %ebx,%ebx
41c248:	83 ff 05             	cmp    $0x5,%edi
41c24b:	8b 00                	mov    (%eax),%eax
41c24d:	89 45 fc             	mov    %eax,-0x4(%ebp)