411fd4:	50                   	push   %eax
411fd5:	e8 69 dc ff ff       	call   0x40fc43
411fda:	8b 0b                	mov    (%ebx),%ecx
411fdc:	56                   	push   %esi
411fdd:	8b 09                	mov    (%ecx),%ecx
411fdf:	89 41 04             	mov    %eax,0x4(%ecx)
411fe2:	e8 5c dc ff ff       	call   0x40fc43
411fe7:	8b 0b                	mov    (%ebx),%ecx
411fe9:	83 c4 10             	add    $0x10,%esp
411fec:	8b 09                	mov    (%ecx),%ecx
411fee:	89 41 08             	mov    %eax,0x8(%ecx)
411ff1:	33 c0                	xor    %eax,%eax
411ff3:	eb 03                	jmp    0x411ff8
411ff5:	83 c8 ff             	or     $0xffffffff,%eax
411ff8:	5f                   	pop    %edi
411ff9:	5e                   	pop    %esi
411ffa:	5b                   	pop    %ebx
411ffb:	c9                   	leave
411ffc:	c3                   	ret
411ffd:	8b ff                	mov    %edi,%edi
411fff:	55                   	push   %ebp
412000:	8b ec                	mov    %esp,%ebp
412002:	83 ec 14             	sub    $0x14,%esp
412005:	53                   	push   %ebx
412006:	8b d9                	mov    %ecx,%ebx
412008:	57                   	push   %edi
412009:	89 5d ec             	mov    %ebx,-0x14(%ebp)
41200c:	8b 03                	mov    (%ebx),%eax
41200e:	8b 38                	mov    (%eax),%edi
412010:	85 ff                	test   %edi,%edi
412012:	75 08                	jne    0x41201c
412014:	83 c8 ff             	or     $0xffffffff,%eax
412017:	e9 b7 00 00 00       	jmp    0x4120d3
41201c:	8b 15 14 30 43 00    	mov    0x433014,%edx
412022:	8b ca                	mov    %edx,%ecx
412024:	56                   	push   %esi
412025:	8b 37                	mov    (%edi),%esi
412027:	83 e1 1f             	and    $0x1f,%ecx
41202a:	8b 7f 04             	mov    0x4(%edi),%edi
41202d:	33 f2                	xor    %edx,%esi
41202f:	33 fa                	xor    %edx,%edi
412031:	d3 ce                	ror    %cl,%esi
412033:	d3 cf                	ror    %cl,%edi
412035:	85 f6                	test   %esi,%esi
412037:	0f 84 93 00 00 00    	je     0x4120d0
41203d:	83 fe ff             	cmp    $0xffffffff,%esi
412040:	0f 84 8a 00 00 00    	je     0x4120d0
412046:	89 55 fc             	mov    %edx,-0x4(%ebp)
412049:	89 7d f4             	mov    %edi,-0xc(%ebp)
41204c:	89 75 f8             	mov    %esi,-0x8(%ebp)
41204f:	83 ef 04             	sub    $0x4,%edi
412052:	3b fe                	cmp    %esi,%edi
412054:	72 54                	jb     0x4120aa
412056:	8b 07                	mov    (%edi),%eax
412058:	3b 45 fc             	cmp    -0x4(%ebp),%eax
41205b:	74 f2                	je     0x41204f
41205d:	33 c2                	xor    %edx,%eax
41205f:	8b 55 fc             	mov    -0x4(%ebp),%edx
412062:	d3 c8                	ror    %cl,%eax
412064:	8b c8                	mov    %eax,%ecx
412066:	89 17                	mov    %edx,(%edi)
412068:	89 45 f0             	mov    %eax,-0x10(%ebp)
41206b:	ff 15 54 41 42 00    	call   *0x424154
412071:	ff 55 f0             	call   *-0x10(%ebp)
412074:	8b 03                	mov    (%ebx),%eax
412076:	8b 15 14 30 43 00    	mov    0x433014,%edx
41207c:	8b ca                	mov    %edx,%ecx
41207e:	83 e1 1f             	and    $0x1f,%ecx
412081:	8b 00                	mov    (%eax),%eax
412083:	8b 18                	mov    (%eax),%ebx
412085:	8b 40 04             	mov    0x4(%eax),%eax
412088:	33 da                	xor    %edx,%ebx
41208a:	d3 cb                	ror    %cl,%ebx
41208c:	33 c2                	xor    %edx,%eax
41208e:	d3 c8                	ror    %cl,%eax
412090:	3b 5d f8             	cmp    -0x8(%ebp),%ebx
412093:	89 5d f0             	mov    %ebx,-0x10(%ebp)
412096:	8b 5d ec             	mov    -0x14(%ebp),%ebx
412099:	75 05                	jne    0x4120a0
41209b:	3b 45 f4             	cmp    -0xc(%ebp),%eax
41209e:	74 af                	je     0x41204f
4120a0:	8b 75 f0             	mov    -0x10(%ebp),%esi
4120a3:	8b f8                	mov    %eax,%edi
4120a5:	89 45 f4             	mov    %eax,-0xc(%ebp)
4120a8:	eb a2                	jmp    0x41204c
4120aa:	83 fe ff             	cmp    $0xffffffff,%esi
4120ad:	74 0d                	je     0x4120bc
4120af:	56                   	push   %esi
4120b0:	e8 56 10 00 00       	call   0x41310b
4120b5:	8b 15 14 30 43 00    	mov    0x433014,%edx
4120bb:	59                   	pop    %ecx
4120bc:	8b 03                	mov    (%ebx),%eax
4120be:	8b 00                	mov    (%eax),%eax
4120c0:	89 10                	mov    %edx,(%eax)
4120c2:	8b 03                	mov    (%ebx),%eax
4120c4:	8b 00                	mov    (%eax),%eax
4120c6:	89 50 04             	mov    %edx,0x4(%eax)
4120c9:	8b 03                	mov    (%ebx),%eax
4120cb:	8b 00                	mov    (%eax),%eax
4120cd:	89 50 08             	mov    %edx,0x8(%eax)
4120d0:	33 c0                	xor    %eax,%eax
4120d2:	5e                   	pop    %esi
4120d3:	5f                   	pop    %edi
4120d4:	5b                   	pop    %ebx
4120d5:	c9                   	leave
4120d6:	c3                   	ret
4120d7:	8b ff                	mov    %edi,%edi
4120d9:	55                   	push   %ebp
4120da:	8b ec                	mov    %esp,%ebp
4120dc:	ff 75 08             	push   0x8(%ebp)
4120df:	68 c8 49 43 00       	push   $0x4349c8
4120e4:	e8 5a 00 00 00       	call   0x412143
4120e9:	59                   	pop    %ecx
4120ea:	59                   	pop    %ecx
4120eb:	5d                   	pop    %ebp
4120ec:	c3                   	ret
4120ed:	8b ff                	mov    %edi,%edi
4120ef:	55                   	push   %ebp
4120f0:	8b ec                	mov    %esp,%ebp
4120f2:	83 ec 10             	sub    $0x10,%esp
4120f5:	6a 02                	push   $0x2
4120f7:	8d 45 08             	lea    0x8(%ebp),%eax
4120fa:	89 45 f4             	mov    %eax,-0xc(%ebp)
4120fd:	8d 4d ff             	lea    -0x1(%ebp),%ecx
412100:	58                   	pop    %eax
412101:	89 45 f8             	mov    %eax,-0x8(%ebp)
412104:	89 45 f0             	mov    %eax,-0x10(%ebp)
412107:	8d 45 f8             	lea    -0x8(%ebp),%eax
41210a:	50                   	push   %eax
41210b:	8d 45 f4             	lea    -0xc(%ebp),%eax
41210e:	50                   	push   %eax
41210f:	8d 45 f0             	lea    -0x10(%ebp),%eax
412112:	50                   	push   %eax
412113:	e8 06 fd ff ff       	call   0x411e1e
412118:	c9                   	leave
412119:	c3                   	ret
41211a:	8b ff                	mov    %edi,%edi
41211c:	55                   	push   %ebp
41211d:	8b ec                	mov    %esp,%ebp
41211f:	8b 4d 08             	mov    0x8(%ebp),%ecx
412122:	85 c9                	test   %ecx,%ecx
412124:	75 05                	jne    0x41212b
412126:	83 c8 ff             	or     $0xffffffff,%eax
412129:	5d                   	pop    %ebp
41212a:	c3                   	ret
41212b:	8b 01                	mov    (%ecx),%eax
41212d:	3b 41 08             	cmp    0x8(%ecx),%eax
412130:	75 0d                	jne    0x41213f
412132:	a1 14 30 43 00       	mov    0x433014,%eax
412137:	89 01                	mov    %eax,(%ecx)
412139:	89 41 04             	mov    %eax,0x4(%ecx)
41213c:	89 41 08             	mov    %eax,0x8(%ecx)
41213f:	33 c0                	xor    %eax,%eax
412141:	5d                   	pop    %ebp
412142:	c3                   	ret
412143:	8b ff                	mov    %edi,%edi
412145:	55                   	push   %ebp
412146:	8b ec                	mov    %esp,%ebp
412148:	83 ec 14             	sub    $0x14,%esp
41214b:	8d 45 08             	lea    0x8(%ebp),%eax
41214e:	89 45 ec             	mov    %eax,-0x14(%ebp)
412151:	8d 4d ff             	lea    -0x1(%ebp),%ecx
412154:	6a 02                	push   $0x2
412156:	8d 45 0c             	lea    0xc(%ebp),%eax
412159:	89 45 f0             	mov    %eax,-0x10(%ebp)
41215c:	58                   	pop    %eax
41215d:	89 45 f8             	mov    %eax,-0x8(%ebp)
412160:	89 45 f4             	mov    %eax,-0xc(%ebp)
412163:	8d 45 f8             	lea    -0x8(%ebp),%eax
412166:	50                   	push   %eax
412167:	8d 45 ec             	lea    -0x14(%ebp),%eax
41216a:	50                   	push   %eax
41216b:	8d 45 f4             	lea    -0xc(%ebp),%eax
41216e:	50                   	push   %eax
41216f:	e8 05 fd ff ff       	call   0x411e79
412174:	c9                   	leave
412175:	c3                   	ret
412176:	c7 05 d8 4c 43 00 d0 	movl   $0x4331d0,0x434cd8
41217d:	31 43 00
412180:	b0 01                	mov    $0x1,%al
412182:	c3                   	ret
412183:	68 c8 49 43 00       	push   $0x4349c8
412188:	e8 8d ff ff ff       	call   0x41211a
41218d:	c7 04 24 d4 49 43 00 	movl   $0x4349d4,(%esp)
412194:	e8 81 ff ff ff       	call   0x41211a
412199:	59                   	pop    %ecx
41219a:	b0 01                	mov    $0x1,%al
41219c:	c3                   	ret
41219d:	e8 34 e0 ff ff       	call   0x4101d6
4121a2:	b0 01                	mov    $0x1,%al
4121a4:	c3                   	ret
4121a5:	8b ff                	mov    %edi,%edi
4121a7:	56                   	push   %esi
4121a8:	8b 35 14 30 43 00    	mov    0x433014,%esi
4121ae:	56                   	push   %esi
4121af:	e8 5a ae ff ff       	call   0x40d00e
4121b4:	56                   	push   %esi
4121b5:	e8 84 d8 ff ff       	call   0x40fa3e
4121ba:	56                   	push   %esi
4121bb:	e8 f6 69 00 00       	call   0x418bb6
4121c0:	56                   	push   %esi
4121c1:	e8 b4 da ff ff       	call   0x40fc7a
4121c6:	56                   	push   %esi
4121c7:	e8 36 e3 ff ff       	call   0x410502
4121cc:	83 c4 14             	add    $0x14,%esp
4121cf:	b0 01                	mov    $0x1,%al
4121d1:	5e                   	pop    %esi
4121d2:	c3                   	ret
4121d3:	6a 00                	push   $0x0
4121d5:	e8 53 7f ff ff       	call   0x40a12d
4121da:	59                   	pop    %ecx
4121db:	c3                   	ret
4121dc:	8b ff                	mov    %edi,%edi
4121de:	55                   	push   %ebp
4121df:	8b ec                	mov    %esp,%ebp
4121e1:	51                   	push   %ecx
4121e2:	68 c4 4d 43 00       	push   $0x434dc4
4121e7:	8d 4d ff             	lea    -0x1(%ebp),%ecx
4121ea:	e8 54 00 00 00       	call   0x412243
4121ef:	b0 01                	mov    $0x1,%al
4121f1:	c9                   	leave
4121f2:	c3                   	ret
4121f3:	8b ff                	mov    %edi,%edi
4121f5:	56                   	push   %esi
4121f6:	ff 35 d0 4c 43 00    	push   0x434cd0
4121fc:	e8 0a 0f 00 00       	call   0x41310b
412201:	ff 35 d4 4c 43 00    	push   0x434cd4
412207:	33 f6                	xor    %esi,%esi
412209:	89 35 d0 4c 43 00    	mov    %esi,0x434cd0
41220f:	e8 f7 0e 00 00       	call   0x41310b
412214:	ff 35 d8 4d 43 00    	push   0x434dd8
41221a:	89 35 d4 4c 43 00    	mov    %esi,0x434cd4
412220:	e8 e6 0e 00 00       	call   0x41310b
412225:	ff 35 dc 4d 43 00    	push   0x434ddc
41222b:	89 35 d8 4d 43 00    	mov    %esi,0x434dd8
412231:	e8 d5 0e 00 00       	call   0x41310b
412236:	83 c4 10             	add    $0x10,%esp
412239:	89 35 dc 4d 43 00    	mov    %esi,0x434ddc
41223f:	b0 01                	mov    $0x1,%al
412241:	5e                   	pop    %esi
412242:	c3                   	ret
412243:	8b ff                	mov    %edi,%edi
412245:	55                   	push   %ebp
412246:	8b ec                	mov    %esp,%ebp
412248:	56                   	push   %esi
412249:	8b 75 08             	mov    0x8(%ebp),%esi
41224c:	83 c9 ff             	or     $0xffffffff,%ecx
41224f:	8b 06                	mov    (%esi),%eax
412251:	f0 0f c1 08          	lock xadd %ecx,(%eax)
412255:	75 15                	jne    0x41226c
412257:	57                   	push   %edi
412258:	bf 40 35 43 00       	mov    $0x433540,%edi
41225d:	39 3e                	cmp    %edi,(%esi)
41225f:	74 0a                	je     0x41226b
412261:	ff 36                	push   (%esi)
412263:	e8 a3 0e 00 00       	call   0x41310b
412268:	59                   	pop    %ecx
412269:	89 3e                	mov    %edi,(%esi)
41226b:	5f                   	pop    %edi
41226c:	5e                   	pop    %esi
41226d:	5d                   	pop    %ebp
41226e:	c2 04 00             	ret    $0x4
412271:	68 e8 76 42 00       	push   $0x4276e8
412276:	68 68 76 42 00       	push   $0x427668
41227b:	e8 41 b9 00 00       	call   0x41dbc1
412280:	59                   	pop    %ecx
412281:	59                   	pop    %ecx
412282:	c3                   	ret
412283:	8b ff                	mov    %edi,%edi
412285:	55                   	push   %ebp
412286:	8b ec                	mov    %esp,%ebp
412288:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
41228c:	74 12                	je     0x4122a0
41228e:	83 3d 18 46 43 00 00 	cmpl   $0x0,0x434618
412295:	74 05                	je     0x41229c
412297:	e8 e2 b2 ff ff       	call   0x40d57e
41229c:	b0 01                	mov    $0x1,%al
41229e:	5d                   	pop    %ebp
41229f:	c3                   	ret
4122a0:	68 e8 76 42 00       	push   $0x4276e8
4122a5:	68 68 76 42 00       	push   $0x427668
4122aa:	e8 7a b9 00 00       	call   0x41dc29
4122af:	59                   	pop    %ecx
4122b0:	59                   	pop    %ecx
4122b1:	5d                   	pop    %ebp
4122b2:	c3                   	ret
4122b3:	8b ff                	mov    %edi,%edi
4122b5:	55                   	push   %ebp
4122b6:	8b ec                	mov    %esp,%ebp
4122b8:	8b 4d 10             	mov    0x10(%ebp),%ecx
4122bb:	8b 45 0c             	mov    0xc(%ebp),%eax
4122be:	81 e1 ff ff f7 ff    	and    $0xfff7ffff,%ecx
4122c4:	23 c1                	and    %ecx,%eax
4122c6:	56                   	push   %esi
4122c7:	8b 75 08             	mov    0x8(%ebp),%esi
4122ca:	a9 e0 fc f0 fc       	test   $0xfcf0fce0,%eax
4122cf:	74 24                	je     0x4122f5
4122d1:	85 f6                	test   %esi,%esi
4122d3:	74 0d                	je     0x4122e2
4122d5:	6a 00                	push   $0x0
4122d7:	6a 00                	push   $0x0
4122d9:	e8 01 bb 00 00       	call   0x41dddf
4122de:	59                   	pop    %ecx
4122df:	59                   	pop    %ecx
4122e0:	89 06                	mov    %eax,(%esi)
4122e2:	e8 14 cb ff ff       	call   0x40edfb
4122e7:	6a 16                	push   $0x16
4122e9:	5e                   	pop    %esi
4122ea:	89 30                	mov    %esi,(%eax)
4122ec:	e8 90 ad ff ff       	call   0x40d081
4122f1:	8b c6                	mov    %esi,%eax
4122f3:	eb 1a                	jmp    0x41230f
4122f5:	51                   	push   %ecx
4122f6:	ff 75 0c             	push   0xc(%ebp)
4122f9:	85 f6                	test   %esi,%esi
4122fb:	74 09                	je     0x412306
4122fd:	e8 dd ba 00 00       	call   0x41dddf
412302:	89 06                	mov    %eax,(%esi)
412304:	eb 05                	jmp    0x41230b
412306:	e8 d4 ba 00 00       	call   0x41dddf
41230b:	59                   	pop    %ecx
41230c:	59                   	pop    %ecx
41230d:	33 c0                	xor    %eax,%eax
41230f:	5e                   	pop    %esi
412310:	5d                   	pop    %ebp
412311:	c3                   	ret
412312:	6a 08                	push   $0x8
412314:	68 38 17 43 00       	push   $0x431738
412319:	e8 a2 5c ff ff       	call   0x407fc0
41231e:	e8 b0 1e 00 00       	call   0x4141d3
412323:	8b 70 0c             	mov    0xc(%eax),%esi
412326:	85 f6                	test   %esi,%esi
412328:	74 1e                	je     0x412348
41232a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41232e:	8b ce                	mov    %esi,%ecx
412330:	ff 15 54 41 42 00    	call   *0x424154
412336:	ff d6                	call   *%esi
412338:	eb 07                	jmp    0x412341
41233a:	33 c0                	xor    %eax,%eax
41233c:	40                   	inc    %eax
41233d:	c3                   	ret
41233e:	8b 65 e8             	mov    -0x18(%ebp),%esp
412341:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
412348:	e8 c1 ca ff ff       	call   0x40ee0e
41234d:	cc                   	int3
41234e:	8b ff                	mov    %edi,%edi
412350:	55                   	push   %ebp
412351:	8b ec                	mov    %esp,%ebp
412353:	8b 55 08             	mov    0x8(%ebp),%edx
412356:	56                   	push   %esi