4030d2:	f3 27                	repz daa
4030d4:	bf a2 c8 5d dd       	mov    $0xdd5dc8a2,%edi
4030d9:	80 6e 9b 97          	subb   $0x97,-0x65(%esi)
4030dd:	20 8a 02 52 60 c4    	and    %cl,-0x3b9fadfe(%edx)
4030e3:	25 75 f0 59 d5       	and    $0xd559f075,%eax
4030e8:	6e                   	outsb  %ds:(%esi),(%dx)
4030e9:	62 11                	bound  %edx,(%ecx)
4030eb:	35 ae ca 7b c3       	xor    $0xc37bcaae,%eax
4030f0:	ff 25 b8 61 47 00    	jmp    *0x4761b8
4030f6:	8b c0                	mov    %eax,%eax
4030f8:	53                   	push   %ebx
4030f9:	33 db                	xor    %ebx,%ebx
4030fb:	6a 00                	push   $0x0
4030fd:	e8 ee ff ff ff       	call   0x4030f0
403102:	83 f8 07             	cmp    $0x7,%eax
403105:	75 1c                	jne    0x403123
403107:	6a 01                	push   $0x1
403109:	e8 e2 ff ff ff       	call   0x4030f0
40310e:	25 00 ff 00 00       	and    $0xff00,%eax
403113:	3d 00 0d 00 00       	cmp    $0xd00,%eax
403118:	74 07                	je     0x403121
40311a:	3d 00 04 00 00       	cmp    $0x400,%eax
40311f:	75 02                	jne    0x403123
403121:	b3 01                	mov    $0x1,%bl
403123:	8b c3                	mov    %ebx,%eax
403125:	5b                   	pop    %ebx
403126:	c3                   	ret
403127:	90                   	nop
403128:	55                   	push   %ebp
403129:	8b ec                	mov    %esp,%ebp
40312b:	83 c4 f4             	add    $0xfffffff4,%esp
40312e:	0f b7 05 20 90 46 00 	movzwl 0x469020,%eax
403135:	89 45 f8             	mov    %eax,-0x8(%ebp)
403138:	8d 45 fc             	lea    -0x4(%ebp),%eax
40313b:	50                   	push   %eax
40313c:	6a 01                	push   $0x1
40313e:	6a 00                	push   $0x0
403140:	68 c0 31 40 00       	push   $0x4031c0
403145:	68 02 00 00 80       	push   $0x80000002
40314a:	e8 9d e1 ff ff       	call   0x4012ec
40314f:	85 c0                	test   %eax,%eax
403151:	75 4d                	jne    0x4031a0
403153:	33 c0                	xor    %eax,%eax
403155:	55                   	push   %ebp
403156:	68 99 31 40 00       	push   $0x403199
40315b:	64 ff 30             	push   %fs:(%eax)
40315e:	64 89 20             	mov    %esp,%fs:(%eax)
403161:	c7 45 f4 04 00 00 00 	movl   $0x4,-0xc(%ebp)
403168:	8d 45 f4             	lea    -0xc(%ebp),%eax
40316b:	50                   	push   %eax
40316c:	8d 45 f8             	lea    -0x8(%ebp),%eax
40316f:	50                   	push   %eax
403170:	6a 00                	push   $0x0
403172:	6a 00                	push   $0x0
403174:	68 dc 31 40 00       	push   $0x4031dc
403179:	8b 45 fc             	mov    -0x4(%ebp),%eax
40317c:	50                   	push   %eax
40317d:	e8 72 e1 ff ff       	call   0x4012f4
403182:	33 c0                	xor    %eax,%eax
403184:	5a                   	pop    %edx
403185:	59                   	pop    %ecx
403186:	59                   	pop    %ecx
403187:	64 89 10             	mov    %edx,%fs:(%eax)
40318a:	68 a0 31 40 00       	push   $0x4031a0
40318f:	8b 45 fc             	mov    -0x4(%ebp),%eax
403192:	50                   	push   %eax
403193:	e8 4c e1 ff ff       	call   0x4012e4
403198:	c3                   	ret
403199:	e9 b6 08 00 00       	jmp    0x403a54
40319e:	eb ef                	jmp    0x40318f
4031a0:	66 a1 20 90 46 00    	mov    0x469020,%ax
4031a6:	66 25 c0 ff          	and    $0xffc0,%ax
4031aa:	66 8b 55 f8          	mov    -0x8(%ebp),%dx
4031ae:	66 83 e2 3f          	and    $0x3f,%dx
4031b2:	66 0b c2             	or     %dx,%ax
4031b5:	66 a3 20 90 46 00    	mov    %ax,0x469020
4031bb:	8b e5                	mov    %ebp,%esp
4031bd:	5d                   	pop    %ebp
4031be:	c3                   	ret
4031bf:	00 53 4f             	add    %dl,0x4f(%ebx)
4031c2:	46                   	inc    %esi
4031c3:	54                   	push   %esp
4031c4:	57                   	push   %edi
4031c5:	41                   	inc    %ecx
4031c6:	52                   	push   %edx
4031c7:	45                   	inc    %ebp
4031c8:	5c                   	pop    %esp
4031c9:	42                   	inc    %edx
4031ca:	6f                   	outsl  %ds:(%esi),(%dx)
4031cb:	72 6c                	jb     0x403239
4031cd:	61                   	popa
4031ce:	6e                   	outsb  %ds:(%esi),(%dx)
4031cf:	64 5c                	fs pop %esp
4031d1:	44                   	inc    %esp
4031d2:	65 6c                	gs insb (%dx),%es:(%edi)
4031d4:	70 68                	jo     0x40323e
4031d6:	69 5c 52 54 4c 00 46 	imul   $0x5046004c,0x54(%edx,%edx,2),%ebx
4031dd:	50
4031de:	55                   	push   %ebp
4031df:	4d                   	dec    %ebp
4031e0:	61                   	popa
4031e1:	73 6b                	jae    0x40324e
4031e3:	56                   	push   %esi
4031e4:	61                   	popa
4031e5:	6c                   	insb   (%dx),%es:(%edi)
4031e6:	75 65                	jne    0x40324d
4031e8:	00 00                	add    %al,(%eax)
4031ea:	00 00                	add    %al,(%eax)
4031ec:	db e3                	fninit
4031ee:	9b d9 2d 20 90 46 00 	fldcw  0x469020
4031f5:	c3                   	ret
4031f6:	8b c0                	mov    %eax,%eax
4031f8:	b0 04                	mov    $0x4,%al
4031fa:	e9 51 f6 ff ff       	jmp    0x402850
4031ff:	c3                   	ret
403200:	b0 05                	mov    $0x5,%al
403202:	e9 49 f6 ff ff       	jmp    0x402850
403207:	c3                   	ret
403208:	8b 00                	mov    (%eax),%eax
40320a:	89 c2                	mov    %eax,%edx
40320c:	8b c2                	mov    %edx,%eax
40320e:	c3                   	ret
40320f:	90                   	nop
403210:	56                   	push   %esi
403211:	57                   	push   %edi
403212:	89 d7                	mov    %edx,%edi
403214:	8b 70 d4             	mov    -0x2c(%eax),%esi
403217:	31 c9                	xor    %ecx,%ecx
403219:	8a 0e                	mov    (%esi),%cl
40321b:	41                   	inc    %ecx
40321c:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
40321e:	5f                   	pop    %edi
40321f:	5e                   	pop    %esi
403220:	c3                   	ret
403221:	8d 40 00             	lea    0x0(%eax),%eax
403224:	53                   	push   %ebx
403225:	31 db                	xor    %ebx,%ebx
403227:	09 d2                	or     %edx,%edx
403229:	74 1c                	je     0x403247
40322b:	8b 40 d4             	mov    -0x2c(%eax),%eax
40322e:	31 c9                	xor    %ecx,%ecx
403230:	8a 08                	mov    (%eax),%cl
403232:	3b 4a fc             	cmp    -0x4(%edx),%ecx
403235:	75 10                	jne    0x403247
403237:	4a                   	dec    %edx
403238:	8a 3c 01             	mov    (%ecx,%eax,1),%bh
40323b:	32 3c 11             	xor    (%ecx,%edx,1),%bh
40323e:	80 e7 df             	and    $0xdf,%bh
403241:	75 04                	jne    0x403247
403243:	49                   	dec    %ecx
403244:	75 f2                	jne    0x403238
403246:	43                   	inc    %ebx
403247:	88 d8                	mov    %bl,%al
403249:	5b                   	pop    %ebx
40324a:	c3                   	ret
40324b:	90                   	nop
40324c:	8b 40 dc             	mov    -0x24(%eax),%eax
40324f:	85 c0                	test   %eax,%eax
403251:	74 02                	je     0x403255
403253:	8b 00                	mov    (%eax),%eax
403255:	c3                   	ret
403256:	8b c0                	mov    %eax,%eax
403258:	53                   	push   %ebx
403259:	8b d8                	mov    %eax,%ebx
40325b:	8b c3                	mov    %ebx,%eax
40325d:	e8 26 00 00 00       	call   0x403288
403262:	e8 8d f4 ff ff       	call   0x4026f4
403267:	8b d0                	mov    %eax,%edx
403269:	8b c3                	mov    %ebx,%eax
40326b:	e8 5c 00 00 00       	call   0x4032cc
403270:	5b                   	pop    %ebx
403271:	c3                   	ret
403272:	8b c0                	mov    %eax,%eax
403274:	53                   	push   %ebx
403275:	8b d8                	mov    %eax,%ebx
403277:	8b c3                	mov    %ebx,%eax
403279:	e8 a6 00 00 00       	call   0x403324
40327e:	8b c3                	mov    %ebx,%eax
403280:	e8 8f f4 ff ff       	call   0x402714
403285:	5b                   	pop    %ebx
403286:	c3                   	ret
403287:	90                   	nop
403288:	83 c0 d8             	add    $0xffffffd8,%eax
40328b:	8b 00                	mov    (%eax),%eax
40328d:	c3                   	ret
40328e:	8b c0                	mov    %eax,%eax
403290:	84 d2                	test   %dl,%dl
403292:	74 08                	je     0x40329c
403294:	83 c4 f0             	add    $0xfffffff0,%esp
403297:	e8 88 03 00 00       	call   0x403624
40329c:	84 d2                	test   %dl,%dl
40329e:	74 0f                	je     0x4032af
4032a0:	e8 d7 03 00 00       	call   0x40367c
4032a5:	64 8f 05 00 00 00 00 	pop    %fs:0x0
4032ac:	83 c4 0c             	add    $0xc,%esp
4032af:	c3                   	ret
4032b0:	e8 d7 03 00 00       	call   0x40368c
4032b5:	84 d2                	test   %dl,%dl
4032b7:	7e 05                	jle    0x4032be
4032b9:	e8 b6 03 00 00       	call   0x403674
4032be:	c3                   	ret
4032bf:	90                   	nop
4032c0:	85 c0                	test   %eax,%eax
4032c2:	74 07                	je     0x4032cb
4032c4:	b2 01                	mov    $0x1,%dl
4032c6:	8b 08                	mov    (%eax),%ecx
4032c8:	ff 51 fc             	call   *-0x4(%ecx)
4032cb:	c3                   	ret
4032cc:	53                   	push   %ebx
4032cd:	56                   	push   %esi
4032ce:	57                   	push   %edi
4032cf:	89 c3                	mov    %eax,%ebx
4032d1:	89 d7                	mov    %edx,%edi
4032d3:	ab                   	stos   %eax,%es:(%edi)
4032d4:	8b 4b d8             	mov    -0x28(%ebx),%ecx
4032d7:	31 c0                	xor    %eax,%eax
4032d9:	51                   	push   %ecx
4032da:	c1 e9 02             	shr    $0x2,%ecx
4032dd:	49                   	dec    %ecx
4032de:	f3 ab                	rep stos %eax,%es:(%edi)
4032e0:	59                   	pop    %ecx
4032e1:	83 e1 03             	and    $0x3,%ecx
4032e4:	f3 aa                	rep stos %al,%es:(%edi)
4032e6:	89 d0                	mov    %edx,%eax
4032e8:	89 e2                	mov    %esp,%edx
4032ea:	8b 4b b8             	mov    -0x48(%ebx),%ecx
4032ed:	85 c9                	test   %ecx,%ecx
4032ef:	74 01                	je     0x4032f2
4032f1:	51                   	push   %ecx
4032f2:	8b 5b dc             	mov    -0x24(%ebx),%ebx
4032f5:	85 db                	test   %ebx,%ebx
4032f7:	74 04                	je     0x4032fd
4032f9:	8b 1b                	mov    (%ebx),%ebx
4032fb:	eb ed                	jmp    0x4032ea
4032fd:	39 d4                	cmp    %edx,%esp
4032ff:	74 1d                	je     0x40331e
403301:	5b                   	pop    %ebx
403302:	8b 0b                	mov    (%ebx),%ecx
403304:	83 c3 04             	add    $0x4,%ebx
403307:	8b 73 10             	mov    0x10(%ebx),%esi
40330a:	85 f6                	test   %esi,%esi
40330c:	74 06                	je     0x403314
40330e:	8b 7b 14             	mov    0x14(%ebx),%edi
403311:	89 34 07             	mov    %esi,(%edi,%eax,1)
403314:	83 c3 1c             	add    $0x1c,%ebx
403317:	49                   	dec    %ecx
403318:	75 ed                	jne    0x403307
40331a:	39 d4                	cmp    %edx,%esp
40331c:	75 e3                	jne    0x403301
40331e:	5f                   	pop    %edi
40331f:	5e                   	pop    %esi
403320:	5b                   	pop    %ebx
403321:	c3                   	ret
403322:	8b c0                	mov    %eax,%eax
403324:	53                   	push   %ebx
403325:	56                   	push   %esi
403326:	89 c3                	mov    %eax,%ebx
403328:	89 c6                	mov    %eax,%esi
40332a:	8b 36                	mov    (%esi),%esi
40332c:	8b 56 c0             	mov    -0x40(%esi),%edx
40332f:	8b 76 dc             	mov    -0x24(%esi),%esi
403332:	85 d2                	test   %edx,%edx
403334:	74 07                	je     0x40333d
403336:	e8 51 17 00 00       	call   0x404a8c
40333b:	89 d8                	mov    %ebx,%eax
40333d:	85 f6                	test   %esi,%esi
40333f:	75 e9                	jne    0x40332a
403341:	5e                   	pop    %esi
403342:	5b                   	pop    %ebx
403343:	c3                   	ret
403344:	87 d1                	xchg   %edx,%ecx
403346:	81 f9 00 00 00 ff    	cmp    $0xff000000,%ecx
40334c:	73 11                	jae    0x40335f
40334e:	81 f9 00 00 00 fe    	cmp    $0xfe000000,%ecx
403354:	72 07                	jb     0x40335d
403356:	0f bf c9             	movswl %cx,%ecx
403359:	03 08                	add    (%eax),%ecx
40335b:	ff 21                	jmp    *(%ecx)
40335d:	ff e1                	jmp    *%ecx
40335f:	81 e1 ff ff ff 00    	and    $0xffffff,%ecx
403365:	01 c1                	add    %eax,%ecx
403367:	89 d0                	mov    %edx,%eax
403369:	8b 11                	mov    (%ecx),%edx
40336b:	e9 c8 25 00 00       	jmp    0x405938
403370:	c3                   	ret
403371:	8d 40 00             	lea    0x0(%eax),%eax
403374:	55                   	push   %ebp
403375:	8b ec                	mov    %esp,%ebp
403377:	83 c4 f8             	add    $0xfffffff8,%esp
40337a:	53                   	push   %ebx
40337b:	56                   	push   %esi
40337c:	57                   	push   %edi
40337d:	33 db                	xor    %ebx,%ebx
40337f:	89 5d f8             	mov    %ebx,-0x8(%ebp)
403382:	8b f1                	mov    %ecx,%esi
403384:	89 55 fc             	mov    %edx,-0x4(%ebp)
403387:	8b f8                	mov    %eax,%edi
403389:	33 c0                	xor    %eax,%eax
40338b:	55                   	push   %ebp
40338c:	68 f8 33 40 00       	push   $0x4033f8
403391:	64 ff 30             	push   %fs:(%eax)
403394:	64 89 20             	mov    %esp,%fs:(%eax)
403397:	33 c0                	xor    %eax,%eax
403399:	89 06                	mov    %eax,(%esi)
40339b:	8b 55 fc             	mov    -0x4(%ebp),%edx
40339e:	8b 07                	mov    (%edi),%eax
4033a0:	e8 63 00 00 00       	call   0x403408
4033a5:	8b d8                	mov    %eax,%ebx
4033a7:	85 db                	test   %ebx,%ebx
4033a9:	74 31                	je     0x4033dc
4033ab:	8b 43 14             	mov    0x14(%ebx),%eax
4033ae:	85 c0                	test   %eax,%eax
4033b0:	74 13                	je     0x4033c5
4033b2:	03 f8                	add    %eax,%edi
4033b4:	89 3e                	mov    %edi,(%esi)
4033b6:	83 3e 00             	cmpl   $0x0,(%esi)
4033b9:	74 21                	je     0x4033dc
4033bb:	8b 06                	mov    (%esi),%eax
4033bd:	50                   	push   %eax
4033be:	8b 00                	mov    (%eax),%eax
4033c0:	ff 50 04             	call   *0x4(%eax)
4033c3:	eb 17                	jmp    0x4033dc
4033c5:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4033c8:	8b 53 18             	mov    0x18(%ebx),%edx
4033cb:	8b c7                	mov    %edi,%eax
4033cd:	e8 72 ff ff ff       	call   0x403344
4033d2:	8b 55 f8             	mov    -0x8(%ebp),%edx
4033d5:	8b c6                	mov    %esi,%eax
4033d7:	e8 5c 25 00 00       	call   0x405938
4033dc:	83 3e 00             	cmpl   $0x0,(%esi)
4033df:	0f 95 c3             	setne  %bl
4033e2:	33 c0                	xor    %eax,%eax
4033e4:	5a                   	pop    %edx
4033e5:	59                   	pop    %ecx
4033e6:	59                   	pop    %ecx
4033e7:	64 89 10             	mov    %edx,%fs:(%eax)
4033ea:	68 ff 33 40 00       	push   $0x4033ff
4033ef:	8d 45 f8             	lea    -0x8(%ebp),%eax
4033f2:	e8 29 25 00 00       	call   0x405920
4033f7:	c3                   	ret
4033f8:	e9 57 06 00 00       	jmp    0x403a54
4033fd:	eb f0                	jmp    0x4033ef
4033ff:	8b c3                	mov    %ebx,%eax
403401:	5f                   	pop    %edi
403402:	5e                   	pop    %esi
403403:	5b                   	pop    %ebx
403404:	59                   	pop    %ecx
403405:	59                   	pop    %ecx
403406:	5d                   	pop    %ebp
403407:	c3                   	ret