412f50:	75 39                	jne    0x412f8b
412f52:	8b 45 14             	mov    0x14(%ebp),%eax
412f55:	ff 05 1c 46 43 00    	incl   0x43461c
412f5b:	83 c0 0c             	add    $0xc,%eax
412f5e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
412f61:	f0 09 08             	lock or %ecx,(%eax)
412f64:	8b 45 14             	mov    0x14(%ebp),%eax
412f67:	33 c9                	xor    %ecx,%ecx
412f69:	89 48 08             	mov    %ecx,0x8(%eax)
412f6c:	8b 45 14             	mov    0x14(%ebp),%eax
412f6f:	89 48 1c             	mov    %ecx,0x1c(%eax)
412f72:	8b 45 14             	mov    0x14(%ebp),%eax
412f75:	89 48 04             	mov    %ecx,0x4(%eax)
412f78:	8b 45 14             	mov    0x14(%ebp),%eax
412f7b:	89 08                	mov    %ecx,(%eax)
412f7d:	8b 4d 14             	mov    0x14(%ebp),%ecx
412f80:	8b 45 fc             	mov    -0x4(%ebp),%eax
412f83:	89 41 10             	mov    %eax,0x10(%ecx)
412f86:	8b 45 14             	mov    0x14(%ebp),%eax
412f89:	c9                   	leave
412f8a:	c3                   	ret
412f8b:	33 c0                	xor    %eax,%eax
412f8d:	c9                   	leave
412f8e:	c3                   	ret
412f8f:	8b ff                	mov    %edi,%edi
412f91:	55                   	push   %ebp
412f92:	8b ec                	mov    %esp,%ebp
412f94:	8b 4d 08             	mov    0x8(%ebp),%ecx
412f97:	8b 01                	mov    (%ecx),%eax
412f99:	a8 40                	test   $0x40,%al
412f9b:	74 04                	je     0x412fa1
412f9d:	32 c0                	xor    %al,%al
412f9f:	5d                   	pop    %ebp
412fa0:	c3                   	ret
412fa1:	83 c8 40             	or     $0x40,%eax
412fa4:	89 01                	mov    %eax,(%ecx)
412fa6:	b0 01                	mov    $0x1,%al
412fa8:	5d                   	pop    %ebp
412fa9:	c3                   	ret
412faa:	8b ff                	mov    %edi,%edi
412fac:	55                   	push   %ebp
412fad:	8b ec                	mov    %esp,%ebp
412faf:	8b 4d 08             	mov    0x8(%ebp),%ecx
412fb2:	ba 00 10 00 00       	mov    $0x1000,%edx
412fb7:	8b 01                	mov    (%ecx),%eax
412fb9:	85 c2                	test   %eax,%edx
412fbb:	74 04                	je     0x412fc1
412fbd:	32 c0                	xor    %al,%al
412fbf:	5d                   	pop    %ebp
412fc0:	c3                   	ret
412fc1:	0b c2                	or     %edx,%eax
412fc3:	89 01                	mov    %eax,(%ecx)
412fc5:	b0 01                	mov    $0x1,%al
412fc7:	5d                   	pop    %ebp
412fc8:	c3                   	ret
412fc9:	8b ff                	mov    %edi,%edi
412fcb:	55                   	push   %ebp
412fcc:	8b ec                	mov    %esp,%ebp
412fce:	8b 4d 08             	mov    0x8(%ebp),%ecx
412fd1:	8b 01                	mov    (%ecx),%eax
412fd3:	a9 00 c0 00 00       	test   $0xc000,%eax
412fd8:	74 04                	je     0x412fde
412fda:	32 c0                	xor    %al,%al
412fdc:	5d                   	pop    %ebp
412fdd:	c3                   	ret
412fde:	0d 00 80 00 00       	or     $0x8000,%eax
412fe3:	89 01                	mov    %eax,(%ecx)
412fe5:	b0 01                	mov    $0x1,%al
412fe7:	5d                   	pop    %ebp
412fe8:	c3                   	ret
412fe9:	8b ff                	mov    %edi,%edi
412feb:	55                   	push   %ebp
412fec:	8b ec                	mov    %esp,%ebp
412fee:	8b 45 0c             	mov    0xc(%ebp),%eax
412ff1:	80 38 00             	cmpb   $0x0,(%eax)
412ff4:	74 04                	je     0x412ffa
412ff6:	32 c0                	xor    %al,%al
412ff8:	5d                   	pop    %ebp
412ff9:	c3                   	ret
412ffa:	8b 4d 08             	mov    0x8(%ebp),%ecx
412ffd:	c6 00 01             	movb   $0x1,(%eax)
413000:	b0 01                	mov    $0x1,%al
413002:	81 49 04 00 08 00 00 	orl    $0x800,0x4(%ecx)
413009:	5d                   	pop    %ebp
41300a:	c3                   	ret
41300b:	8b ff                	mov    %edi,%edi
41300d:	55                   	push   %ebp
41300e:	8b ec                	mov    %esp,%ebp
413010:	8b 45 0c             	mov    0xc(%ebp),%eax
413013:	80 38 00             	cmpb   $0x0,(%eax)
413016:	74 04                	je     0x41301c
413018:	32 c0                	xor    %al,%al
41301a:	5d                   	pop    %ebp
41301b:	c3                   	ret
41301c:	8b 4d 08             	mov    0x8(%ebp),%ecx
41301f:	c6 00 01             	movb   $0x1,(%eax)
413022:	b0 01                	mov    $0x1,%al
413024:	81 61 04 ff f7 ff ff 	andl   $0xfffff7ff,0x4(%ecx)
41302b:	5d                   	pop    %ebp
41302c:	c3                   	ret
41302d:	8b ff                	mov    %edi,%edi
41302f:	55                   	push   %ebp
413030:	8b ec                	mov    %esp,%ebp
413032:	8b 45 0c             	mov    0xc(%ebp),%eax
413035:	80 38 00             	cmpb   $0x0,(%eax)
413038:	75 25                	jne    0x41305f
41303a:	8b 55 08             	mov    0x8(%ebp),%edx
41303d:	c6 00 01             	movb   $0x1,(%eax)
413040:	8b 0a                	mov    (%edx),%ecx
413042:	f6 c1 02             	test   $0x2,%cl
413045:	75 18                	jne    0x41305f
413047:	83 e1 fe             	and    $0xfffffffe,%ecx
41304a:	b0 01                	mov    $0x1,%al
41304c:	83 c9 02             	or     $0x2,%ecx
41304f:	89 0a                	mov    %ecx,(%edx)
413051:	8b 4a 04             	mov    0x4(%edx),%ecx
413054:	83 e1 fc             	and    $0xfffffffc,%ecx
413057:	83 c9 04             	or     $0x4,%ecx
41305a:	89 4a 04             	mov    %ecx,0x4(%edx)
41305d:	5d                   	pop    %ebp
41305e:	c3                   	ret
41305f:	32 c0                	xor    %al,%al
413061:	5d                   	pop    %ebp
413062:	c3                   	ret
413063:	8b ff                	mov    %edi,%edi
413065:	55                   	push   %ebp
413066:	8b ec                	mov    %esp,%ebp
413068:	8b 4d 08             	mov    0x8(%ebp),%ecx
41306b:	8b 01                	mov    (%ecx),%eax
41306d:	a9 00 c0 00 00       	test   $0xc000,%eax
413072:	74 04                	je     0x413078
413074:	32 c0                	xor    %al,%al
413076:	5d                   	pop    %ebp
413077:	c3                   	ret
413078:	0d 00 40 00 00       	or     $0x4000,%eax
41307d:	89 01                	mov    %eax,(%ecx)
41307f:	b0 01                	mov    $0x1,%al
413081:	5d                   	pop    %ebp
413082:	c3                   	ret
413083:	8b ff                	mov    %edi,%edi
413085:	55                   	push   %ebp
413086:	8b ec                	mov    %esp,%ebp
413088:	8b 4d 08             	mov    0x8(%ebp),%ecx
41308b:	8b 01                	mov    (%ecx),%eax
41308d:	a9 00 02 00 00       	test   $0x200,%eax
413092:	75 04                	jne    0x413098
413094:	32 c0                	xor    %al,%al
413096:	5d                   	pop    %ebp
413097:	c3                   	ret
413098:	0d 00 04 00 00       	or     $0x400,%eax
41309d:	89 01                	mov    %eax,(%ecx)
41309f:	b0 01                	mov    $0x1,%al
4130a1:	5d                   	pop    %ebp
4130a2:	c3                   	ret
4130a3:	8b ff                	mov    %edi,%edi
4130a5:	55                   	push   %ebp
4130a6:	8b ec                	mov    %esp,%ebp
4130a8:	5d                   	pop    %ebp
4130a9:	e9 5e fe ff ff       	jmp    0x412f0c
4130ae:	8b ff                	mov    %edi,%edi
4130b0:	55                   	push   %ebp
4130b1:	8b ec                	mov    %esp,%ebp
4130b3:	56                   	push   %esi
4130b4:	8b 75 08             	mov    0x8(%ebp),%esi
4130b7:	85 f6                	test   %esi,%esi
4130b9:	74 0c                	je     0x4130c7
4130bb:	6a e0                	push   $0xffffffe0
4130bd:	33 d2                	xor    %edx,%edx
4130bf:	58                   	pop    %eax
4130c0:	f7 f6                	div    %esi
4130c2:	3b 45 0c             	cmp    0xc(%ebp),%eax
4130c5:	72 34                	jb     0x4130fb
4130c7:	0f af 75 0c          	imul   0xc(%ebp),%esi
4130cb:	85 f6                	test   %esi,%esi
4130cd:	75 17                	jne    0x4130e6
4130cf:	46                   	inc    %esi
4130d0:	eb 14                	jmp    0x4130e6
4130d2:	e8 0b ed ff ff       	call   0x411de2
4130d7:	85 c0                	test   %eax,%eax
4130d9:	74 20                	je     0x4130fb
4130db:	56                   	push   %esi
4130dc:	e8 6c c9 ff ff       	call   0x40fa4d
4130e1:	59                   	pop    %ecx
4130e2:	85 c0                	test   %eax,%eax
4130e4:	74 15                	je     0x4130fb
4130e6:	56                   	push   %esi
4130e7:	6a 08                	push   $0x8
4130e9:	ff 35 ec 4d 43 00    	push   0x434dec
4130ef:	ff 15 d0 40 42 00    	call   *0x4240d0
4130f5:	85 c0                	test   %eax,%eax
4130f7:	74 d9                	je     0x4130d2
4130f9:	eb 0d                	jmp    0x413108
4130fb:	e8 fb bc ff ff       	call   0x40edfb
413100:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
413106:	33 c0                	xor    %eax,%eax
413108:	5e                   	pop    %esi
413109:	5d                   	pop    %ebp
41310a:	c3                   	ret
41310b:	8b ff                	mov    %edi,%edi
41310d:	55                   	push   %ebp
41310e:	8b ec                	mov    %esp,%ebp
413110:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
413114:	74 2d                	je     0x413143
413116:	ff 75 08             	push   0x8(%ebp)
413119:	6a 00                	push   $0x0
41311b:	ff 35 ec 4d 43 00    	push   0x434dec
413121:	ff 15 d4 40 42 00    	call   *0x4240d4
413127:	85 c0                	test   %eax,%eax
413129:	75 18                	jne    0x413143
41312b:	56                   	push   %esi
41312c:	e8 ca bc ff ff       	call   0x40edfb
413131:	8b f0                	mov    %eax,%esi
413133:	ff 15 98 40 42 00    	call   *0x424098
413139:	50                   	push   %eax
41313a:	e8 43 bc ff ff       	call   0x40ed82
41313f:	59                   	pop    %ecx
413140:	89 06                	mov    %eax,(%esi)
413142:	5e                   	pop    %esi
413143:	5d                   	pop    %ebp
413144:	c3                   	ret
413145:	8b ff                	mov    %edi,%edi
413147:	55                   	push   %ebp
413148:	8b ec                	mov    %esp,%ebp
41314a:	33 c9                	xor    %ecx,%ecx
41314c:	5d                   	pop    %ebp
41314d:	e9 7c 00 00 00       	jmp    0x4131ce
413152:	6a 0c                	push   $0xc
413154:	68 58 17 43 00       	push   $0x431758
413159:	e8 62 4e ff ff       	call   0x407fc0
41315e:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
413162:	8b 45 08             	mov    0x8(%ebp),%eax
413165:	ff 30                	push   (%eax)
413167:	e8 b7 9f ff ff       	call   0x40d123
41316c:	59                   	pop    %ecx
41316d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
413171:	8b 45 0c             	mov    0xc(%ebp),%eax
413174:	8b 00                	mov    (%eax),%eax
413176:	ff 30                	push   (%eax)
413178:	e8 c6 ca ff ff       	call   0x40fc43
41317d:	59                   	pop    %ecx
41317e:	a3 b8 4a 43 00       	mov    %eax,0x434ab8
413183:	6a 01                	push   $0x1
413185:	68 45 31 41 00       	push   $0x413145
41318a:	ff 15 e8 40 42 00    	call   *0x4240e8
413190:	8b f0                	mov    %eax,%esi
413192:	a1 14 30 43 00       	mov    0x433014,%eax
413197:	a3 b8 4a 43 00       	mov    %eax,0x434ab8
41319c:	89 75 e4             	mov    %esi,-0x1c(%ebp)
41319f:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4131a6:	e8 17 00 00 00       	call   0x4131c2
4131ab:	8b c6                	mov    %esi,%eax
4131ad:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4131b0:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4131b7:	59                   	pop    %ecx
4131b8:	5f                   	pop    %edi
4131b9:	5e                   	pop    %esi
4131ba:	5b                   	pop    %ebx
4131bb:	c9                   	leave
4131bc:	c2 0c 00             	ret    $0xc
4131bf:	8b 75 e4             	mov    -0x1c(%ebp),%esi
4131c2:	8b 4d 10             	mov    0x10(%ebp),%ecx
4131c5:	ff 31                	push   (%ecx)
4131c7:	e8 9f 9f ff ff       	call   0x40d16b
4131cc:	59                   	pop    %ecx
4131cd:	c3                   	ret
4131ce:	8b ff                	mov    %edi,%edi
4131d0:	55                   	push   %ebp
4131d1:	8b ec                	mov    %esp,%ebp
4131d3:	56                   	push   %esi
4131d4:	8b 35 14 30 43 00    	mov    0x433014,%esi
4131da:	8b ce                	mov    %esi,%ecx
4131dc:	33 35 b8 4a 43 00    	xor    0x434ab8,%esi
4131e2:	83 e1 1f             	and    $0x1f,%ecx
4131e5:	6a 00                	push   $0x0
4131e7:	6a 00                	push   $0x0
4131e9:	ff 75 08             	push   0x8(%ebp)
4131ec:	d3 ce                	ror    %cl,%esi
4131ee:	8b ce                	mov    %esi,%ecx
4131f0:	ff 15 54 41 42 00    	call   *0x424154
4131f6:	ff d6                	call   *%esi
4131f8:	5e                   	pop    %esi
4131f9:	5d                   	pop    %ebp
4131fa:	c2 04 00             	ret    $0x4
4131fd:	68 84 7b 42 00       	push   $0x427b84
413202:	68 80 7b 42 00       	push   $0x427b80
413207:	68 84 7b 42 00       	push   $0x427b84
41320c:	6a 00                	push   $0x0
41320e:	e8 cf 01 00 00       	call   0x4133e2
413213:	83 c4 10             	add    $0x10,%esp
413216:	c3                   	ret
413217:	68 9c 7b 42 00       	push   $0x427b9c
41321c:	68 94 7b 42 00       	push   $0x427b94
413221:	68 9c 7b 42 00       	push   $0x427b9c
413226:	6a 01                	push   $0x1
413228:	e8 b5 01 00 00       	call   0x4133e2
41322d:	83 c4 10             	add    $0x10,%esp
413230:	c3                   	ret
413231:	68 b4 7b 42 00       	push   $0x427bb4
413236:	68 ac 7b 42 00       	push   $0x427bac
41323b:	68 b4 7b 42 00       	push   $0x427bb4
413240:	6a 02                	push   $0x2
413242:	e8 9b 01 00 00       	call   0x4133e2
413247:	83 c4 10             	add    $0x10,%esp
41324a:	c3                   	ret
41324b:	68 f0 7b 42 00       	push   $0x427bf0
413250:	68 e8 7b 42 00       	push   $0x427be8
413255:	68 f0 7b 42 00       	push   $0x427bf0
41325a:	6a 08                	push   $0x8
41325c:	e8 81 01 00 00       	call   0x4133e2
413261:	83 c4 10             	add    $0x10,%esp
413264:	c3                   	ret
413265:	68 08 7c 42 00       	push   $0x427c08
41326a:	68 00 7c 42 00       	push   $0x427c00
41326f:	68 08 7c 42 00       	push   $0x427c08
413274:	6a 0b                	push   $0xb
413276:	e8 67 01 00 00       	call   0x4133e2
41327b:	83 c4 10             	add    $0x10,%esp
41327e:	c3                   	ret
41327f:	68 20 7c 42 00       	push   $0x427c20
413284:	68 18 7c 42 00       	push   $0x427c18
413289:	68 20 7c 42 00       	push   $0x427c20
41328e:	6a 0e                	push   $0xe
413290:	e8 4d 01 00 00       	call   0x4133e2
413295:	83 c4 10             	add    $0x10,%esp
413298:	c3                   	ret
413299:	68 38 7c 42 00       	push   $0x427c38
41329e:	68 30 7c 42 00       	push   $0x427c30
4132a3:	68 38 7c 42 00       	push   $0x427c38
4132a8:	6a 0f                	push   $0xf
4132aa:	e8 33 01 00 00       	call   0x4133e2
4132af:	83 c4 10             	add    $0x10,%esp
4132b2:	c3                   	ret
4132b3:	68 64 7c 42 00       	push   $0x427c64
4132b8:	68 5c 7c 42 00       	push   $0x427c5c
4132bd:	68 64 7c 42 00       	push   $0x427c64
4132c2:	6a 13                	push   $0x13
4132c4:	e8 19 01 00 00       	call   0x4133e2
4132c9:	83 c4 10             	add    $0x10,%esp
4132cc:	c3                   	ret
4132cd:	68 98 7c 42 00       	push   $0x427c98
4132d2:	68 90 7c 42 00       	push   $0x427c90
4132d7:	68 98 7c 42 00       	push   $0x427c98
4132dc:	6a 15                	push   $0x15
4132de:	e8 ff 00 00 00       	call   0x4133e2
4132e3:	83 c4 10             	add    $0x10,%esp
4132e6:	c3                   	ret
4132e7:	68 80 7c 42 00       	push   $0x427c80
4132ec:	68 78 7c 42 00       	push   $0x427c78
4132f1:	68 80 7c 42 00       	push   $0x427c80
4132f6:	6a 14                	push   $0x14