452fdb:	00 02                	add    %al,(%edx)
452fdd:	00 00                	add    %al,(%eax)
452fdf:	00 55 8b             	add    %dl,-0x75(%ebp)
452fe2:	ec                   	in     (%dx),%al
452fe3:	83 c4 f4             	add    $0xfffffff4,%esp
452fe6:	53                   	push   %ebx
452fe7:	56                   	push   %esi
452fe8:	89 45 f8             	mov    %eax,-0x8(%ebp)
452feb:	8b 45 f8             	mov    -0x8(%ebp),%eax
452fee:	8b 58 04             	mov    0x4(%eax),%ebx
452ff1:	80 bb 10 02 00 00 00 	cmpb   $0x0,0x210(%ebx)
452ff8:	0f 84 87 00 00 00    	je     0x453085
452ffe:	8b c3                	mov    %ebx,%eax
453000:	8b 10                	mov    (%eax),%edx
453002:	ff 92 c8 00 00 00    	call   *0xc8(%edx)
453008:	84 c0                	test   %al,%al
45300a:	74 6f                	je     0x45307b
45300c:	33 c0                	xor    %eax,%eax
45300e:	89 45 fc             	mov    %eax,-0x4(%ebp)
453011:	33 c0                	xor    %eax,%eax
453013:	89 45 f4             	mov    %eax,-0xc(%ebp)
453016:	8b 45 f8             	mov    -0x8(%ebp),%eax
453019:	8b 40 04             	mov    0x4(%eax),%eax
45301c:	e8 e3 c4 fe ff       	call   0x43f504
453021:	8b d8                	mov    %eax,%ebx
453023:	4b                   	dec    %ebx
453024:	85 db                	test   %ebx,%ebx
453026:	7c 3a                	jl     0x453062
453028:	43                   	inc    %ebx
453029:	33 f6                	xor    %esi,%esi
45302b:	8b 45 f8             	mov    -0x8(%ebp),%eax
45302e:	80 78 18 00          	cmpb   $0x0,0x18(%eax)
453032:	75 16                	jne    0x45304a
453034:	55                   	push   %ebp
453035:	8b 45 f8             	mov    -0x8(%ebp),%eax
453038:	8b 40 04             	mov    0x4(%eax),%eax
45303b:	8b d6                	mov    %esi,%edx
45303d:	e8 86 c4 fe ff       	call   0x43f4c8
453042:	e8 c5 fe ff ff       	call   0x452f0c
453047:	59                   	pop    %ecx
453048:	eb 14                	jmp    0x45305e
45304a:	55                   	push   %ebp
45304b:	8b 45 f8             	mov    -0x8(%ebp),%eax
45304e:	8b 40 04             	mov    0x4(%eax),%eax
453051:	8b d6                	mov    %esi,%edx
453053:	e8 70 c4 fe ff       	call   0x43f4c8
453058:	e8 1b ff ff ff       	call   0x452f78
45305d:	59                   	pop    %ecx
45305e:	46                   	inc    %esi
45305f:	4b                   	dec    %ebx
453060:	75 c9                	jne    0x45302b
453062:	8b 55 fc             	mov    -0x4(%ebp),%edx
453065:	03 55 f4             	add    -0xc(%ebp),%edx
453068:	8b 45 f8             	mov    -0x8(%ebp),%eax
45306b:	0f b7 40 1a          	movzwl 0x1a(%eax),%eax
45306f:	03 d0                	add    %eax,%edx
453071:	8b 45 f8             	mov    -0x8(%ebp),%eax
453074:	e8 9b 06 00 00       	call   0x453714
453079:	eb 0a                	jmp    0x453085
45307b:	33 d2                	xor    %edx,%edx
45307d:	8b 45 f8             	mov    -0x8(%ebp),%eax
453080:	e8 8f 06 00 00       	call   0x453714
453085:	5e                   	pop    %esi
453086:	5b                   	pop    %ebx
453087:	8b e5                	mov    %ebp,%esp
453089:	5d                   	pop    %ebp
45308a:	c3                   	ret
45308b:	90                   	nop
45308c:	53                   	push   %ebx
45308d:	56                   	push   %esi
45308e:	8b d8                	mov    %eax,%ebx
453090:	be 00 00 10 00       	mov    $0x100000,%esi
453095:	80 7b 18 01          	cmpb   $0x1,0x18(%ebx)
453099:	75 05                	jne    0x4530a0
45309b:	be 00 00 20 00       	mov    $0x200000,%esi
4530a0:	80 7b 1c 00          	cmpb   $0x0,0x1c(%ebx)
4530a4:	74 14                	je     0x4530ba
4530a6:	6a f0                	push   $0xfffffff0
4530a8:	8b 43 04             	mov    0x4(%ebx),%eax
4530ab:	e8 b8 f6 fe ff       	call   0x442768
4530b0:	50                   	push   %eax
4530b1:	e8 1a 3d fb ff       	call   0x406dd0
4530b6:	85 f0                	test   %esi,%eax
4530b8:	75 05                	jne    0x4530bf
4530ba:	33 c0                	xor    %eax,%eax
4530bc:	5e                   	pop    %esi
4530bd:	5b                   	pop    %ebx
4530be:	c3                   	ret
4530bf:	b0 01                	mov    $0x1,%al
4530c1:	5e                   	pop    %esi
4530c2:	5b                   	pop    %ebx
4530c3:	c3                   	ret
4530c4:	55                   	push   %ebp
4530c5:	8b ec                	mov    %esp,%ebp
4530c7:	53                   	push   %ebx
4530c8:	bb 00 00 10 00       	mov    $0x100000,%ebx
4530cd:	66 83 f8 01          	cmp    $0x1,%ax
4530d1:	75 05                	jne    0x4530d8
4530d3:	bb 00 00 20 00       	mov    $0x200000,%ebx
4530d8:	6a f0                	push   $0xfffffff0
4530da:	8b 45 08             	mov    0x8(%ebp),%eax
4530dd:	8b 40 fc             	mov    -0x4(%eax),%eax
4530e0:	8b 40 04             	mov    0x4(%eax),%eax
4530e3:	e8 80 f6 fe ff       	call   0x442768
4530e8:	50                   	push   %eax
4530e9:	e8 e2 3c fb ff       	call   0x406dd0
4530ee:	85 d8                	test   %ebx,%eax
4530f0:	0f 95 c0             	setne  %al
4530f3:	5b                   	pop    %ebx
4530f4:	5d                   	pop    %ebp
4530f5:	c3                   	ret
4530f6:	8b c0                	mov    %eax,%eax
4530f8:	55                   	push   %ebp
4530f9:	8b ec                	mov    %esp,%ebp
4530fb:	53                   	push   %ebx
4530fc:	56                   	push   %esi
4530fd:	57                   	push   %edi
4530fe:	8b fa                	mov    %edx,%edi
453100:	8b f0                	mov    %eax,%esi
453102:	33 db                	xor    %ebx,%ebx
453104:	8b 45 08             	mov    0x8(%ebp),%eax
453107:	80 78 fb 00          	cmpb   $0x0,-0x5(%eax)
45310b:	75 60                	jne    0x45316d
45310d:	8b 45 08             	mov    0x8(%ebp),%eax
453110:	80 78 fa 00          	cmpb   $0x0,-0x6(%eax)
453114:	74 29                	je     0x45313f
453116:	8b 45 08             	mov    0x8(%ebp),%eax
453119:	50                   	push   %eax
45311a:	8b c6                	mov    %esi,%eax
45311c:	e8 a3 ff ff ff       	call   0x4530c4
453121:	59                   	pop    %ecx
453122:	84 c0                	test   %al,%al
453124:	75 19                	jne    0x45313f
453126:	0f b7 c7             	movzwl %di,%eax
453129:	50                   	push   %eax
45312a:	a1 fc b0 49 00       	mov    0x49b0fc,%eax
45312f:	8b 00                	mov    (%eax),%eax
453131:	ff d0                	call   *%eax
453133:	8b d8                	mov    %eax,%ebx
453135:	8b 45 08             	mov    0x8(%ebp),%eax
453138:	2b 58 f4             	sub    -0xc(%eax),%ebx
45313b:	f7 db                	neg    %ebx
45313d:	eb 2e                	jmp    0x45316d
45313f:	8b 45 08             	mov    0x8(%ebp),%eax
453142:	80 78 fa 00          	cmpb   $0x0,-0x6(%eax)
453146:	75 25                	jne    0x45316d
453148:	8b 45 08             	mov    0x8(%ebp),%eax
45314b:	50                   	push   %eax
45314c:	8b c6                	mov    %esi,%eax
45314e:	e8 71 ff ff ff       	call   0x4530c4
453153:	59                   	pop    %ecx
453154:	84 c0                	test   %al,%al
453156:	74 15                	je     0x45316d
453158:	0f b7 c7             	movzwl %di,%eax
45315b:	50                   	push   %eax
45315c:	a1 fc b0 49 00       	mov    0x49b0fc,%eax
453161:	8b 00                	mov    (%eax),%eax
453163:	ff d0                	call   *%eax
453165:	8b d8                	mov    %eax,%ebx
453167:	8b 45 08             	mov    0x8(%ebp),%eax
45316a:	2b 58 f4             	sub    -0xc(%eax),%ebx
45316d:	8b c3                	mov    %ebx,%eax
45316f:	5f                   	pop    %edi
453170:	5e                   	pop    %esi
453171:	5b                   	pop    %ebx
453172:	5d                   	pop    %ebp
453173:	c3                   	ret
453174:	55                   	push   %ebp
453175:	8b ec                	mov    %esp,%ebp
453177:	83 c4 f4             	add    $0xfffffff4,%esp
45317a:	53                   	push   %ebx
45317b:	88 4d fa             	mov    %cl,-0x6(%ebp)
45317e:	88 55 fb             	mov    %dl,-0x5(%ebp)
453181:	89 45 fc             	mov    %eax,-0x4(%ebp)
453184:	6a f0                	push   $0xfffffff0
453186:	8b 45 fc             	mov    -0x4(%ebp),%eax
453189:	8b 40 04             	mov    0x4(%eax),%eax
45318c:	e8 d7 f5 fe ff       	call   0x442768
453191:	50                   	push   %eax
453192:	e8 39 3c fb ff       	call   0x406dd0
453197:	a9 00 00 84 00       	test   $0x840000,%eax
45319c:	0f 95 c0             	setne  %al
45319f:	83 e0 7f             	and    $0x7f,%eax
4531a2:	89 45 f4             	mov    %eax,-0xc(%ebp)
4531a5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4531a8:	80 78 18 01          	cmpb   $0x1,0x18(%eax)
4531ac:	75 20                	jne    0x4531ce
4531ae:	55                   	push   %ebp
4531af:	66 ba 15 00          	mov    $0x15,%dx
4531b3:	33 c0                	xor    %eax,%eax
4531b5:	e8 3e ff ff ff       	call   0x4530f8
4531ba:	59                   	pop    %ecx
4531bb:	8b d8                	mov    %eax,%ebx
4531bd:	8b 45 fc             	mov    -0x4(%ebp),%eax
4531c0:	8b 40 04             	mov    0x4(%eax),%eax
4531c3:	e8 88 88 fe ff       	call   0x43ba50
4531c8:	03 d8                	add    %eax,%ebx
4531ca:	8b c3                	mov    %ebx,%eax
4531cc:	eb 20                	jmp    0x4531ee
4531ce:	55                   	push   %ebp
4531cf:	66 ba 14 00          	mov    $0x14,%dx
4531d3:	66 b8 01 00          	mov    $0x1,%ax
4531d7:	e8 1c ff ff ff       	call   0x4530f8
4531dc:	59                   	pop    %ecx
4531dd:	8b d8                	mov    %eax,%ebx
4531df:	8b 45 fc             	mov    -0x4(%ebp),%eax
4531e2:	8b 40 04             	mov    0x4(%eax),%eax
4531e5:	e8 22 88 fe ff       	call   0x43ba0c
4531ea:	03 d8                	add    %eax,%ebx
4531ec:	8b c3                	mov    %ebx,%eax
4531ee:	5b                   	pop    %ebx
4531ef:	8b e5                	mov    %ebp,%esp
4531f1:	5d                   	pop    %ebp
4531f2:	c3                   	ret
4531f3:	90                   	nop
4531f4:	53                   	push   %ebx
4531f5:	8b d8                	mov    %eax,%ebx
4531f7:	33 c9                	xor    %ecx,%ecx
4531f9:	33 d2                	xor    %edx,%edx
4531fb:	8b c3                	mov    %ebx,%eax
4531fd:	e8 72 ff ff ff       	call   0x453174
453202:	3b 43 10             	cmp    0x10(%ebx),%eax
453205:	0f 9c c0             	setl   %al
453208:	5b                   	pop    %ebx
453209:	c3                   	ret
45320a:	8b c0                	mov    %eax,%eax
45320c:	55                   	push   %ebp
45320d:	8b ec                	mov    %esp,%ebp
45320f:	83 c4 e4             	add    $0xffffffe4,%esp
453212:	53                   	push   %ebx
453213:	56                   	push   %esi
453214:	c7 45 e4 1c 00 00 00 	movl   $0x1c,-0x1c(%ebp)
45321b:	c7 45 e8 10 00 00 00 	movl   $0x10,-0x18(%ebp)
453222:	33 db                	xor    %ebx,%ebx
453224:	8b 45 08             	mov    0x8(%ebp),%eax
453227:	8b 40 fc             	mov    -0x4(%eax),%eax
45322a:	80 78 18 01          	cmpb   $0x1,0x18(%eax)
45322e:	75 05                	jne    0x453235
453230:	bb 01 00 00 00       	mov    $0x1,%ebx
453235:	8b 45 08             	mov    0x8(%ebp),%eax
453238:	8b 70 f8             	mov    -0x8(%eax),%esi
45323b:	0f bf 76 06          	movswl 0x6(%esi),%esi
45323f:	8d 45 e4             	lea    -0x1c(%ebp),%eax
453242:	50                   	push   %eax
453243:	53                   	push   %ebx
453244:	8b 45 08             	mov    0x8(%ebp),%eax
453247:	8b 40 fc             	mov    -0x4(%eax),%eax
45324a:	8b 40 04             	mov    0x4(%eax),%eax
45324d:	e8 16 f5 fe ff       	call   0x442768
453252:	50                   	push   %eax
453253:	a1 88 af 49 00       	mov    0x49af88,%eax
453258:	8b 00                	mov    (%eax),%eax
45325a:	ff d0                	call   *%eax
45325c:	85 c0                	test   %eax,%eax
45325e:	74 03                	je     0x453263
453260:	8b 75 fc             	mov    -0x4(%ebp),%esi
453263:	8b c6                	mov    %esi,%eax
453265:	5e                   	pop    %esi
453266:	5b                   	pop    %ebx
453267:	8b e5                	mov    %ebp,%esp
453269:	5d                   	pop    %ebp
45326a:	c3                   	ret
45326b:	90                   	nop
45326c:	55                   	push   %ebp
45326d:	8b ec                	mov    %esp,%ebp
45326f:	83 c4 f0             	add    $0xfffffff0,%esp
453272:	53                   	push   %ebx
453273:	56                   	push   %esi
453274:	57                   	push   %edi
453275:	89 55 f8             	mov    %edx,-0x8(%ebp)
453278:	89 45 fc             	mov    %eax,-0x4(%ebp)
45327b:	8b 45 fc             	mov    -0x4(%ebp),%eax
45327e:	80 78 1f 00          	cmpb   $0x0,0x1f(%eax)
453282:	0f 84 9e 01 00 00    	je     0x453426
453288:	8b 45 f8             	mov    -0x8(%ebp),%eax
45328b:	66 8b 40 04          	mov    0x4(%eax),%ax
45328f:	66 83 e8 04          	sub    $0x4,%ax
453293:	0f 83 8d 01 00 00    	jae    0x453426
453299:	8b 45 f8             	mov    -0x8(%ebp),%eax
45329c:	66 8b 40 04          	mov    0x4(%eax),%ax
4532a0:	66 83 e8 02          	sub    $0x2,%ax
4532a4:	72 08                	jb     0x4532ae
4532a6:	66 83 e8 02          	sub    $0x2,%ax
4532aa:	72 23                	jb     0x4532cf
4532ac:	eb 47                	jmp    0x4532f5
4532ae:	8b 45 fc             	mov    -0x4(%ebp),%eax
4532b1:	0f b7 58 08          	movzwl 0x8(%eax),%ebx
4532b5:	8b c3                	mov    %ebx,%eax
4532b7:	8b 55 fc             	mov    -0x4(%ebp),%edx
4532ba:	8b 4a 40             	mov    0x40(%edx),%ecx
4532bd:	99                   	cltd
4532be:	f7 f9                	idiv   %ecx
4532c0:	89 45 f4             	mov    %eax,-0xc(%ebp)
4532c3:	8b c3                	mov    %ebx,%eax
4532c5:	99                   	cltd
4532c6:	f7 f9                	idiv   %ecx
4532c8:	89 55 f0             	mov    %edx,-0x10(%ebp)
4532cb:	8b f1                	mov    %ecx,%esi
4532cd:	eb 32                	jmp    0x453301
4532cf:	8b 45 fc             	mov    -0x4(%ebp),%eax
4532d2:	0f b7 40 0a          	movzwl 0xa(%eax),%eax
4532d6:	89 45 f4             	mov    %eax,-0xc(%ebp)
4532d9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4532dc:	8b 48 3c             	mov    0x3c(%eax),%ecx
4532df:	8b 45 f4             	mov    -0xc(%ebp),%eax
4532e2:	99                   	cltd
4532e3:	f7 f9                	idiv   %ecx
4532e5:	89 55 f0             	mov    %edx,-0x10(%ebp)
4532e8:	8b 45 f4             	mov    -0xc(%ebp),%eax
4532eb:	99                   	cltd
4532ec:	f7 f9                	idiv   %ecx
4532ee:	89 45 f4             	mov    %eax,-0xc(%ebp)
4532f1:	8b f1                	mov    %ecx,%esi
4532f3:	eb 0c                	jmp    0x453301
4532f5:	33 f6                	xor    %esi,%esi
4532f7:	33 c0                	xor    %eax,%eax
4532f9:	89 45 f4             	mov    %eax,-0xc(%ebp)
4532fc:	33 c0                	xor    %eax,%eax
4532fe:	89 45 f0             	mov    %eax,-0x10(%ebp)
453301:	33 ff                	xor    %edi,%edi
453303:	85 f6                	test   %esi,%esi
453305:	0f 8e 9b 00 00 00    	jle    0x4533a6
45330b:	e8 4c 3d fb ff       	call   0x40705c
453310:	8b d8                	mov    %eax,%ebx
453312:	8b c3                	mov    %ebx,%eax
453314:	2b c7                	sub    %edi,%eax
453316:	8b 55 fc             	mov    -0x4(%ebp),%edx
453319:	8b 52 20             	mov    0x20(%edx),%edx
45331c:	3b c2                	cmp    %edx,%eax
45331e:	7d 08                	jge    0x453328
453320:	2b d0                	sub    %eax,%edx
453322:	52                   	push   %edx
453323:	e8 0c a7 fb ff       	call   0x40da34
453328:	8b fb                	mov    %ebx,%edi
45332a:	8b 45 f8             	mov    -0x8(%ebp),%eax
45332d:	66 8b 40 04          	mov    0x4(%eax),%ax
453331:	66 83 e8 01          	sub    $0x1,%ax
453335:	72 0e                	jb     0x453345
453337:	74 1f                	je     0x453358
453339:	66 ff c8             	dec    %ax
45333c:	74 2d                	je     0x45336b
45333e:	66 ff c8             	dec    %ax
453341:	74 3b                	je     0x45337e
453343:	eb 4a                	jmp    0x45338f
453345:	8b 45 fc             	mov    -0x4(%ebp),%eax
453348:	8b 50 0c             	mov    0xc(%eax),%edx
45334b:	2b 55 f4             	sub    -0xc(%ebp),%edx
45334e:	8b 45 fc             	mov    -0x4(%ebp),%eax
453351:	e8 86 02 00 00       	call   0x4535dc
453356:	eb 37                	jmp    0x45338f