00401000 <CODE>:
401000:	04 10                	add    $0x10,%al
401002:	40                   	inc    %eax
401003:	00 01                	add    %al,(%ecx)
401005:	04 42                	add    $0x42,%al
401007:	79 74                	jns    0x40107d
401009:	65 01 00             	add    %eax,%gs:(%eax)
40100c:	00 00                	add    %al,(%eax)
40100e:	00 ff                	add    %bh,%bh
401010:	00 00                	add    %al,(%eax)
401012:	00 90 18 10 40 00    	add    %dl,0x401018(%eax)
401018:	0a 06                	or     (%esi),%al
40101a:	53                   	push   %ebx
40101b:	74 72                	je     0x40108f
40101d:	69 6e 67 6c 10 40 00 	imul   $0x40106c,0x67(%esi),%ebp
401040:	6c                   	insb   (%dx),%es:(%edi)
401041:	10 40 00             	adc    %al,0x0(%eax)
401044:	04 00                	add    $0x0,%al
401046:	00 00                	add    %al,(%eax)
401048:	00 00                	add    %al,(%eax)
40104a:	00 00                	add    %al,(%eax)
40104c:	38 2e                	cmp    %ch,(%esi)
40104e:	40                   	inc    %eax
40104f:	00 44 2e 40          	add    %al,0x40(%esi,%ebp,1)
401053:	00 48 2e             	add    %cl,0x2e(%eax)
401056:	40                   	inc    %eax
401057:	00 4c 2e 40          	add    %cl,0x40(%esi,%ebp,1)
40105b:	00 40 2e             	add    %al,0x2e(%eax)
40105e:	40                   	inc    %eax
40105f:	00 1c 2d 40 00 38 2d 	add    %bl,0x2d380040(,%ebp,1)
401066:	40                   	inc    %eax
401067:	00 74 2d 40          	add    %dh,0x40(%ebp,%ebp,1)
40106b:	00 07                	add    %al,(%edi)
40106d:	54                   	push   %esp
40106e:	4f                   	dec    %edi
40106f:	62 6a 65             	bound  %ebp,0x65(%edx)
401072:	63 74 ff 25          	arpl   %esi,0x25(%edi,%edi,8)
401076:	20 b2 42 00 8b c0    	and    %dh,-0x3f74ffbe(%edx)
40107c:	ff 25 1c b2 42 00    	jmp    *0x42b21c
401082:	8b c0                	mov    %eax,%eax
401084:	ff 25 18 b2 42 00    	jmp    *0x42b218
40108a:	8b c0                	mov    %eax,%eax
40108c:	ff 25 14 b2 42 00    	jmp    *0x42b214
401092:	8b c0                	mov    %eax,%eax
401094:	ff 25 10 b2 42 00    	jmp    *0x42b210
40109a:	8b c0                	mov    %eax,%eax
40109c:	ff 25 0c b2 42 00    	jmp    *0x42b20c
4010a2:	8b c0                	mov    %eax,%eax
4010a4:	ff 25 2c b2 42 00    	jmp    *0x42b22c
4010aa:	8b c0                	mov    %eax,%eax
4010ac:	ff 25 08 b2 42 00    	jmp    *0x42b208
4010b2:	8b c0                	mov    %eax,%eax
4010b4:	ff 25 04 b2 42 00    	jmp    *0x42b204
4010ba:	8b c0                	mov    %eax,%eax
4010bc:	ff 25 00 b2 42 00    	jmp    *0x42b200
4010c2:	8b c0                	mov    %eax,%eax
4010c4:	ff 25 fc b1 42 00    	jmp    *0x42b1fc
4010ca:	8b c0                	mov    %eax,%eax
4010cc:	ff 25 f8 b1 42 00    	jmp    *0x42b1f8
4010d2:	8b c0                	mov    %eax,%eax
4010d4:	ff 25 3c b2 42 00    	jmp    *0x42b23c
4010da:	8b c0                	mov    %eax,%eax
4010dc:	ff 25 38 b2 42 00    	jmp    *0x42b238
4010e2:	8b c0                	mov    %eax,%eax
4010e4:	ff 25 34 b2 42 00    	jmp    *0x42b234
4010ea:	8b c0                	mov    %eax,%eax
4010ec:	ff 25 f4 b1 42 00    	jmp    *0x42b1f4
4010f2:	8b c0                	mov    %eax,%eax
4010f4:	ff 25 48 b2 42 00    	jmp    *0x42b248
4010fa:	8b c0                	mov    %eax,%eax
4010fc:	ff 25 44 b2 42 00    	jmp    *0x42b244
401102:	8b c0                	mov    %eax,%eax
401104:	ff 25 f0 b1 42 00    	jmp    *0x42b1f0
40110a:	8b c0                	mov    %eax,%eax
40110c:	ff 25 ec b1 42 00    	jmp    *0x42b1ec
401112:	8b c0                	mov    %eax,%eax
401114:	53                   	push   %ebx
401115:	83 c4 bc             	add    $0xffffffbc,%esp
401118:	bb 0a 00 00 00       	mov    $0xa,%ebx
40111d:	54                   	push   %esp
40111e:	e8 a1 ff ff ff       	call   0x4010c4
401123:	f6 44 24 2c 01       	testb  $0x1,0x2c(%esp)
401128:	74 05                	je     0x40112f
40112a:	0f b7 5c 24 30       	movzwl 0x30(%esp),%ebx
40112f:	8b c3                	mov    %ebx,%eax
401131:	83 c4 44             	add    $0x44,%esp
401134:	5b                   	pop    %ebx
401135:	c3                   	ret
401136:	8b c0                	mov    %eax,%eax
401138:	ff 25 e8 b1 42 00    	jmp    *0x42b1e8
40113e:	8b c0                	mov    %eax,%eax
401140:	ff 25 e4 b1 42 00    	jmp    *0x42b1e4
401146:	8b c0                	mov    %eax,%eax
401148:	ff 25 e0 b1 42 00    	jmp    *0x42b1e0
40114e:	8b c0                	mov    %eax,%eax
401150:	ff 25 dc b1 42 00    	jmp    *0x42b1dc
401156:	8b c0                	mov    %eax,%eax
401158:	ff 25 d8 b1 42 00    	jmp    *0x42b1d8
40115e:	8b c0                	mov    %eax,%eax
401160:	ff 25 d4 b1 42 00    	jmp    *0x42b1d4
401166:	8b c0                	mov    %eax,%eax
401168:	ff 25 d0 b1 42 00    	jmp    *0x42b1d0
40116e:	8b c0                	mov    %eax,%eax
401170:	ff 25 cc b1 42 00    	jmp    *0x42b1cc
401176:	8b c0                	mov    %eax,%eax
401178:	53                   	push   %ebx
401179:	83 c4 f4             	add    $0xfffffff4,%esp
40117c:	bb d0 95 42 00       	mov    $0x4295d0,%ebx
401181:	83 3b 00             	cmpl   $0x0,(%ebx)
401184:	75 59                	jne    0x4011df
401186:	68 44 06 00 00       	push   $0x644
40118b:	6a 00                	push   $0x0
40118d:	e8 a6 ff ff ff       	call   0x401138
401192:	89 44 24 08          	mov    %eax,0x8(%esp)
401196:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
40119b:	75 07                	jne    0x4011a4
40119d:	33 c0                	xor    %eax,%eax
40119f:	89 04 24             	mov    %eax,(%esp)
4011a2:	eb 50                	jmp    0x4011f4
4011a4:	8b 44 24 08          	mov    0x8(%esp),%eax
4011a8:	8b 15 cc 95 42 00    	mov    0x4295cc,%edx
4011ae:	89 10                	mov    %edx,(%eax)
4011b0:	8b 44 24 08          	mov    0x8(%esp),%eax
4011b4:	a3 cc 95 42 00       	mov    %eax,0x4295cc
4011b9:	33 c0                	xor    %eax,%eax
4011bb:	8b d0                	mov    %eax,%edx
4011bd:	03 d2                	add    %edx,%edx
4011bf:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4011c3:	8d 54 d1 04          	lea    0x4(%ecx,%edx,8),%edx
4011c7:	89 54 24 04          	mov    %edx,0x4(%esp)
4011cb:	8b 54 24 04          	mov    0x4(%esp),%edx
4011cf:	8b 0b                	mov    (%ebx),%ecx
4011d1:	89 0a                	mov    %ecx,(%edx)
4011d3:	8b 54 24 04          	mov    0x4(%esp),%edx
4011d7:	89 13                	mov    %edx,(%ebx)
4011d9:	40                   	inc    %eax
4011da:	83 f8 64             	cmp    $0x64,%eax
4011dd:	75 dc                	jne    0x4011bb
4011df:	8b 03                	mov    (%ebx),%eax
4011e1:	89 44 24 04          	mov    %eax,0x4(%esp)
4011e5:	8b 44 24 04          	mov    0x4(%esp),%eax
4011e9:	8b 00                	mov    (%eax),%eax
4011eb:	89 03                	mov    %eax,(%ebx)
4011ed:	8b 44 24 04          	mov    0x4(%esp),%eax
4011f1:	89 04 24             	mov    %eax,(%esp)
4011f4:	8b 04 24             	mov    (%esp),%eax
4011f7:	83 c4 0c             	add    $0xc,%esp
4011fa:	5b                   	pop    %ebx
4011fb:	c3                   	ret
4011fc:	89 00                	mov    %eax,(%eax)
4011fe:	89 40 04             	mov    %eax,0x4(%eax)
401201:	c3                   	ret
401202:	8b c0                	mov    %eax,%eax
401204:	53                   	push   %ebx
401205:	56                   	push   %esi
401206:	83 c4 f8             	add    $0xfffffff8,%esp
401209:	8b f2                	mov    %edx,%esi
40120b:	8b d8                	mov    %eax,%ebx
40120d:	e8 66 ff ff ff       	call   0x401178
401212:	89 44 24 04          	mov    %eax,0x4(%esp)
401216:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
40121b:	75 04                	jne    0x401221
40121d:	33 c0                	xor    %eax,%eax
40121f:	eb 3a                	jmp    0x40125b
401221:	8b 06                	mov    (%esi),%eax
401223:	8b 54 24 04          	mov    0x4(%esp),%edx
401227:	89 42 08             	mov    %eax,0x8(%edx)
40122a:	8b 46 04             	mov    0x4(%esi),%eax
40122d:	8b 54 24 04          	mov    0x4(%esp),%edx
401231:	89 42 0c             	mov    %eax,0xc(%edx)
401234:	8b 03                	mov    (%ebx),%eax
401236:	89 04 24             	mov    %eax,(%esp)
401239:	8b 44 24 04          	mov    0x4(%esp),%eax
40123d:	8b 14 24             	mov    (%esp),%edx
401240:	89 10                	mov    %edx,(%eax)
401242:	8b 44 24 04          	mov    0x4(%esp),%eax
401246:	89 58 04             	mov    %ebx,0x4(%eax)
401249:	8b 04 24             	mov    (%esp),%eax
40124c:	8b 54 24 04          	mov    0x4(%esp),%edx
401250:	89 50 04             	mov    %edx,0x4(%eax)
401253:	8b 44 24 04          	mov    0x4(%esp),%eax
401257:	89 03                	mov    %eax,(%ebx)
401259:	b0 01                	mov    $0x1,%al
40125b:	59                   	pop    %ecx
40125c:	5a                   	pop    %edx
40125d:	5e                   	pop    %esi
40125e:	5b                   	pop    %ebx
40125f:	c3                   	ret
401260:	83 c4 f8             	add    $0xfffffff8,%esp
401263:	8b 50 04             	mov    0x4(%eax),%edx
401266:	89 14 24             	mov    %edx,(%esp)
401269:	8b 10                	mov    (%eax),%edx
40126b:	89 54 24 04          	mov    %edx,0x4(%esp)
40126f:	8b 14 24             	mov    (%esp),%edx
401272:	8b 4c 24 04          	mov    0x4(%esp),%ecx
401276:	89 0a                	mov    %ecx,(%edx)
401278:	8b 54 24 04          	mov    0x4(%esp),%edx
40127c:	8b 0c 24             	mov    (%esp),%ecx
40127f:	89 4a 04             	mov    %ecx,0x4(%edx)
401282:	8b 15 d0 95 42 00    	mov    0x4295d0,%edx
401288:	89 10                	mov    %edx,(%eax)
40128a:	a3 d0 95 42 00       	mov    %eax,0x4295d0
40128f:	59                   	pop    %ecx
401290:	5a                   	pop    %edx
401291:	c3                   	ret
401292:	8b c0                	mov    %eax,%eax
401294:	53                   	push   %ebx
401295:	56                   	push   %esi
401296:	57                   	push   %edi
401297:	55                   	push   %ebp
401298:	83 c4 f8             	add    $0xfffffff8,%esp
40129b:	8b d9                	mov    %ecx,%ebx
40129d:	8b f0                	mov    %eax,%esi
40129f:	8b fc                	mov    %esp,%edi
4012a1:	8b 06                	mov    (%esi),%eax
4012a3:	89 07                	mov    %eax,(%edi)
4012a5:	8b 02                	mov    (%edx),%eax
4012a7:	89 03                	mov    %eax,(%ebx)
4012a9:	8b 42 04             	mov    0x4(%edx),%eax
4012ac:	89 43 04             	mov    %eax,0x4(%ebx)
4012af:	8b 07                	mov    (%edi),%eax
4012b1:	8b 00                	mov    (%eax),%eax
4012b3:	89 44 24 04          	mov    %eax,0x4(%esp)
4012b7:	8b 17                	mov    (%edi),%edx
4012b9:	8b 52 08             	mov    0x8(%edx),%edx
4012bc:	8b ca                	mov    %edx,%ecx
4012be:	8b 2f                	mov    (%edi),%ebp
4012c0:	03 4d 0c             	add    0xc(%ebp),%ecx
4012c3:	8b 03                	mov    (%ebx),%eax
4012c5:	3b c8                	cmp    %eax,%ecx
4012c7:	75 18                	jne    0x4012e1
4012c9:	8b 07                	mov    (%edi),%eax
4012cb:	e8 90 ff ff ff       	call   0x401260
4012d0:	8b 07                	mov    (%edi),%eax
4012d2:	8b 40 08             	mov    0x8(%eax),%eax
4012d5:	89 03                	mov    %eax,(%ebx)
4012d7:	8b 07                	mov    (%edi),%eax
4012d9:	8b 40 0c             	mov    0xc(%eax),%eax
4012dc:	01 43 04             	add    %eax,0x4(%ebx)
4012df:	eb 16                	jmp    0x4012f7
4012e1:	03 43 04             	add    0x4(%ebx),%eax
4012e4:	3b d0                	cmp    %eax,%edx
4012e6:	75 0f                	jne    0x4012f7
4012e8:	8b 07                	mov    (%edi),%eax
4012ea:	e8 71 ff ff ff       	call   0x401260
4012ef:	8b 07                	mov    (%edi),%eax
4012f1:	8b 40 0c             	mov    0xc(%eax),%eax
4012f4:	01 43 04             	add    %eax,0x4(%ebx)
4012f7:	8b 44 24 04          	mov    0x4(%esp),%eax
4012fb:	89 07                	mov    %eax,(%edi)
4012fd:	3b 37                	cmp    (%edi),%esi
4012ff:	75 ae                	jne    0x4012af
401301:	8b d3                	mov    %ebx,%edx
401303:	8b c6                	mov    %esi,%eax
401305:	e8 fa fe ff ff       	call   0x401204
40130a:	84 c0                	test   %al,%al
40130c:	75 04                	jne    0x401312
40130e:	33 c0                	xor    %eax,%eax
401310:	89 03                	mov    %eax,(%ebx)
401312:	59                   	pop    %ecx
401313:	5a                   	pop    %edx
401314:	5d                   	pop    %ebp
401315:	5f                   	pop    %edi
401316:	5e                   	pop    %esi
401317:	5b                   	pop    %ebx
401318:	c3                   	ret
401319:	8d 40 00             	lea    0x0(%eax),%eax
40131c:	53                   	push   %ebx
40131d:	56                   	push   %esi
40131e:	57                   	push   %edi
40131f:	55                   	push   %ebp
401320:	83 c4 f0             	add    $0xfffffff0,%esp
401323:	89 04 24             	mov    %eax,(%esp)
401326:	8b f4                	mov    %esp,%esi
401328:	8b 06                	mov    (%esi),%eax
40132a:	89 44 24 0c          	mov    %eax,0xc(%esp)
40132e:	8b 0a                	mov    (%edx),%ecx
401330:	8b 06                	mov    (%esi),%eax
401332:	8b 40 08             	mov    0x8(%eax),%eax
401335:	3b c8                	cmp    %eax,%ecx
401337:	0f 82 86 00 00 00    	jb     0x4013c3
40133d:	8b d8                	mov    %eax,%ebx
40133f:	8b 3e                	mov    (%esi),%edi
401341:	03 5f 0c             	add    0xc(%edi),%ebx
401344:	8b f9                	mov    %ecx,%edi
401346:	03 7a 04             	add    0x4(%edx),%edi
401349:	3b df                	cmp    %edi,%ebx
40134b:	72 76                	jb     0x4013c3
40134d:	3b c8                	cmp    %eax,%ecx
40134f:	75 21                	jne    0x401372
401351:	8b 42 04             	mov    0x4(%edx),%eax
401354:	8b 0e                	mov    (%esi),%ecx
401356:	01 41 08             	add    %eax,0x8(%ecx)
401359:	8b 42 04             	mov    0x4(%edx),%eax
40135c:	8b 16                	mov    (%esi),%edx
40135e:	29 42 0c             	sub    %eax,0xc(%edx)
401361:	8b 06                	mov    (%esi),%eax
401363:	83 78 0c 00          	cmpl   $0x0,0xc(%eax)
401367:	75 56                	jne    0x4013bf
401369:	8b 06                	mov    (%esi),%eax
40136b:	e8 f0 fe ff ff       	call   0x401260
401370:	eb 4d                	jmp    0x4013bf
401372:	8b d8                	mov    %eax,%ebx
401374:	8b 3e                	mov    (%esi),%edi
401376:	03 5f 0c             	add    0xc(%edi),%ebx
401379:	8b f9                	mov    %ecx,%edi
40137b:	03 7a 04             	add    0x4(%edx),%edi
40137e:	3b df                	cmp    %edi,%ebx
401380:	75 0a                	jne    0x40138c
401382:	8b 42 04             	mov    0x4(%edx),%eax
401385:	8b 16                	mov    (%esi),%edx
401387:	29 42 0c             	sub    %eax,0xc(%edx)
40138a:	eb 33                	jmp    0x4013bf
40138c:	8b 1a                	mov    (%edx),%ebx
40138e:	03 5a 04             	add    0x4(%edx),%ebx
401391:	89 5c 24 04          	mov    %ebx,0x4(%esp)
401395:	8b 3e                	mov    (%esi),%edi
401397:	8b 7f 08             	mov    0x8(%edi),%edi
40139a:	8b 2e                	mov    (%esi),%ebp
40139c:	03 7d 0c             	add    0xc(%ebp),%edi
40139f:	2b fb                	sub    %ebx,%edi
4013a1:	89 7c 24 08          	mov    %edi,0x8(%esp)
4013a5:	2b c8                	sub    %eax,%ecx
4013a7:	8b 06                	mov    (%esi),%eax
4013a9:	89 48 0c             	mov    %ecx,0xc(%eax)
4013ac:	8d 54 24 04          	lea    0x4(%esp),%edx
4013b0:	8b 06                	mov    (%esi),%eax
4013b2:	e8 4d fe ff ff       	call   0x401204
4013b7:	84 c0                	test   %al,%al
4013b9:	75 04                	jne    0x4013bf
4013bb:	33 c0                	xor    %eax,%eax
4013bd:	eb 18                	jmp    0x4013d7
4013bf:	b0 01                	mov    $0x1,%al
4013c1:	eb 14                	jmp    0x4013d7
4013c3:	8b 06                	mov    (%esi),%eax
4013c5:	8b 00                	mov    (%eax),%eax
4013c7:	89 06                	mov    %eax,(%esi)
4013c9:	8b 06                	mov    (%esi),%eax
4013cb:	3b 44 24 0c          	cmp    0xc(%esp),%eax
4013cf:	0f 85 59 ff ff ff    	jne    0x40132e
4013d5:	33 c0                	xor    %eax,%eax
4013d7:	83 c4 10             	add    $0x10,%esp
4013da:	5d                   	pop    %ebp
4013db:	5f                   	pop    %edi
4013dc:	5e                   	pop    %esi
4013dd:	5b                   	pop    %ebx
4013de:	c3                   	ret
4013df:	90                   	nop
4013e0:	53                   	push   %ebx
4013e1:	56                   	push   %esi