402fe4:	8b c7                	mov    %edi,%eax
402fe6:	5f                   	pop    %edi
402fe7:	5e                   	pop    %esi
402fe8:	5b                   	pop    %ebx
402fe9:	8b e5                	mov    %ebp,%esp
402feb:	5d                   	pop    %ebp
402fec:	c2 08 00             	ret    $0x8
402fef:	e8 9f c9 01 00       	call   0x41f993
402ff4:	e8 67 e3 ff ff       	call   0x401360
402ff9:	cc                   	int3
402ffa:	cc                   	int3
402ffb:	cc                   	int3
402ffc:	cc                   	int3
402ffd:	cc                   	int3
402ffe:	cc                   	int3
402fff:	cc                   	int3
403000:	55                   	push   %ebp
403001:	8b ec                	mov    %esp,%ebp
403003:	83 ec 08             	sub    $0x8,%esp
403006:	8b 45 08             	mov    0x8(%ebp),%eax
403009:	53                   	push   %ebx
40300a:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40300d:	89 45 f8             	mov    %eax,-0x8(%ebp)
403010:	56                   	push   %esi
403011:	57                   	push   %edi
403012:	8b f9                	mov    %ecx,%edi
403014:	89 7d fc             	mov    %edi,-0x4(%ebp)
403017:	81 fb fe ff ff 7f    	cmp    $0x7ffffffe,%ebx
40301d:	77 7f                	ja     0x40309e
40301f:	c7 47 14 07 00 00 00 	movl   $0x7,0x14(%edi)
403026:	83 fb 08             	cmp    $0x8,%ebx
403029:	73 20                	jae    0x40304b
40302b:	8d 34 1b             	lea    (%ebx,%ebx,1),%esi
40302e:	89 5f 10             	mov    %ebx,0x10(%edi)
403031:	56                   	push   %esi
403032:	50                   	push   %eax
403033:	57                   	push   %edi
403034:	e8 47 86 01 00       	call   0x41b680
403039:	83 c4 0c             	add    $0xc,%esp
40303c:	33 c0                	xor    %eax,%eax
40303e:	66 89 04 3e          	mov    %ax,(%esi,%edi,1)
403042:	5f                   	pop    %edi
403043:	5e                   	pop    %esi
403044:	5b                   	pop    %ebx
403045:	8b e5                	mov    %ebp,%esp
403047:	5d                   	pop    %ebp
403048:	c2 08 00             	ret    $0x8
40304b:	8b f3                	mov    %ebx,%esi
40304d:	83 ce 07             	or     $0x7,%esi
403050:	81 fe fe ff ff 7f    	cmp    $0x7ffffffe,%esi
403056:	76 07                	jbe    0x40305f
403058:	be fe ff ff 7f       	mov    $0x7ffffffe,%esi
40305d:	eb 0a                	jmp    0x403069
40305f:	b8 0a 00 00 00       	mov    $0xa,%eax
403064:	3b f0                	cmp    %eax,%esi
403066:	0f 42 f0             	cmovb  %eax,%esi
403069:	8d 46 01             	lea    0x1(%esi),%eax
40306c:	50                   	push   %eax
40306d:	e8 3e 00 00 00       	call   0x4030b0
403072:	8b f8                	mov    %eax,%edi
403074:	8b 45 fc             	mov    -0x4(%ebp),%eax
403077:	89 70 14             	mov    %esi,0x14(%eax)
40307a:	8d 34 1b             	lea    (%ebx,%ebx,1),%esi
40307d:	56                   	push   %esi
40307e:	ff 75 f8             	push   -0x8(%ebp)
403081:	89 38                	mov    %edi,(%eax)
403083:	57                   	push   %edi
403084:	89 58 10             	mov    %ebx,0x10(%eax)
403087:	e8 f4 85 01 00       	call   0x41b680
40308c:	83 c4 0c             	add    $0xc,%esp
40308f:	33 c0                	xor    %eax,%eax
403091:	66 89 04 3e          	mov    %ax,(%esi,%edi,1)
403095:	5f                   	pop    %edi
403096:	5e                   	pop    %esi
403097:	5b                   	pop    %ebx
403098:	8b e5                	mov    %ebp,%esp
40309a:	5d                   	pop    %ebp
40309b:	c2 08 00             	ret    $0x8
40309e:	e8 bd e2 ff ff       	call   0x401360
4030a3:	cc                   	int3
4030a4:	cc                   	int3
4030a5:	cc                   	int3
4030a6:	cc                   	int3
4030a7:	cc                   	int3
4030a8:	cc                   	int3
4030a9:	cc                   	int3
4030aa:	cc                   	int3
4030ab:	cc                   	int3
4030ac:	cc                   	int3
4030ad:	cc                   	int3
4030ae:	cc                   	int3
4030af:	cc                   	int3
4030b0:	55                   	push   %ebp
4030b1:	8b ec                	mov    %esp,%ebp
4030b3:	8b 45 08             	mov    0x8(%ebp),%eax
4030b6:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
4030bb:	77 43                	ja     0x403100
4030bd:	03 c0                	add    %eax,%eax
4030bf:	3d 00 10 00 00       	cmp    $0x1000,%eax
4030c4:	72 23                	jb     0x4030e9
4030c6:	8d 48 23             	lea    0x23(%eax),%ecx
4030c9:	3b c8                	cmp    %eax,%ecx
4030cb:	76 33                	jbe    0x403100
4030cd:	51                   	push   %ecx
4030ce:	e8 f3 6a 01 00       	call   0x419bc6
4030d3:	8b c8                	mov    %eax,%ecx
4030d5:	83 c4 04             	add    $0x4,%esp
4030d8:	85 c9                	test   %ecx,%ecx
4030da:	74 29                	je     0x403105
4030dc:	8d 41 23             	lea    0x23(%ecx),%eax
4030df:	83 e0 e0             	and    $0xffffffe0,%eax
4030e2:	89 48 fc             	mov    %ecx,-0x4(%eax)
4030e5:	5d                   	pop    %ebp
4030e6:	c2 04 00             	ret    $0x4
4030e9:	85 c0                	test   %eax,%eax
4030eb:	74 0d                	je     0x4030fa
4030ed:	50                   	push   %eax
4030ee:	e8 d3 6a 01 00       	call   0x419bc6
4030f3:	83 c4 04             	add    $0x4,%esp
4030f6:	5d                   	pop    %ebp
4030f7:	c2 04 00             	ret    $0x4
4030fa:	33 c0                	xor    %eax,%eax
4030fc:	5d                   	pop    %ebp
4030fd:	c2 04 00             	ret    $0x4
403100:	e8 bb e1 ff ff       	call   0x4012c0
403105:	e8 89 c8 01 00       	call   0x41f993
40310a:	cc                   	int3
40310b:	cc                   	int3
40310c:	cc                   	int3
40310d:	cc                   	int3
40310e:	cc                   	int3
40310f:	cc                   	int3
403110:	55                   	push   %ebp
403111:	8b ec                	mov    %esp,%ebp
403113:	6a ff                	push   $0xffffffff
403115:	68 e7 b7 43 00       	push   $0x43b7e7
40311a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
403120:	50                   	push   %eax
403121:	83 ec 38             	sub    $0x38,%esp
403124:	a1 14 50 45 00       	mov    0x455014,%eax
403129:	33 c5                	xor    %ebp,%eax
40312b:	89 45 f0             	mov    %eax,-0x10(%ebp)
40312e:	53                   	push   %ebx
40312f:	56                   	push   %esi
403130:	50                   	push   %eax
403131:	8d 45 f4             	lea    -0xc(%ebp),%eax
403134:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40313a:	8b d1                	mov    %ecx,%edx
40313c:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
403143:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
40314a:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
403151:	8d 72 02             	lea    0x2(%edx),%esi
403154:	66 8b 02             	mov    (%edx),%ax
403157:	83 c2 02             	add    $0x2,%edx
40315a:	66 85 c0             	test   %ax,%ax
40315d:	75 f5                	jne    0x403154
40315f:	2b d6                	sub    %esi,%edx
403161:	d1 fa                	sar    $1,%edx
403163:	52                   	push   %edx
403164:	51                   	push   %ecx
403165:	8d 4d c0             	lea    -0x40(%ebp),%ecx
403168:	e8 93 fe ff ff       	call   0x403000
40316d:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
403174:	33 c0                	xor    %eax,%eax
403176:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
40317d:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
403184:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
40318b:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
40318f:	50                   	push   %eax
403190:	68 54 9f 44 00       	push   $0x449f54
403195:	8d 4d d8             	lea    -0x28(%ebp),%ecx
403198:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40319c:	e8 4f fd ff ff       	call   0x402ef0
4031a1:	8d 55 d8             	lea    -0x28(%ebp),%edx
4031a4:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4031a7:	e8 44 1f 01 00       	call   0x4150f0
4031ac:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
4031b0:	76 6d                	jbe    0x40321f
4031b2:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4031b5:	e8 b6 30 00 00       	call   0x406270
4031ba:	84 c0                	test   %al,%al
4031bc:	0f 85 c3 00 00 00    	jne    0x403285
4031c2:	a1 20 72 45 00       	mov    0x457220,%eax
4031c7:	85 c0                	test   %eax,%eax
4031c9:	75 33                	jne    0x4031fe
4031cb:	68 84 00 00 00       	push   $0x84
4031d0:	e8 f1 69 01 00       	call   0x419bc6
4031d5:	8b f0                	mov    %eax,%esi
4031d7:	89 75 bc             	mov    %esi,-0x44(%ebp)
4031da:	68 84 00 00 00       	push   $0x84
4031df:	6a 00                	push   $0x0
4031e1:	56                   	push   %esi
4031e2:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
4031e6:	e8 25 8a 01 00       	call   0x41bc10
4031eb:	83 c4 10             	add    $0x10,%esp
4031ee:	8b ce                	mov    %esi,%ecx
4031f0:	e8 bb 03 00 00       	call   0x4035b0
4031f5:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4031f9:	a3 20 72 45 00       	mov    %eax,0x457220
4031fe:	8b 48 04             	mov    0x4(%eax),%ecx
403201:	83 c0 04             	add    $0x4,%eax
403204:	68 10 df 44 00       	push   $0x44df10
403209:	68 54 9f 44 00       	push   $0x449f54
40320e:	50                   	push   %eax
40320f:	8b 71 24             	mov    0x24(%ecx),%esi
403212:	8b ce                	mov    %esi,%ecx
403214:	ff 15 5c e2 43 00    	call   *0x43e25c
40321a:	ff d6                	call   *%esi
40321c:	83 c4 0c             	add    $0xc,%esp
40321f:	32 db                	xor    %bl,%bl
403221:	8b 4d ec             	mov    -0x14(%ebp),%ecx
403224:	83 f9 08             	cmp    $0x8,%ecx
403227:	72 2e                	jb     0x403257
403229:	8b 55 d8             	mov    -0x28(%ebp),%edx
40322c:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
403233:	8b c2                	mov    %edx,%eax
403235:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40323b:	72 10                	jb     0x40324d
40323d:	8b 50 fc             	mov    -0x4(%eax),%edx
403240:	83 c1 23             	add    $0x23,%ecx
403243:	2b c2                	sub    %edx,%eax
403245:	83 c0 fc             	add    $0xfffffffc,%eax
403248:	83 f8 1f             	cmp    $0x1f,%eax
40324b:	77 63                	ja     0x4032b0
40324d:	51                   	push   %ecx
40324e:	52                   	push   %edx
40324f:	e8 64 69 01 00       	call   0x419bb8
403254:	83 c4 08             	add    $0x8,%esp
403257:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
40325a:	83 f9 08             	cmp    $0x8,%ecx
40325d:	72 34                	jb     0x403293
40325f:	8b 55 c0             	mov    -0x40(%ebp),%edx
403262:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
403269:	8b c2                	mov    %edx,%eax
40326b:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
403271:	72 16                	jb     0x403289
403273:	8b 50 fc             	mov    -0x4(%eax),%edx
403276:	83 c1 23             	add    $0x23,%ecx
403279:	2b c2                	sub    %edx,%eax
40327b:	83 c0 fc             	add    $0xfffffffc,%eax
40327e:	83 f8 1f             	cmp    $0x1f,%eax
403281:	77 2d                	ja     0x4032b0
403283:	eb 04                	jmp    0x403289
403285:	b3 01                	mov    $0x1,%bl
403287:	eb 98                	jmp    0x403221
403289:	51                   	push   %ecx
40328a:	52                   	push   %edx
40328b:	e8 28 69 01 00       	call   0x419bb8
403290:	83 c4 08             	add    $0x8,%esp
403293:	8a c3                	mov    %bl,%al
403295:	8b 4d f4             	mov    -0xc(%ebp),%ecx
403298:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40329f:	59                   	pop    %ecx
4032a0:	5e                   	pop    %esi
4032a1:	5b                   	pop    %ebx
4032a2:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4032a5:	33 cd                	xor    %ebp,%ecx
4032a7:	e8 fe 68 01 00       	call   0x419baa
4032ac:	8b e5                	mov    %ebp,%esp
4032ae:	5d                   	pop    %ebp
4032af:	c3                   	ret
4032b0:	e8 de c6 01 00       	call   0x41f993
4032b5:	cc                   	int3
4032b6:	cc                   	int3
4032b7:	cc                   	int3
4032b8:	cc                   	int3
4032b9:	cc                   	int3
4032ba:	cc                   	int3
4032bb:	cc                   	int3
4032bc:	cc                   	int3
4032bd:	cc                   	int3
4032be:	cc                   	int3
4032bf:	cc                   	int3
4032c0:	55                   	push   %ebp
4032c1:	8b ec                	mov    %esp,%ebp
4032c3:	51                   	push   %ecx
4032c4:	53                   	push   %ebx
4032c5:	8b 5d 08             	mov    0x8(%ebp),%ebx
4032c8:	8b c3                	mov    %ebx,%eax
4032ca:	56                   	push   %esi
4032cb:	8b f1                	mov    %ecx,%esi
4032cd:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4032d0:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
4032d6:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
4032dd:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
4032e4:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
4032e8:	72 05                	jb     0x4032ef
4032ea:	8b 03                	mov    (%ebx),%eax
4032ec:	89 45 fc             	mov    %eax,-0x4(%ebp)
4032ef:	8b 5b 10             	mov    0x10(%ebx),%ebx
4032f2:	81 fb fe ff ff 7f    	cmp    $0x7ffffffe,%ebx
4032f8:	77 74                	ja     0x40336e
4032fa:	c7 46 14 07 00 00 00 	movl   $0x7,0x14(%esi)
403301:	83 fb 08             	cmp    $0x8,%ebx
403304:	73 19                	jae    0x40331f
403306:	6a 10                	push   $0x10
403308:	50                   	push   %eax
403309:	56                   	push   %esi
40330a:	89 5e 10             	mov    %ebx,0x10(%esi)
40330d:	e8 6e 83 01 00       	call   0x41b680
403312:	83 c4 0c             	add    $0xc,%esp
403315:	8b c6                	mov    %esi,%eax
403317:	5e                   	pop    %esi
403318:	5b                   	pop    %ebx
403319:	8b e5                	mov    %ebp,%esp
40331b:	5d                   	pop    %ebp
40331c:	c2 04 00             	ret    $0x4
40331f:	57                   	push   %edi
403320:	8b fb                	mov    %ebx,%edi
403322:	83 cf 07             	or     $0x7,%edi
403325:	81 ff fe ff ff 7f    	cmp    $0x7ffffffe,%edi
40332b:	76 07                	jbe    0x403334
40332d:	bf fe ff ff 7f       	mov    $0x7ffffffe,%edi
403332:	eb 0a                	jmp    0x40333e
403334:	b8 0a 00 00 00       	mov    $0xa,%eax
403339:	3b f8                	cmp    %eax,%edi
40333b:	0f 42 f8             	cmovb  %eax,%edi
40333e:	8d 47 01             	lea    0x1(%edi),%eax
403341:	50                   	push   %eax
403342:	e8 69 fd ff ff       	call   0x4030b0
403347:	8d 0c 5d 02 00 00 00 	lea    0x2(,%ebx,2),%ecx
40334e:	89 06                	mov    %eax,(%esi)
403350:	51                   	push   %ecx
403351:	ff 75 fc             	push   -0x4(%ebp)
403354:	89 5e 10             	mov    %ebx,0x10(%esi)
403357:	50                   	push   %eax
403358:	89 7e 14             	mov    %edi,0x14(%esi)
40335b:	e8 20 83 01 00       	call   0x41b680
403360:	83 c4 0c             	add    $0xc,%esp
403363:	8b c6                	mov    %esi,%eax
403365:	5f                   	pop    %edi
403366:	5e                   	pop    %esi
403367:	5b                   	pop    %ebx
403368:	8b e5                	mov    %ebp,%esp
40336a:	5d                   	pop    %ebp
40336b:	c2 04 00             	ret    $0x4
40336e:	e8 ed df ff ff       	call   0x401360
403373:	cc                   	int3
403374:	cc                   	int3
403375:	cc                   	int3
403376:	cc                   	int3
403377:	cc                   	int3
403378:	cc                   	int3
403379:	cc                   	int3
40337a:	cc                   	int3
40337b:	cc                   	int3
40337c:	cc                   	int3
40337d:	cc                   	int3
40337e:	cc                   	int3
40337f:	cc                   	int3