414d20:	0f 84 32 ff ff ff    	je     0x414c58
414d26:	8d 43 ff             	lea    -0x1(%ebx),%eax
414d29:	3b f8                	cmp    %eax,%edi
414d2b:	75 15                	jne    0x414d42
414d2d:	85 f6                	test   %esi,%esi
414d2f:	74 3c                	je     0x414d6d
414d31:	83 fe ff             	cmp    $0xffffffff,%esi
414d34:	74 0c                	je     0x414d42
414d36:	bf 02 01 00 00       	mov    $0x102,%edi
414d3b:	eb 05                	jmp    0x414d42
414d3d:	bf 01 00 00 00       	mov    $0x1,%edi
414d42:	85 f6                	test   %esi,%esi
414d44:	74 27                	je     0x414d6d
414d46:	83 fe ff             	cmp    $0xffffffff,%esi
414d49:	74 22                	je     0x414d6d
414d4b:	a1 10 a1 43 00       	mov    0x43a110,%eax
414d50:	8d 95 ec fe ff ff    	lea    -0x114(%ebp),%edx
414d56:	8d 8d f0 fe ff ff    	lea    -0x110(%ebp),%ecx
414d5c:	89 b5 ec fe ff ff    	mov    %esi,-0x114(%ebp)
414d62:	89 85 f0 fe ff ff    	mov    %eax,-0x110(%ebp)
414d68:	e8 f7 68 00 00       	call   0x41b664
414d6d:	8b c7                	mov    %edi,%eax
414d6f:	5f                   	pop    %edi
414d70:	5e                   	pop    %esi
414d71:	5b                   	pop    %ebx
414d72:	8b 4d f8             	mov    -0x8(%ebp),%ecx
414d75:	33 cd                	xor    %ebp,%ecx
414d77:	e8 44 5a 00 00       	call   0x41a7c0
414d7c:	8b e5                	mov    %ebp,%esp
414d7e:	5d                   	pop    %ebp
414d7f:	c2 04 00             	ret    $0x4
414d82:	8b 4d f8             	mov    -0x8(%ebp),%ecx
414d85:	b8 57 00 00 00       	mov    $0x57,%eax
414d8a:	5f                   	pop    %edi
414d8b:	5e                   	pop    %esi
414d8c:	33 cd                	xor    %ebp,%ecx
414d8e:	5b                   	pop    %ebx
414d8f:	e8 2c 5a 00 00       	call   0x41a7c0
414d94:	8b e5                	mov    %ebp,%esp
414d96:	5d                   	pop    %ebp
414d97:	c2 04 00             	ret    $0x4
414d9a:	8b ff                	mov    %edi,%edi
414d9c:	55                   	push   %ebp
414d9d:	8b ec                	mov    %esp,%ebp
414d9f:	83 e4 f8             	and    $0xfffffff8,%esp
414da2:	83 ec 14             	sub    $0x14,%esp
414da5:	53                   	push   %ebx
414da6:	56                   	push   %esi
414da7:	8b f1                	mov    %ecx,%esi
414da9:	bb 10 27 00 00       	mov    $0x2710,%ebx
414dae:	57                   	push   %edi
414daf:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
414db3:	83 7e 48 ff          	cmpl   $0xffffffff,0x48(%esi)
414db7:	0f 85 c6 d5 00 00    	jne    0x422383
414dbd:	8b 46 28             	mov    0x28(%esi),%eax
414dc0:	33 ff                	xor    %edi,%edi
414dc2:	89 7c 24 10          	mov    %edi,0x10(%esp)
414dc6:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
414dcc:	89 44 24 18          	mov    %eax,0x18(%esp)
414dd0:	8b 46 28             	mov    0x28(%esi),%eax
414dd3:	8b 80 90 00 00 00    	mov    0x90(%eax),%eax
414dd9:	89 44 24 1c          	mov    %eax,0x1c(%esp)
414ddd:	66 39 7e 04          	cmp    %di,0x4(%esi)
414de1:	0f 85 dc 00 00 00    	jne    0x414ec3
414de7:	66 39 7e 06          	cmp    %di,0x6(%esi)
414deb:	74 6a                	je     0x414e57
414ded:	ff 76 2c             	push   0x2c(%esi)
414df0:	e8 fd 00 00 00       	call   0x414ef2
414df5:	89 44 24 14          	mov    %eax,0x14(%esp)
414df9:	8b 4e 28             	mov    0x28(%esi),%ecx
414dfc:	8b 91 80 00 00 00    	mov    0x80(%ecx),%edx
414e02:	f7 c2 00 00 00 40    	test   $0x40000000,%edx
414e08:	0f 84 8a d5 00 00    	je     0x422398
414e0e:	8b 44 24 18          	mov    0x18(%esp),%eax
414e12:	3b 44 24 1c          	cmp    0x1c(%esp),%eax
414e16:	0f 85 e3 d5 00 00    	jne    0x4223ff
414e1c:	83 e9 80             	sub    $0xffffff80,%ecx
414e1f:	ba 00 00 00 40       	mov    $0x40000000,%edx
414e24:	e8 b0 00 00 00       	call   0x414ed9
414e29:	ff 76 34             	push   0x34(%esi)
414e2c:	ff 15 b0 a2 43 00    	call   *0x43a2b0
414e32:	6a 00                	push   $0x0
414e34:	6a 01                	push   $0x1
414e36:	ff 76 3c             	push   0x3c(%esi)
414e39:	ff 15 a4 a2 43 00    	call   *0x43a2a4
414e3f:	8b f8                	mov    %eax,%edi
414e41:	85 ff                	test   %edi,%edi
414e43:	0f 84 c4 d5 00 00    	je     0x42240d
414e49:	33 c0                	xor    %eax,%eax
414e4b:	66 89 46 06          	mov    %ax,0x6(%esi)
414e4f:	85 ff                	test   %edi,%edi
414e51:	0f 84 8d d5 00 00    	je     0x4223e4
414e57:	ff 76 38             	push   0x38(%esi)
414e5a:	8b ce                	mov    %esi,%ecx
414e5c:	e8 91 00 00 00       	call   0x414ef2
414e61:	89 44 24 14          	mov    %eax,0x14(%esp)
414e65:	bf b4 05 07 80       	mov    $0x800705b4,%edi
414e6a:	8d 4e 14             	lea    0x14(%esi),%ecx
414e6d:	8b d1                	mov    %ecx,%edx
414e6f:	8b c8                	mov    %eax,%ecx
414e71:	53                   	push   %ebx
414e72:	e8 09 fd ff ff       	call   0x414b80
414e77:	8b d8                	mov    %eax,%ebx
414e79:	8b 44 24 18          	mov    0x18(%esp),%eax
414e7d:	3b 44 24 1c          	cmp    0x1c(%esp),%eax
414e81:	0f 85 a2 d5 00 00    	jne    0x422429
414e87:	8b 4e 28             	mov    0x28(%esi),%ecx
414e8a:	ba 00 00 00 40       	mov    $0x40000000,%edx
414e8f:	83 e9 80             	sub    $0xffffff80,%ecx
414e92:	e8 42 00 00 00       	call   0x414ed9
414e97:	8b 46 28             	mov    0x28(%esi),%eax
414e9a:	83 b8 80 00 00 00 00 	cmpl   $0x0,0x80(%eax)
414ea1:	7d 2f                	jge    0x414ed2
414ea3:	81 fb 02 01 00 00    	cmp    $0x102,%ebx
414ea9:	0f 84 88 d5 00 00    	je     0x422437
414eaf:	8b cb                	mov    %ebx,%ecx
414eb1:	e8 90 00 00 00       	call   0x414f46
414eb6:	8b f8                	mov    %eax,%edi
414eb8:	85 ff                	test   %edi,%edi
414eba:	78 12                	js     0x414ece
414ebc:	33 c0                	xor    %eax,%eax
414ebe:	40                   	inc    %eax
414ebf:	66 89 46 04          	mov    %ax,0x4(%esi)
414ec3:	33 c0                	xor    %eax,%eax
414ec5:	5f                   	pop    %edi
414ec6:	5e                   	pop    %esi
414ec7:	5b                   	pop    %ebx
414ec8:	8b e5                	mov    %ebp,%esp
414eca:	5d                   	pop    %ebp
414ecb:	c2 04 00             	ret    $0x4
414ece:	8b c7                	mov    %edi,%eax
414ed0:	eb f3                	jmp    0x414ec5
414ed2:	b8 b4 0d 04 80       	mov    $0x80040db4,%eax
414ed7:	eb ec                	jmp    0x414ec5
414ed9:	8b ff                	mov    %edi,%edi
414edb:	56                   	push   %esi
414edc:	f7 d2                	not    %edx
414ede:	57                   	push   %edi
414edf:	8b 39                	mov    (%ecx),%edi
414ee1:	8b f2                	mov    %edx,%esi
414ee3:	23 f7                	and    %edi,%esi
414ee5:	8b c7                	mov    %edi,%eax
414ee7:	f0 0f b1 31          	lock cmpxchg %esi,(%ecx)
414eeb:	3b f8                	cmp    %eax,%edi
414eed:	75 f0                	jne    0x414edf
414eef:	5f                   	pop    %edi
414ef0:	5e                   	pop    %esi
414ef1:	c3                   	ret
414ef2:	8b ff                	mov    %edi,%edi
414ef4:	55                   	push   %ebp
414ef5:	8b ec                	mov    %esp,%ebp
414ef7:	8b 55 08             	mov    0x8(%ebp),%edx
414efa:	33 c0                	xor    %eax,%eax
414efc:	85 d2                	test   %edx,%edx
414efe:	74 24                	je     0x414f24
414f00:	89 51 14             	mov    %edx,0x14(%ecx)
414f03:	40                   	inc    %eax
414f04:	8b 51 08             	mov    0x8(%ecx),%edx
414f07:	85 d2                	test   %edx,%edx
414f09:	74 06                	je     0x414f11
414f0b:	6a 02                	push   $0x2
414f0d:	89 51 18             	mov    %edx,0x18(%ecx)
414f10:	58                   	pop    %eax
414f11:	8b 51 0c             	mov    0xc(%ecx),%edx
414f14:	85 d2                	test   %edx,%edx
414f16:	74 05                	je     0x414f1d
414f18:	89 54 81 14          	mov    %edx,0x14(%ecx,%eax,4)
414f1c:	40                   	inc    %eax
414f1d:	8b 51 10             	mov    0x10(%ecx),%edx
414f20:	85 d2                	test   %edx,%edx
414f22:	75 04                	jne    0x414f28
414f24:	5d                   	pop    %ebp
414f25:	c2 04 00             	ret    $0x4
414f28:	89 54 81 14          	mov    %edx,0x14(%ecx,%eax,4)
414f2c:	40                   	inc    %eax
414f2d:	eb f5                	jmp    0x414f24
414f2f:	8b ff                	mov    %edi,%edi
414f31:	56                   	push   %esi
414f32:	57                   	push   %edi
414f33:	8b 39                	mov    (%ecx),%edi
414f35:	8b f7                	mov    %edi,%esi
414f37:	0b f2                	or     %edx,%esi
414f39:	8b c7                	mov    %edi,%eax
414f3b:	f0 0f b1 31          	lock cmpxchg %esi,(%ecx)
414f3f:	3b f8                	cmp    %eax,%edi
414f41:	75 f0                	jne    0x414f33
414f43:	5f                   	pop    %edi
414f44:	5e                   	pop    %esi
414f45:	c3                   	ret
414f46:	85 c9                	test   %ecx,%ecx
414f48:	0f 85 0f d5 00 00    	jne    0x42245d
414f4e:	33 c0                	xor    %eax,%eax
414f50:	c3                   	ret
414f51:	8b ff                	mov    %edi,%edi
414f53:	55                   	push   %ebp
414f54:	8b ec                	mov    %esp,%ebp
414f56:	6a ff                	push   $0xffffffff
414f58:	68 b5 e9 41 00       	push   $0x41e9b5
414f5d:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
414f63:	50                   	push   %eax
414f64:	51                   	push   %ecx
414f65:	51                   	push   %ecx
414f66:	a1 08 85 43 00       	mov    0x438508,%eax
414f6b:	33 c5                	xor    %ebp,%eax
414f6d:	50                   	push   %eax
414f6e:	8d 45 f4             	lea    -0xc(%ebp),%eax
414f71:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
414f77:	8b 01                	mov    (%ecx),%eax
414f79:	85 c0                	test   %eax,%eax
414f7b:	74 1b                	je     0x414f98
414f7d:	83 f8 ff             	cmp    $0xffffffff,%eax
414f80:	74 16                	je     0x414f98
414f82:	89 45 f0             	mov    %eax,-0x10(%ebp)
414f85:	8d 55 f0             	lea    -0x10(%ebp),%edx
414f88:	a1 10 a1 43 00       	mov    0x43a110,%eax
414f8d:	8d 4d ec             	lea    -0x14(%ebp),%ecx
414f90:	89 45 ec             	mov    %eax,-0x14(%ebp)
414f93:	e8 cc 66 00 00       	call   0x41b664
414f98:	8b 4d f4             	mov    -0xc(%ebp),%ecx
414f9b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
414fa2:	59                   	pop    %ecx
414fa3:	c9                   	leave
414fa4:	c3                   	ret
414fa5:	8b ff                	mov    %edi,%edi
414fa7:	55                   	push   %ebp
414fa8:	8b ec                	mov    %esp,%ebp
414faa:	6a ff                	push   $0xffffffff
414fac:	68 d0 e9 41 00       	push   $0x41e9d0
414fb1:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
414fb7:	50                   	push   %eax
414fb8:	56                   	push   %esi
414fb9:	57                   	push   %edi
414fba:	a1 08 85 43 00       	mov    0x438508,%eax
414fbf:	33 c5                	xor    %ebp,%eax
414fc1:	50                   	push   %eax
414fc2:	8d 45 f4             	lea    -0xc(%ebp),%eax
414fc5:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
414fcb:	8b f9                	mov    %ecx,%edi
414fcd:	8b 47 10             	mov    0x10(%edi),%eax
414fd0:	85 c0                	test   %eax,%eax
414fd2:	74 04                	je     0x414fd8
414fd4:	83 60 10 00          	andl   $0x0,0x10(%eax)
414fd8:	8b 17                	mov    (%edi),%edx
414fda:	85 d2                	test   %edx,%edx
414fdc:	74 0e                	je     0x414fec
414fde:	ff 77 08             	push   0x8(%edi)
414fe1:	8b 4f 0c             	mov    0xc(%edi),%ecx
414fe4:	ff 77 04             	push   0x4(%edi)
414fe7:	e8 e2 00 00 00       	call   0x4150ce
414fec:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
414ff0:	8b 4f 08             	mov    0x8(%edi),%ecx
414ff3:	85 c9                	test   %ecx,%ecx
414ff5:	75 4a                	jne    0x415041
414ff7:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
414ffe:	8b 4f 04             	mov    0x4(%edi),%ecx
415001:	85 c9                	test   %ecx,%ecx
415003:	74 10                	je     0x415015
415005:	8b 01                	mov    (%ecx),%eax
415007:	51                   	push   %ecx
415008:	8b 70 08             	mov    0x8(%eax),%esi
41500b:	8b ce                	mov    %esi,%ecx
41500d:	ff 15 20 a5 43 00    	call   *0x43a520
415013:	ff d6                	call   *%esi
415015:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
41501c:	8b 0f                	mov    (%edi),%ecx
41501e:	85 c9                	test   %ecx,%ecx
415020:	74 10                	je     0x415032
415022:	8b 01                	mov    (%ecx),%eax
415024:	51                   	push   %ecx
415025:	8b 70 08             	mov    0x8(%eax),%esi
415028:	8b ce                	mov    %esi,%ecx
41502a:	ff 15 20 a5 43 00    	call   *0x43a520
415030:	ff d6                	call   *%esi
415032:	8b 4d f4             	mov    -0xc(%ebp),%ecx
415035:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41503c:	59                   	pop    %ecx
41503d:	5f                   	pop    %edi
41503e:	5e                   	pop    %esi
41503f:	c9                   	leave
415040:	c3                   	ret
415041:	8b 01                	mov    (%ecx),%eax
415043:	51                   	push   %ecx
415044:	8b 70 08             	mov    0x8(%eax),%esi
415047:	8b ce                	mov    %esi,%ecx
415049:	ff 15 20 a5 43 00    	call   *0x43a520
41504f:	ff d6                	call   *%esi
415051:	eb a4                	jmp    0x414ff7
415053:	8b ff                	mov    %edi,%edi
415055:	55                   	push   %ebp
415056:	8b ec                	mov    %esp,%ebp
415058:	6a ff                	push   $0xffffffff
41505a:	68 b5 e9 41 00       	push   $0x41e9b5
41505f:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
415065:	50                   	push   %eax
415066:	51                   	push   %ecx
415067:	51                   	push   %ecx
415068:	a1 08 85 43 00       	mov    0x438508,%eax
41506d:	33 c5                	xor    %ebp,%eax
41506f:	50                   	push   %eax
415070:	8d 45 f4             	lea    -0xc(%ebp),%eax
415073:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
415079:	8b 01                	mov    (%ecx),%eax
41507b:	83 f8 ff             	cmp    $0xffffffff,%eax
41507e:	74 1a                	je     0x41509a
415080:	85 c0                	test   %eax,%eax
415082:	74 16                	je     0x41509a
415084:	89 45 f0             	mov    %eax,-0x10(%ebp)
415087:	8d 55 f0             	lea    -0x10(%ebp),%edx
41508a:	a1 10 a1 43 00       	mov    0x43a110,%eax
41508f:	8d 4d ec             	lea    -0x14(%ebp),%ecx
415092:	89 45 ec             	mov    %eax,-0x14(%ebp)
415095:	e8 ca 65 00 00       	call   0x41b664
41509a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41509d:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4150a4:	59                   	pop    %ecx
4150a5:	c9                   	leave
4150a6:	c3                   	ret
4150a7:	83 09 ff             	orl    $0xffffffff,(%ecx)
4150aa:	8b c1                	mov    %ecx,%eax
4150ac:	c3                   	ret
4150ad:	8b ff                	mov    %edi,%edi
4150af:	55                   	push   %ebp
4150b0:	8b ec                	mov    %esp,%ebp
4150b2:	33 c0                	xor    %eax,%eax
4150b4:	89 01                	mov    %eax,(%ecx)
4150b6:	89 41 04             	mov    %eax,0x4(%ecx)
4150b9:	89 41 08             	mov    %eax,0x8(%ecx)
4150bc:	8b 45 08             	mov    0x8(%ebp),%eax
4150bf:	89 41 0c             	mov    %eax,0xc(%ecx)
4150c2:	8b 45 0c             	mov    0xc(%ebp),%eax
4150c5:	89 41 10             	mov    %eax,0x10(%ecx)
4150c8:	8b c1                	mov    %ecx,%eax
4150ca:	5d                   	pop    %ebp
4150cb:	c2 08 00             	ret    $0x8
4150ce:	8b ff                	mov    %edi,%edi
4150d0:	55                   	push   %ebp
4150d1:	8b ec                	mov    %esp,%ebp
4150d3:	56                   	push   %esi
4150d4:	85 c9                	test   %ecx,%ecx
4150d6:	74 2c                	je     0x415104
4150d8:	85 d2                	test   %edx,%edx
4150da:	74 28                	je     0x415104
4150dc:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4150df:	52                   	push   %edx
4150e0:	85 c9                	test   %ecx,%ecx
4150e2:	75 18                	jne    0x4150fc
4150e4:	8b 45 08             	mov    0x8(%ebp),%eax
4150e7:	50                   	push   %eax
4150e8:	8b 08                	mov    (%eax),%ecx
4150ea:	8b 71 14             	mov    0x14(%ecx),%esi