45a01f:	3b c2                	cmp    %edx,%eax
45a021:	75 0c                	jne    0x45a02f
45a023:	8b 45 08             	mov    0x8(%ebp),%eax
45a026:	89 58 f4             	mov    %ebx,-0xc(%eax)
45a029:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
45a02d:	eb 32                	jmp    0x45a061
45a02f:	8b c3                	mov    %ebx,%eax
45a031:	e8 e2 eb ff ff       	call   0x458c18
45a036:	8b f0                	mov    %eax,%esi
45a038:	4e                   	dec    %esi
45a039:	85 f6                	test   %esi,%esi
45a03b:	7c 24                	jl     0x45a061
45a03d:	46                   	inc    %esi
45a03e:	33 ff                	xor    %edi,%edi
45a040:	8b 45 08             	mov    0x8(%ebp),%eax
45a043:	50                   	push   %eax
45a044:	8b d7                	mov    %edi,%edx
45a046:	8b c3                	mov    %ebx,%eax
45a048:	e8 db eb ff ff       	call   0x458c28
45a04d:	e8 82 ff ff ff       	call   0x459fd4
45a052:	59                   	pop    %ecx
45a053:	84 c0                	test   %al,%al
45a055:	74 06                	je     0x45a05d
45a057:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
45a05b:	eb 04                	jmp    0x45a061
45a05d:	47                   	inc    %edi
45a05e:	4e                   	dec    %esi
45a05f:	75 df                	jne    0x45a040
45a061:	8a 45 ff             	mov    -0x1(%ebp),%al
45a064:	5f                   	pop    %edi
45a065:	5e                   	pop    %esi
45a066:	5b                   	pop    %ebx
45a067:	59                   	pop    %ecx
45a068:	5d                   	pop    %ebp
45a069:	c3                   	ret
45a06a:	8b c0                	mov    %eax,%eax
45a06c:	55                   	push   %ebp
45a06d:	8b ec                	mov    %esp,%ebp
45a06f:	83 c4 f4             	add    $0xfffffff4,%esp
45a072:	53                   	push   %ebx
45a073:	88 4d ff             	mov    %cl,-0x1(%ebp)
45a076:	89 55 f8             	mov    %edx,-0x8(%ebp)
45a079:	33 d2                	xor    %edx,%edx
45a07b:	89 55 f4             	mov    %edx,-0xc(%ebp)
45a07e:	b9 d4 9f 45 00       	mov    $0x459fd4,%ecx
45a083:	8b 50 34             	mov    0x34(%eax),%edx
45a086:	8b 5a 68             	mov    0x68(%edx),%ebx
45a089:	8b c2                	mov    %edx,%eax
45a08b:	91                   	xchg   %eax,%ecx
45a08c:	8b d3                	mov    %ebx,%edx
45a08e:	e8 45 c6 ff ff       	call   0x4566d8
45a093:	8b 45 f4             	mov    -0xc(%ebp),%eax
45a096:	5b                   	pop    %ebx
45a097:	8b e5                	mov    %ebp,%esp
45a099:	5d                   	pop    %ebp
45a09a:	c3                   	ret
45a09b:	90                   	nop
45a09c:	53                   	push   %ebx
45a09d:	56                   	push   %esi
45a09e:	57                   	push   %edi
45a09f:	55                   	push   %ebp
45a0a0:	51                   	push   %ecx
45a0a1:	88 0c 24             	mov    %cl,(%esp)
45a0a4:	8b ea                	mov    %edx,%ebp
45a0a6:	8b f0                	mov    %eax,%esi
45a0a8:	33 ff                	xor    %edi,%edi
45a0aa:	b3 01                	mov    $0x1,%bl
45a0ac:	80 3c 24 00          	cmpb   $0x0,(%esp)
45a0b0:	74 02                	je     0x45a0b4
45a0b2:	33 db                	xor    %ebx,%ebx
45a0b4:	80 fb 01             	cmp    $0x1,%bl
45a0b7:	75 27                	jne    0x45a0e0
45a0b9:	8b c6                	mov    %esi,%eax
45a0bb:	8b 15 74 5e 45 00    	mov    0x455e74,%edx
45a0c1:	e8 86 93 fa ff       	call   0x40344c
45a0c6:	84 c0                	test   %al,%al
45a0c8:	74 16                	je     0x45a0e0
45a0ca:	8b c6                	mov    %esi,%eax
45a0cc:	8b 10                	mov    (%eax),%edx
45a0ce:	ff 52 34             	call   *0x34(%edx)
45a0d1:	3b e8                	cmp    %eax,%ebp
45a0d3:	75 0b                	jne    0x45a0e0
45a0d5:	8b c6                	mov    %esi,%eax
45a0d7:	e8 e4 12 00 00       	call   0x45b3c0
45a0dc:	8b f8                	mov    %eax,%edi
45a0de:	eb 21                	jmp    0x45a101
45a0e0:	8b cb                	mov    %ebx,%ecx
45a0e2:	8b d5                	mov    %ebp,%edx
45a0e4:	8b c6                	mov    %esi,%eax
45a0e6:	e8 81 ff ff ff       	call   0x45a06c
45a0eb:	eb 03                	jmp    0x45a0f0
45a0ed:	8b 40 64             	mov    0x64(%eax),%eax
45a0f0:	85 c0                	test   %eax,%eax
45a0f2:	74 06                	je     0x45a0fa
45a0f4:	83 78 54 00          	cmpl   $0x0,0x54(%eax)
45a0f8:	74 f3                	je     0x45a0ed
45a0fa:	85 c0                	test   %eax,%eax
45a0fc:	74 03                	je     0x45a101
45a0fe:	8b 78 54             	mov    0x54(%eax),%edi
45a101:	8b c7                	mov    %edi,%eax
45a103:	5a                   	pop    %edx
45a104:	5d                   	pop    %ebp
45a105:	5f                   	pop    %edi
45a106:	5e                   	pop    %esi
45a107:	5b                   	pop    %ebx
45a108:	c3                   	ret
45a109:	8d 40 00             	lea    0x0(%eax),%eax
45a10c:	53                   	push   %ebx
45a10d:	33 db                	xor    %ebx,%ebx
45a10f:	0f b7 d2             	movzwl %dx,%edx
45a112:	33 c9                	xor    %ecx,%ecx
45a114:	e8 53 ff ff ff       	call   0x45a06c
45a119:	85 c0                	test   %eax,%eax
45a11b:	74 07                	je     0x45a124
45a11d:	8b 10                	mov    (%eax),%edx
45a11f:	ff 52 44             	call   *0x44(%edx)
45a122:	b3 01                	mov    $0x1,%bl
45a124:	8b c3                	mov    %ebx,%eax
45a126:	5b                   	pop    %ebx
45a127:	c3                   	ret
45a128:	53                   	push   %ebx
45a129:	56                   	push   %esi
45a12a:	57                   	push   %edi
45a12b:	8b f0                	mov    %eax,%esi
45a12d:	33 db                	xor    %ebx,%ebx
45a12f:	b1 01                	mov    $0x1,%cl
45a131:	8b c6                	mov    %esi,%eax
45a133:	e8 34 ff ff ff       	call   0x45a06c
45a138:	8b f8                	mov    %eax,%edi
45a13a:	85 ff                	test   %edi,%edi
45a13c:	0f 84 86 00 00 00    	je     0x45a1c8
45a142:	f6 47 1c 10          	testb  $0x10,0x1c(%edi)
45a146:	75 07                	jne    0x45a14f
45a148:	8b c7                	mov    %edi,%eax
45a14a:	e8 f1 ef ff ff       	call   0x459140
45a14f:	8b c7                	mov    %edi,%eax
45a151:	8b 10                	mov    (%eax),%edx
45a153:	ff 52 44             	call   *0x44(%edx)
45a156:	33 d2                	xor    %edx,%edx
45a158:	8b c7                	mov    %edi,%eax
45a15a:	e8 79 f6 ff ff       	call   0x4597d8
45a15f:	8b d8                	mov    %eax,%ebx
45a161:	33 d2                	xor    %edx,%edx
45a163:	8b c7                	mov    %edi,%eax
45a165:	e8 6a fb ff ff       	call   0x459cd4
45a16a:	0a d8                	or     %al,%bl
45a16c:	84 db                	test   %bl,%bl
45a16e:	74 07                	je     0x45a177
45a170:	8b c7                	mov    %edi,%eax
45a172:	e8 05 cf ff ff       	call   0x45707c
45a177:	a1 74 47 47 00       	mov    0x474774,%eax
45a17c:	8b 00                	mov    (%eax),%eax
45a17e:	8b 40 44             	mov    0x44(%eax),%eax
45a181:	85 c0                	test   %eax,%eax
45a183:	74 3f                	je     0x45a1c4
45a185:	8b 15 74 47 47 00    	mov    0x474774,%edx
45a18b:	8b d8                	mov    %eax,%ebx
45a18d:	80 bb 2f 02 00 00 02 	cmpb   $0x2,0x22f(%ebx)
45a194:	75 2e                	jne    0x45a1c4
45a196:	3b bb 58 02 00 00    	cmp    0x258(%ebx),%edi
45a19c:	75 26                	jne    0x45a1c4
45a19e:	6a 00                	push   $0x0
45a1a0:	6a 00                	push   $0x0
45a1a2:	68 34 02 00 00       	push   $0x234
45a1a7:	8b 83 54 02 00 00    	mov    0x254(%ebx),%eax
45a1ad:	50                   	push   %eax
45a1ae:	e8 09 c9 fa ff       	call   0x406abc
45a1b3:	85 c0                	test   %eax,%eax
45a1b5:	74 0d                	je     0x45a1c4
45a1b7:	8b c3                	mov    %ebx,%eax
45a1b9:	e8 1e 32 ff ff       	call   0x44d3dc
45a1be:	50                   	push   %eax
45a1bf:	e8 e8 c5 fa ff       	call   0x4067ac
45a1c4:	b3 01                	mov    $0x1,%bl
45a1c6:	eb 1f                	jmp    0x45a1e7
45a1c8:	f6 46 1c 10          	testb  $0x10,0x1c(%esi)
45a1cc:	75 19                	jne    0x45a1e7
45a1ce:	8b c6                	mov    %esi,%eax
45a1d0:	8b 15 74 5e 45 00    	mov    0x455e74,%edx
45a1d6:	e8 71 92 fa ff       	call   0x40344c
45a1db:	84 c0                	test   %al,%al
45a1dd:	74 08                	je     0x45a1e7
45a1df:	8b 46 34             	mov    0x34(%esi),%eax
45a1e2:	e8 59 ef ff ff       	call   0x459140
45a1e7:	8b c3                	mov    %ebx,%eax
45a1e9:	5f                   	pop    %edi
45a1ea:	5e                   	pop    %esi
45a1eb:	5b                   	pop    %ebx
45a1ec:	c3                   	ret
45a1ed:	8d 40 00             	lea    0x0(%eax),%eax
45a1f0:	80 78 40 00          	cmpb   $0x0,0x40(%eax)
45a1f4:	75 09                	jne    0x45a1ff
45a1f6:	83 78 48 00          	cmpl   $0x0,0x48(%eax)
45a1fa:	75 03                	jne    0x45a1ff
45a1fc:	33 c0                	xor    %eax,%eax
45a1fe:	c3                   	ret
45a1ff:	b0 01                	mov    $0x1,%al
45a201:	c3                   	ret
45a202:	8b c0                	mov    %eax,%eax
45a204:	eb 04                	jmp    0x45a20a
45a206:	8b 40 64             	mov    0x64(%eax),%eax
45a209:	4a                   	dec    %edx
45a20a:	85 d2                	test   %edx,%edx
45a20c:	7e 04                	jle    0x45a212
45a20e:	85 c0                	test   %eax,%eax
45a210:	75 f4                	jne    0x45a206
45a212:	c3                   	ret
45a213:	90                   	nop
45a214:	55                   	push   %ebp
45a215:	8b ec                	mov    %esp,%ebp
45a217:	83 c4 f8             	add    $0xfffffff8,%esp
45a21a:	53                   	push   %ebx
45a21b:	56                   	push   %esi
45a21c:	57                   	push   %edi
45a21d:	8b f2                	mov    %edx,%esi
45a21f:	8b d8                	mov    %eax,%ebx
45a221:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
45a225:	8b 03                	mov    (%ebx),%eax
45a227:	8b 40 64             	mov    0x64(%eax),%eax
45a22a:	89 45 f8             	mov    %eax,-0x8(%ebp)
45a22d:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
45a231:	74 13                	je     0x45a246
45a233:	8b 45 08             	mov    0x8(%ebp),%eax
45a236:	50                   	push   %eax
45a237:	8d 56 01             	lea    0x1(%esi),%edx
45a23a:	8d 45 f8             	lea    -0x8(%ebp),%eax
45a23d:	e8 d2 ff ff ff       	call   0x45a214
45a242:	59                   	pop    %ecx
45a243:	88 45 ff             	mov    %al,-0x1(%ebp)
45a246:	8a 45 ff             	mov    -0x1(%ebp),%al
45a249:	84 c0                	test   %al,%al
45a24b:	0f 84 0a 01 00 00    	je     0x45a35b
45a251:	2c 03                	sub    $0x3,%al
45a253:	0f 84 02 01 00 00    	je     0x45a35b
45a259:	80 7d ff 02          	cmpb   $0x2,-0x1(%ebp)
45a25d:	75 76                	jne    0x45a2d5
45a25f:	8b 45 08             	mov    0x8(%ebp),%eax
45a262:	83 78 fc 00          	cmpl   $0x0,-0x4(%eax)
45a266:	74 13                	je     0x45a27b
45a268:	8b 45 08             	mov    0x8(%ebp),%eax
45a26b:	8b 40 fc             	mov    -0x4(%eax),%eax
45a26e:	66 8b 40 60          	mov    0x60(%eax),%ax
45a272:	8b 55 08             	mov    0x8(%ebp),%edx
45a275:	66 3b 42 fa          	cmp    -0x6(%edx),%ax
45a279:	74 2c                	je     0x45a2a7
45a27b:	8b 45 08             	mov    0x8(%ebp),%eax
45a27e:	0f b7 50 fa          	movzwl -0x6(%eax),%edx
45a282:	8b 45 08             	mov    0x8(%ebp),%eax
45a285:	8b 40 f4             	mov    -0xc(%eax),%eax
45a288:	b1 02                	mov    $0x2,%cl
45a28a:	e8 dd fd ff ff       	call   0x45a06c
45a28f:	8b 55 08             	mov    0x8(%ebp),%edx
45a292:	89 42 fc             	mov    %eax,-0x4(%edx)
45a295:	8b 45 08             	mov    0x8(%ebp),%eax
45a298:	83 78 fc 00          	cmpl   $0x0,-0x4(%eax)
45a29c:	75 09                	jne    0x45a2a7
45a29e:	c6 45 ff 03          	movb   $0x3,-0x1(%ebp)
45a2a2:	e9 b4 00 00 00       	jmp    0x45a35b
45a2a7:	8b 45 08             	mov    0x8(%ebp),%eax
45a2aa:	8b 40 fc             	mov    -0x4(%eax),%eax
45a2ad:	8b d6                	mov    %esi,%edx
45a2af:	e8 50 ff ff ff       	call   0x45a204
45a2b4:	89 03                	mov    %eax,(%ebx)
45a2b6:	83 3b 00             	cmpl   $0x0,(%ebx)
45a2b9:	0f 84 9c 00 00 00    	je     0x45a35b
45a2bf:	8b 03                	mov    (%ebx),%eax
45a2c1:	8b 40 64             	mov    0x64(%eax),%eax
45a2c4:	3b 45 f8             	cmp    -0x8(%ebp),%eax
45a2c7:	0f 85 8e 00 00 00    	jne    0x45a35b
45a2cd:	85 f6                	test   %esi,%esi
45a2cf:	75 04                	jne    0x45a2d5
45a2d1:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
45a2d5:	8b 03                	mov    (%ebx),%eax
45a2d7:	80 78 39 00          	cmpb   $0x0,0x39(%eax)
45a2db:	74 7a                	je     0x45a357
45a2dd:	33 c0                	xor    %eax,%eax
45a2df:	55                   	push   %ebp
45a2e0:	68 39 a3 45 00       	push   $0x45a339
45a2e5:	64 ff 30             	push   %fs:(%eax)
45a2e8:	64 89 20             	mov    %esp,%fs:(%eax)
45a2eb:	8b 45 08             	mov    0x8(%ebp),%eax
45a2ee:	8b 40 f4             	mov    -0xc(%eax),%eax
45a2f1:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
45a2f5:	75 07                	jne    0x45a2fe
45a2f7:	8b 03                	mov    (%ebx),%eax
45a2f9:	e8 42 ee ff ff       	call   0x459140
45a2fe:	8b 03                	mov    (%ebx),%eax
45a300:	8b 10                	mov    (%eax),%edx
45a302:	ff 52 44             	call   *0x44(%edx)
45a305:	8b 45 08             	mov    0x8(%ebp),%eax
45a308:	83 78 fc 00          	cmpl   $0x0,-0x4(%eax)
45a30c:	74 1d                	je     0x45a32b
45a30e:	8b 03                	mov    (%ebx),%eax
45a310:	8b 55 08             	mov    0x8(%ebp),%edx
45a313:	3b 42 fc             	cmp    -0x4(%edx),%eax
45a316:	74 17                	je     0x45a32f
45a318:	8b 45 08             	mov    0x8(%ebp),%eax
45a31b:	8b 40 fc             	mov    -0x4(%eax),%eax
45a31e:	66 8b 40 60          	mov    0x60(%eax),%ax
45a322:	8b 55 08             	mov    0x8(%ebp),%edx
45a325:	66 3b 42 fa          	cmp    -0x6(%edx),%ax
45a329:	74 04                	je     0x45a32f
45a32b:	c6 45 ff 02          	movb   $0x2,-0x1(%ebp)
45a32f:	33 c0                	xor    %eax,%eax
45a331:	5a                   	pop    %edx
45a332:	59                   	pop    %ecx
45a333:	59                   	pop    %ecx
45a334:	64 89 10             	mov    %edx,%fs:(%eax)
45a337:	eb 22                	jmp    0x45a35b
45a339:	e9 62 94 fa ff       	jmp    0x4037a0
45a33e:	8b 45 08             	mov    0x8(%ebp),%eax
45a341:	8b 50 f4             	mov    -0xc(%eax),%edx
45a344:	a1 74 47 47 00       	mov    0x474774,%eax
45a349:	8b 00                	mov    (%eax),%eax
45a34b:	e8 d8 c5 00 00       	call   0x466928
45a350:	e8 b3 97 fa ff       	call   0x403b08
45a355:	eb 04                	jmp    0x45a35b
45a357:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
45a35b:	8a 45 ff             	mov    -0x1(%ebp),%al
45a35e:	5f                   	pop    %edi
45a35f:	5e                   	pop    %esi
45a360:	5b                   	pop    %ebx
45a361:	59                   	pop    %ecx
45a362:	59                   	pop    %ecx
45a363:	5d                   	pop    %ebp
45a364:	c3                   	ret
45a365:	8d 40 00             	lea    0x0(%eax),%eax
45a368:	55                   	push   %ebp
45a369:	8b ec                	mov    %esp,%ebp
45a36b:	83 c4 ec             	add    $0xffffffec,%esp
45a36e:	53                   	push   %ebx
45a36f:	8b da                	mov    %edx,%ebx
45a371:	89 45 f4             	mov    %eax,-0xc(%ebp)
45a374:	33 c0                	xor    %eax,%eax
45a376:	33 d2                	xor    %edx,%edx
45a378:	8a 53 04             	mov    0x4(%ebx),%dl
45a37b:	66 89 55 fa          	mov    %dx,-0x6(%ebp)
45a37f:	66 83 7d fa 00       	cmpw   $0x0,-0x6(%ebp)
45a384:	0f 84 f5 00 00 00    	je     0x45a47f
45a38a:	6a 10                	push   $0x10
45a38c:	e8 fb c4 fa ff       	call   0x40688c
45a391:	66 85 c0             	test   %ax,%ax
45a394:	7d 06                	jge    0x45a39c
45a396:	66 81 45 fa 00 20    	addw   $0x2000,-0x6(%ebp)
45a39c:	6a 11                	push   $0x11
45a39e:	e8 e9 c4 fa ff       	call   0x40688c
45a3a3:	66 85 c0             	test   %ax,%ax
45a3a6:	7d 06                	jge    0x45a3ae
45a3a8:	66 81 45 fa 00 40    	addw   $0x4000,-0x6(%ebp)
45a3ae:	f6 43 0b 20          	testb  $0x20,0xb(%ebx)