40304a:	5f                   	pop    %edi
40304b:	5e                   	pop    %esi
40304c:	c9                   	leave
40304d:	c3                   	ret
40304e:	55                   	push   %ebp
40304f:	8b ec                	mov    %esp,%ebp
403051:	56                   	push   %esi
403052:	57                   	push   %edi
403053:	8b 7d 08             	mov    0x8(%ebp),%edi
403056:	83 27 00             	andl   $0x0,(%edi)
403059:	83 67 04 00          	andl   $0x0,0x4(%edi)
40305d:	8b 31                	mov    (%ecx),%esi
40305f:	e8 4d 01 00 00       	call   0x4031b1
403064:	50                   	push   %eax
403065:	56                   	push   %esi
403066:	8b cf                	mov    %edi,%ecx
403068:	e8 54 fd ff ff       	call   0x402dc1
40306d:	8b c7                	mov    %edi,%eax
40306f:	5f                   	pop    %edi
403070:	5e                   	pop    %esi
403071:	5d                   	pop    %ebp
403072:	c2 04 00             	ret    $0x4
403075:	55                   	push   %ebp
403076:	8b ec                	mov    %esp,%ebp
403078:	8b 45 08             	mov    0x8(%ebp),%eax
40307b:	ff 30                	push   (%eax)
40307d:	ff 31                	push   (%ecx)
40307f:	ff 15 c4 21 41 00    	call   *0x4121c4
403085:	f7 d8                	neg    %eax
403087:	1b c0                	sbb    %eax,%eax
403089:	40                   	inc    %eax
40308a:	5d                   	pop    %ebp
40308b:	c2 04 00             	ret    $0x4
40308e:	83 39 00             	cmpl   $0x0,(%ecx)
403091:	74 09                	je     0x40309c
403093:	ff 31                	push   (%ecx)
403095:	ff 15 fc 21 41 00    	call   *0x4121fc
40309b:	c3                   	ret
40309c:	33 c0                	xor    %eax,%eax
40309e:	c3                   	ret
40309f:	55                   	push   %ebp
4030a0:	8b ec                	mov    %esp,%ebp
4030a2:	81 ec 08 02 00 00    	sub    $0x208,%esp
4030a8:	56                   	push   %esi
4030a9:	ff 75 08             	push   0x8(%ebp)
4030ac:	8d 85 f8 fd ff ff    	lea    -0x208(%ebp),%eax
4030b2:	8b f1                	mov    %ecx,%esi
4030b4:	68 60 26 41 00       	push   $0x412660
4030b9:	50                   	push   %eax
4030ba:	ff 15 9c 22 41 00    	call   *0x41229c
4030c0:	83 c4 0c             	add    $0xc,%esp
4030c3:	8d 85 f8 fd ff ff    	lea    -0x208(%ebp),%eax
4030c9:	8d 4d 08             	lea    0x8(%ebp),%ecx
4030cc:	50                   	push   %eax
4030cd:	e8 40 03 00 00       	call   0x403412
4030d2:	8d 45 08             	lea    0x8(%ebp),%eax
4030d5:	8b ce                	mov    %esi,%ecx
4030d7:	50                   	push   %eax
4030d8:	e8 85 00 00 00       	call   0x403162
4030dd:	8b 4d 08             	mov    0x8(%ebp),%ecx
4030e0:	e8 48 29 00 00       	call   0x405a2d
4030e5:	8b c6                	mov    %esi,%eax
4030e7:	5e                   	pop    %esi
4030e8:	c9                   	leave
4030e9:	c2 04 00             	ret    $0x4
4030ec:	55                   	push   %ebp
4030ed:	8b ec                	mov    %esp,%ebp
4030ef:	51                   	push   %ecx
4030f0:	56                   	push   %esi
4030f1:	8d 45 fc             	lea    -0x4(%ebp),%eax
4030f4:	8b f1                	mov    %ecx,%esi
4030f6:	50                   	push   %eax
4030f7:	ff 75 08             	push   0x8(%ebp)
4030fa:	8d 4d 08             	lea    0x8(%ebp),%ecx
4030fd:	e8 ea 00 00 00       	call   0x4031ec
403102:	8b c8                	mov    %eax,%ecx
403104:	e8 c1 fd ff ff       	call   0x402eca
403109:	50                   	push   %eax
40310a:	8b ce                	mov    %esi,%ecx
40310c:	e8 51 00 00 00       	call   0x403162
403111:	8b 4d fc             	mov    -0x4(%ebp),%ecx
403114:	e8 14 29 00 00       	call   0x405a2d
403119:	8b 4d 08             	mov    0x8(%ebp),%ecx
40311c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
403120:	e8 08 29 00 00       	call   0x405a2d
403125:	8b c6                	mov    %esi,%eax
403127:	5e                   	pop    %esi
403128:	c9                   	leave
403129:	c2 04 00             	ret    $0x4
40312c:	55                   	push   %ebp
40312d:	8b ec                	mov    %esp,%ebp
40312f:	56                   	push   %esi
403130:	8b f1                	mov    %ecx,%esi
403132:	8b 0e                	mov    (%esi),%ecx
403134:	85 c9                	test   %ecx,%ecx
403136:	74 08                	je     0x403140
403138:	e8 f0 28 00 00       	call   0x405a2d
40313d:	83 26 00             	andl   $0x0,(%esi)
403140:	ff 75 08             	push   0x8(%ebp)
403143:	8d 4d 08             	lea    0x8(%ebp),%ecx
403146:	e8 c7 02 00 00       	call   0x403412
40314b:	50                   	push   %eax
40314c:	8b ce                	mov    %esi,%ecx
40314e:	e8 0f 00 00 00       	call   0x403162
403153:	8b 4d 08             	mov    0x8(%ebp),%ecx
403156:	e8 d2 28 00 00       	call   0x405a2d
40315b:	8b c6                	mov    %esi,%eax
40315d:	5e                   	pop    %esi
40315e:	5d                   	pop    %ebp
40315f:	c2 04 00             	ret    $0x4
403162:	55                   	push   %ebp
403163:	8b ec                	mov    %esp,%ebp
403165:	53                   	push   %ebx
403166:	56                   	push   %esi
403167:	57                   	push   %edi
403168:	8b 7d 08             	mov    0x8(%ebp),%edi
40316b:	8b d9                	mov    %ecx,%ebx
40316d:	8b cf                	mov    %edi,%ecx
40316f:	e8 1a ff ff ff       	call   0x40308e
403174:	8b cb                	mov    %ebx,%ecx
403176:	8b f0                	mov    %eax,%esi
403178:	e8 11 ff ff ff       	call   0x40308e
40317d:	8b 0b                	mov    (%ebx),%ecx
40317f:	03 f0                	add    %eax,%esi
403181:	8d 14 75 04 00 00 00 	lea    0x4(,%esi,2),%edx
403188:	e8 41 28 00 00       	call   0x4059ce
40318d:	89 03                	mov    %eax,(%ebx)
40318f:	ff 37                	push   (%edi)
403191:	50                   	push   %eax
403192:	ff 15 04 22 41 00    	call   *0x412204
403198:	5f                   	pop    %edi
403199:	5e                   	pop    %esi
40319a:	5b                   	pop    %ebx
40319b:	5d                   	pop    %ebp
40319c:	c2 04 00             	ret    $0x4
40319f:	83 39 00             	cmpl   $0x0,(%ecx)
4031a2:	74 0a                	je     0x4031ae
4031a4:	ff 31                	push   (%ecx)
4031a6:	ff 15 f4 21 41 00    	call   *0x4121f4
4031ac:	40                   	inc    %eax
4031ad:	c3                   	ret
4031ae:	33 c0                	xor    %eax,%eax
4031b0:	c3                   	ret
4031b1:	83 39 00             	cmpl   $0x0,(%ecx)
4031b4:	75 03                	jne    0x4031b9
4031b6:	33 c0                	xor    %eax,%eax
4031b8:	c3                   	ret
4031b9:	ff 31                	push   (%ecx)
4031bb:	ff 15 fc 21 41 00    	call   *0x4121fc
4031c1:	8d 04 45 02 00 00 00 	lea    0x2(,%eax,2),%eax
4031c8:	c3                   	ret
4031c9:	8b 09                	mov    (%ecx),%ecx
4031cb:	e9 5d 28 00 00       	jmp    0x405a2d
4031d0:	55                   	push   %ebp
4031d1:	8b ec                	mov    %esp,%ebp
4031d3:	8b 45 08             	mov    0x8(%ebp),%eax
4031d6:	ff 30                	push   (%eax)
4031d8:	ff 31                	push   (%ecx)
4031da:	ff 15 f0 21 41 00    	call   *0x4121f0
4031e0:	f7 d8                	neg    %eax
4031e2:	1b c0                	sbb    %eax,%eax
4031e4:	40                   	inc    %eax
4031e5:	5d                   	pop    %ebp
4031e6:	c2 04 00             	ret    $0x4
4031e9:	8b 01                	mov    (%ecx),%eax
4031eb:	c3                   	ret
4031ec:	55                   	push   %ebp
4031ed:	8b ec                	mov    %esp,%ebp
4031ef:	56                   	push   %esi
4031f0:	ff 75 08             	push   0x8(%ebp)
4031f3:	8b f1                	mov    %ecx,%esi
4031f5:	ff 15 f4 21 41 00    	call   *0x4121f4
4031fb:	85 c0                	test   %eax,%eax
4031fd:	7e 1c                	jle    0x40321b
4031ff:	ff 75 08             	push   0x8(%ebp)
403202:	ff 15 f4 21 41 00    	call   *0x4121f4
403208:	8b c8                	mov    %eax,%ecx
40320a:	e8 9b 27 00 00       	call   0x4059aa
40320f:	ff 75 08             	push   0x8(%ebp)
403212:	89 06                	mov    %eax,(%esi)
403214:	50                   	push   %eax
403215:	ff 15 e0 21 41 00    	call   *0x4121e0
40321b:	8b c6                	mov    %esi,%eax
40321d:	5e                   	pop    %esi
40321e:	5d                   	pop    %ebp
40321f:	c2 04 00             	ret    $0x4
403222:	55                   	push   %ebp
403223:	8b ec                	mov    %esp,%ebp
403225:	56                   	push   %esi
403226:	57                   	push   %edi
403227:	8b 7d 08             	mov    0x8(%ebp),%edi
40322a:	8b f1                	mov    %ecx,%esi
40322c:	83 26 00             	andl   $0x0,(%esi)
40322f:	83 3f 00             	cmpl   $0x0,(%edi)
403232:	74 19                	je     0x40324d
403234:	8b cf                	mov    %edi,%ecx
403236:	e8 64 ff ff ff       	call   0x40319f
40323b:	8b c8                	mov    %eax,%ecx
40323d:	e8 fa 27 00 00       	call   0x405a3c
403242:	89 06                	mov    %eax,(%esi)
403244:	ff 37                	push   (%edi)
403246:	50                   	push   %eax
403247:	ff 15 e0 21 41 00    	call   *0x4121e0
40324d:	5f                   	pop    %edi
40324e:	8b c6                	mov    %esi,%eax
403250:	5e                   	pop    %esi
403251:	5d                   	pop    %ebp
403252:	c2 04 00             	ret    $0x4
403255:	56                   	push   %esi
403256:	8b f1                	mov    %ecx,%esi
403258:	8b 0e                	mov    (%esi),%ecx
40325a:	e8 ce 27 00 00       	call   0x405a2d
40325f:	83 26 00             	andl   $0x0,(%esi)
403262:	5e                   	pop    %esi
403263:	c3                   	ret
403264:	55                   	push   %ebp
403265:	8b ec                	mov    %esp,%ebp
403267:	56                   	push   %esi
403268:	57                   	push   %edi
403269:	8b 7d 08             	mov    0x8(%ebp),%edi
40326c:	8b f1                	mov    %ecx,%esi
40326e:	83 26 00             	andl   $0x0,(%esi)
403271:	83 3f 00             	cmpl   $0x0,(%edi)
403274:	74 19                	je     0x40328f
403276:	8b cf                	mov    %edi,%ecx
403278:	e8 34 ff ff ff       	call   0x4031b1
40327d:	8b c8                	mov    %eax,%ecx
40327f:	e8 26 27 00 00       	call   0x4059aa
403284:	89 06                	mov    %eax,(%esi)
403286:	ff 37                	push   (%edi)
403288:	50                   	push   %eax
403289:	ff 15 cc 21 41 00    	call   *0x4121cc
40328f:	5f                   	pop    %edi
403290:	8b c6                	mov    %esi,%eax
403292:	5e                   	pop    %esi
403293:	5d                   	pop    %ebp
403294:	c2 04 00             	ret    $0x4
403297:	55                   	push   %ebp
403298:	8b ec                	mov    %esp,%ebp
40329a:	56                   	push   %esi
40329b:	ff 75 08             	push   0x8(%ebp)
40329e:	8b f1                	mov    %ecx,%esi
4032a0:	8d 4d 08             	lea    0x8(%ebp),%ecx
4032a3:	e8 6a 01 00 00       	call   0x403412
4032a8:	50                   	push   %eax
4032a9:	8b ce                	mov    %esi,%ecx
4032ab:	e8 b2 fe ff ff       	call   0x403162
4032b0:	8b 4d 08             	mov    0x8(%ebp),%ecx
4032b3:	e8 75 27 00 00       	call   0x405a2d
4032b8:	8b c6                	mov    %esi,%eax
4032ba:	5e                   	pop    %esi
4032bb:	5d                   	pop    %ebp
4032bc:	c2 04 00             	ret    $0x4
4032bf:	55                   	push   %ebp
4032c0:	8b ec                	mov    %esp,%ebp
4032c2:	56                   	push   %esi
4032c3:	ff 75 08             	push   0x8(%ebp)
4032c6:	8b f1                	mov    %ecx,%esi
4032c8:	e8 95 fe ff ff       	call   0x403162
4032cd:	8b c6                	mov    %esi,%eax
4032cf:	5e                   	pop    %esi
4032d0:	5d                   	pop    %ebp
4032d1:	c2 04 00             	ret    $0x4
4032d4:	55                   	push   %ebp
4032d5:	8b ec                	mov    %esp,%ebp
4032d7:	83 ec 34             	sub    $0x34,%esp
4032da:	53                   	push   %ebx
4032db:	56                   	push   %esi
4032dc:	8b c1                	mov    %ecx,%eax
4032de:	8b f2                	mov    %edx,%esi
4032e0:	57                   	push   %edi
4032e1:	56                   	push   %esi
4032e2:	89 75 fc             	mov    %esi,-0x4(%ebp)
4032e5:	83 20 00             	andl   $0x0,(%eax)
4032e8:	89 45 f8             	mov    %eax,-0x8(%ebp)
4032eb:	e8 bd dd ff ff       	call   0x4010ad
4032f0:	56                   	push   %esi
4032f1:	8b d8                	mov    %eax,%ebx
4032f3:	6a 00                	push   $0x0
4032f5:	53                   	push   %ebx
4032f6:	e8 57 dd ff ff       	call   0x401052
4032fb:	83 c4 10             	add    $0x10,%esp
4032fe:	8d 7d cc             	lea    -0x34(%ebp),%edi
403301:	be 68 26 41 00       	mov    $0x412668,%esi
403306:	6a 0a                	push   $0xa
403308:	59                   	pop    %ecx
403309:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
40330b:	6a 00                	push   $0x0
40330d:	a4                   	movsb  %ds:(%esi),%es:(%edi)
40330e:	8b 75 fc             	mov    -0x4(%ebp),%esi
403311:	5f                   	pop    %edi
403312:	83 ee 01             	sub    $0x1,%esi
403315:	74 17                	je     0x40332e
403317:	e8 73 dd ff ff       	call   0x40108f
40331c:	6a 28                	push   $0x28
40331e:	99                   	cltd
40331f:	59                   	pop    %ecx
403320:	f7 f9                	idiv   %ecx
403322:	8a 44 15 cc          	mov    -0x34(%ebp,%edx,1),%al
403326:	88 04 1f             	mov    %al,(%edi,%ebx,1)
403329:	47                   	inc    %edi
40332a:	3b fe                	cmp    %esi,%edi
40332c:	72 e9                	jb     0x403317
40332e:	8b 4d f8             	mov    -0x8(%ebp),%ecx
403331:	53                   	push   %ebx
403332:	c6 04 33 00          	movb   $0x0,(%ebx,%esi,1)
403336:	e8 b1 fd ff ff       	call   0x4030ec
40333b:	53                   	push   %ebx
40333c:	e8 80 dd ff ff       	call   0x4010c1
403341:	8b 45 f8             	mov    -0x8(%ebp),%eax
403344:	59                   	pop    %ecx
403345:	5f                   	pop    %edi
403346:	5e                   	pop    %esi
403347:	5b                   	pop    %ebx
403348:	c9                   	leave
403349:	c3                   	ret
40334a:	55                   	push   %ebp
40334b:	8b ec                	mov    %esp,%ebp
40334d:	83 39 00             	cmpl   $0x0,(%ecx)
403350:	74 0b                	je     0x40335d
403352:	ff 31                	push   (%ecx)
403354:	ff 15 6c 22 41 00    	call   *0x41226c
40335a:	50                   	push   %eax
40335b:	eb 02                	jmp    0x40335f
40335d:	6a 00                	push   $0x0
40335f:	8b 4d 08             	mov    0x8(%ebp),%ecx
403362:	e8 ab 00 00 00       	call   0x403412
403367:	8b 45 08             	mov    0x8(%ebp),%eax
40336a:	5d                   	pop    %ebp
40336b:	c2 04 00             	ret    $0x4
40336e:	55                   	push   %ebp
40336f:	8b ec                	mov    %esp,%ebp
403371:	51                   	push   %ecx
403372:	8b 4d 08             	mov    0x8(%ebp),%ecx
403375:	e8 e0 00 00 00       	call   0x40345a
40337a:	8b 45 08             	mov    0x8(%ebp),%eax
40337d:	5d                   	pop    %ebp
40337e:	c2 04 00             	ret    $0x4
403381:	55                   	push   %ebp
403382:	8b ec                	mov    %esp,%ebp
403384:	51                   	push   %ecx
403385:	53                   	push   %ebx
403386:	8b d9                	mov    %ecx,%ebx
403388:	8b 4d 08             	mov    0x8(%ebp),%ecx
40338b:	56                   	push   %esi
40338c:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40338f:	e8 5c fc ff ff       	call   0x402ff0
403394:	33 f6                	xor    %esi,%esi
403396:	39 33                	cmp    %esi,(%ebx)
403398:	74 66                	je     0x403400