450185:	8b f1                	mov    %ecx,%esi
450187:	8d 7d f0             	lea    -0x10(%ebp),%edi
45018a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45018b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45018c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45018d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45018e:	66 83 b8 92 00 00 00 	cmpw   $0x0,0x92(%eax)
450195:	00
450196:	74 1a                	je     0x4501b2
450198:	8d 4d f0             	lea    -0x10(%ebp),%ecx
45019b:	51                   	push   %ecx
45019c:	8a 4d 08             	mov    0x8(%ebp),%cl
45019f:	51                   	push   %ecx
4501a0:	8b d8                	mov    %eax,%ebx
4501a2:	8b ca                	mov    %edx,%ecx
4501a4:	8b d0                	mov    %eax,%edx
4501a6:	8b 83 94 00 00 00    	mov    0x94(%ebx),%eax
4501ac:	ff 93 90 00 00 00    	call   *0x90(%ebx)
4501b2:	5f                   	pop    %edi
4501b3:	5e                   	pop    %esi
4501b4:	5b                   	pop    %ebx
4501b5:	8b e5                	mov    %ebp,%esp
4501b7:	5d                   	pop    %ebp
4501b8:	c2 04 00             	ret    $0x4
4501bb:	90                   	nop
4501bc:	55                   	push   %ebp
4501bd:	8b ec                	mov    %esp,%ebp
4501bf:	6a 00                	push   $0x0
4501c1:	53                   	push   %ebx
4501c2:	56                   	push   %esi
4501c3:	57                   	push   %edi
4501c4:	33 c0                	xor    %eax,%eax
4501c6:	55                   	push   %ebp
4501c7:	68 a4 0a 45 00       	push   $0x450aa4
4501cc:	64 ff 30             	push   %fs:(%eax)
4501cf:	64 89 20             	mov    %esp,%fs:(%eax)
4501d2:	8b 45 08             	mov    0x8(%ebp),%eax
4501d5:	80 78 df 00          	cmpb   $0x0,-0x21(%eax)
4501d9:	74 56                	je     0x450231
4501db:	8b 45 08             	mov    0x8(%ebp),%eax
4501de:	f6 40 0c 01          	testb  $0x1,0xc(%eax)
4501e2:	75 09                	jne    0x4501ed
4501e4:	8b 45 08             	mov    0x8(%ebp),%eax
4501e7:	f6 40 0c 40          	testb  $0x40,0xc(%eax)
4501eb:	74 28                	je     0x450215
4501ed:	8b 45 08             	mov    0x8(%ebp),%eax
4501f0:	8b 40 d8             	mov    -0x28(%eax),%eax
4501f3:	8b 40 14             	mov    0x14(%eax),%eax
4501f6:	ba 1d 00 00 ff       	mov    $0xff00001d,%edx
4501fb:	e8 94 d8 fc ff       	call   0x41da94
450200:	8b 45 08             	mov    0x8(%ebp),%eax
450203:	8b 40 d8             	mov    -0x28(%eax),%eax
450206:	8b 40 0c             	mov    0xc(%eax),%eax
450209:	ba 0e 00 00 ff       	mov    $0xff00000e,%edx
45020e:	e8 b5 d0 fc ff       	call   0x41d2c8
450213:	eb 1c                	jmp    0x450231
450215:	8b 45 08             	mov    0x8(%ebp),%eax
450218:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
45021c:	74 13                	je     0x450231
45021e:	8b 45 08             	mov    0x8(%ebp),%eax
450221:	8b 40 d8             	mov    -0x28(%eax),%eax
450224:	8b 40 14             	mov    0x14(%eax),%eax
450227:	ba 1e 00 00 ff       	mov    $0xff00001e,%edx
45022c:	e8 63 d8 fc ff       	call   0x41da94
450231:	8b 45 08             	mov    0x8(%ebp),%eax
450234:	80 78 d7 00          	cmpb   $0x0,-0x29(%eax)
450238:	74 09                	je     0x450243
45023a:	8b 45 08             	mov    0x8(%ebp),%eax
45023d:	80 78 df 00          	cmpb   $0x0,-0x21(%eax)
450241:	74 11                	je     0x450254
450243:	8b 45 08             	mov    0x8(%ebp),%eax
450246:	8d 50 e0             	lea    -0x20(%eax),%edx
450249:	8b 45 08             	mov    0x8(%ebp),%eax
45024c:	8b 40 d8             	mov    -0x28(%eax),%eax
45024f:	e8 e4 db fc ff       	call   0x41de38
450254:	8b 45 08             	mov    0x8(%ebp),%eax
450257:	83 78 d0 00          	cmpl   $0x0,-0x30(%eax)
45025b:	74 09                	je     0x450266
45025d:	8b 45 08             	mov    0x8(%ebp),%eax
450260:	c6 40 cf 00          	movb   $0x0,-0x31(%eax)
450264:	eb 2d                	jmp    0x450293
450266:	8b 45 08             	mov    0x8(%ebp),%eax
450269:	8b 40 d0             	mov    -0x30(%eax),%eax
45026c:	8b 15 a4 eb 44 00    	mov    0x44eba4,%edx
450272:	e8 5d 31 fb ff       	call   0x4033d4
450277:	84 c0                	test   %al,%al
450279:	74 11                	je     0x45028c
45027b:	8b 45 08             	mov    0x8(%ebp),%eax
45027e:	8b 40 d0             	mov    -0x30(%eax),%eax
450281:	8a 40 60             	mov    0x60(%eax),%al
450284:	8b 55 08             	mov    0x8(%ebp),%edx
450287:	88 42 cf             	mov    %al,-0x31(%edx)
45028a:	eb 07                	jmp    0x450293
45028c:	8b 45 08             	mov    0x8(%ebp),%eax
45028f:	c6 40 cf 00          	movb   $0x0,-0x31(%eax)
450293:	8b 45 08             	mov    0x8(%ebp),%eax
450296:	8b 40 e0             	mov    -0x20(%eax),%eax
450299:	40                   	inc    %eax
45029a:	8b 55 08             	mov    0x8(%ebp),%edx
45029d:	89 42 f0             	mov    %eax,-0x10(%edx)
4502a0:	8b 45 08             	mov    0x8(%ebp),%eax
4502a3:	8b 40 e4             	mov    -0x1c(%eax),%eax
4502a6:	40                   	inc    %eax
4502a7:	8b 55 08             	mov    0x8(%ebp),%edx
4502aa:	89 42 f4             	mov    %eax,-0xc(%edx)
4502ad:	8b 45 08             	mov    0x8(%ebp),%eax
4502b0:	8b 40 c8             	mov    -0x38(%eax),%eax
4502b3:	8b 40 30             	mov    0x30(%eax),%eax
4502b6:	ba bc 0a 45 00       	mov    $0x450abc,%edx
4502bb:	e8 e4 40 fb ff       	call   0x4043a4
4502c0:	75 2f                	jne    0x4502f1
4502c2:	8b 45 08             	mov    0x8(%ebp),%eax
4502c5:	8d 50 e0             	lea    -0x20(%eax),%edx
4502c8:	8b 45 08             	mov    0x8(%ebp),%eax
4502cb:	8b 40 d8             	mov    -0x28(%eax),%eax
4502ce:	e8 65 db fc ff       	call   0x41de38
4502d3:	8b 45 08             	mov    0x8(%ebp),%eax
4502d6:	33 d2                	xor    %edx,%edx
4502d8:	89 50 f0             	mov    %edx,-0x10(%eax)
4502db:	8b 45 08             	mov    0x8(%ebp),%eax
4502de:	c7 40 f8 fc ff ff ff 	movl   $0xfffffffc,-0x8(%eax)
4502e5:	8b 45 08             	mov    0x8(%ebp),%eax
4502e8:	c6 40 c7 00          	movb   $0x0,-0x39(%eax)
4502ec:	e9 9a 04 00 00       	jmp    0x45078b
4502f1:	8b 45 08             	mov    0x8(%ebp),%eax
4502f4:	83 78 c0 00          	cmpl   $0x0,-0x40(%eax)
4502f8:	74 47                	je     0x450341
4502fa:	8b 45 08             	mov    0x8(%ebp),%eax
4502fd:	8b 40 c8             	mov    -0x38(%eax),%eax
450300:	8b 58 40             	mov    0x40(%eax),%ebx
450303:	83 fb ff             	cmp    $0xffffffff,%ebx
450306:	7e 12                	jle    0x45031a
450308:	8b 45 08             	mov    0x8(%ebp),%eax
45030b:	8b 45 08             	mov    0x8(%ebp),%eax
45030e:	8b 40 c0             	mov    -0x40(%eax),%eax
450311:	e8 42 ca ff ff       	call   0x44cd58
450316:	3b d8                	cmp    %eax,%ebx
450318:	7c 2b                	jl     0x450345
45031a:	8b 45 08             	mov    0x8(%ebp),%eax
45031d:	8b 40 c8             	mov    -0x38(%eax),%eax
450320:	80 78 38 00          	cmpb   $0x0,0x38(%eax)
450324:	74 1b                	je     0x450341
450326:	8b 45 08             	mov    0x8(%ebp),%eax
450329:	8b 40 c8             	mov    -0x38(%eax),%eax
45032c:	8b 70 4c             	mov    0x4c(%eax),%esi
45032f:	85 f6                	test   %esi,%esi
450331:	74 12                	je     0x450345
450333:	8b 45 08             	mov    0x8(%ebp),%eax
450336:	8b c6                	mov    %esi,%eax
450338:	8b 10                	mov    (%eax),%edx
45033a:	ff 52 1c             	call   *0x1c(%edx)
45033d:	84 c0                	test   %al,%al
45033f:	75 04                	jne    0x450345
450341:	33 c0                	xor    %eax,%eax
450343:	eb 02                	jmp    0x450347
450345:	b0 01                	mov    $0x1,%al
450347:	8b 55 08             	mov    0x8(%ebp),%edx
45034a:	88 42 bf             	mov    %al,-0x41(%edx)
45034d:	8b 45 08             	mov    0x8(%ebp),%eax
450350:	80 78 bf 00          	cmpb   $0x0,-0x41(%eax)
450354:	75 23                	jne    0x450379
450356:	8b 45 08             	mov    0x8(%ebp),%eax
450359:	8b 40 c8             	mov    -0x38(%eax),%eax
45035c:	8b 58 4c             	mov    0x4c(%eax),%ebx
45035f:	85 db                	test   %ebx,%ebx
450361:	0f 84 c7 03 00 00    	je     0x45072e
450367:	8b 45 08             	mov    0x8(%ebp),%eax
45036a:	8b c3                	mov    %ebx,%eax
45036c:	8b 10                	mov    (%eax),%edx
45036e:	ff 52 1c             	call   *0x1c(%edx)
450371:	84 c0                	test   %al,%al
450373:	0f 85 b5 03 00 00    	jne    0x45072e
450379:	8b 45 08             	mov    0x8(%ebp),%eax
45037c:	c6 40 c7 01          	movb   $0x1,-0x39(%eax)
450380:	8b 45 08             	mov    0x8(%ebp),%eax
450383:	80 78 bf 00          	cmpb   $0x0,-0x41(%eax)
450387:	74 2c                	je     0x4503b5
450389:	8b 45 08             	mov    0x8(%ebp),%eax
45038c:	8b 40 f0             	mov    -0x10(%eax),%eax
45038f:	8b 55 08             	mov    0x8(%ebp),%edx
450392:	8b 52 c0             	mov    -0x40(%edx),%edx
450395:	03 42 34             	add    0x34(%edx),%eax
450398:	8b 55 08             	mov    0x8(%ebp),%edx
45039b:	89 42 f8             	mov    %eax,-0x8(%edx)
45039e:	8b 45 08             	mov    0x8(%ebp),%eax
4503a1:	8b 40 f4             	mov    -0xc(%eax),%eax
4503a4:	8b 55 08             	mov    0x8(%ebp),%edx
4503a7:	8b 52 c0             	mov    -0x40(%edx),%edx
4503aa:	03 42 30             	add    0x30(%edx),%eax
4503ad:	8b 55 08             	mov    0x8(%ebp),%edx
4503b0:	89 42 fc             	mov    %eax,-0x4(%edx)
4503b3:	eb 1e                	jmp    0x4503d3
4503b5:	8b 45 08             	mov    0x8(%ebp),%eax
4503b8:	8b 40 f0             	mov    -0x10(%eax),%eax
4503bb:	83 c0 10             	add    $0x10,%eax
4503be:	8b 55 08             	mov    0x8(%ebp),%edx
4503c1:	89 42 f8             	mov    %eax,-0x8(%edx)
4503c4:	8b 45 08             	mov    0x8(%ebp),%eax
4503c7:	8b 40 f4             	mov    -0xc(%eax),%eax
4503ca:	83 c0 10             	add    $0x10,%eax
4503cd:	8b 55 08             	mov    0x8(%ebp),%edx
4503d0:	89 42 fc             	mov    %eax,-0x4(%edx)
4503d3:	8b 45 08             	mov    0x8(%ebp),%eax
4503d6:	8b 40 c8             	mov    -0x38(%eax),%eax
4503d9:	80 78 38 00          	cmpb   $0x0,0x38(%eax)
4503dd:	0f 84 c0 00 00 00    	je     0x4504a3
4503e3:	8b 45 08             	mov    0x8(%ebp),%eax
4503e6:	80 78 df 00          	cmpb   $0x0,-0x21(%eax)
4503ea:	0f 85 b3 00 00 00    	jne    0x4504a3
4503f0:	8b 45 08             	mov    0x8(%ebp),%eax
4503f3:	ff 40 f8             	incl   -0x8(%eax)
4503f6:	8b 45 08             	mov    0x8(%ebp),%eax
4503f9:	ff 40 fc             	incl   -0x4(%eax)
4503fc:	8b 45 08             	mov    0x8(%ebp),%eax
4503ff:	8b 40 d8             	mov    -0x28(%eax),%eax
450402:	8b 40 14             	mov    0x14(%eax),%eax
450405:	e8 82 d6 fc ff       	call   0x41da8c
45040a:	8b 55 08             	mov    0x8(%ebp),%edx
45040d:	89 42 b8             	mov    %eax,-0x48(%edx)
450410:	8b 45 08             	mov    0x8(%ebp),%eax
450413:	f6 40 0c 01          	testb  $0x1,0xc(%eax)
450417:	75 46                	jne    0x45045f
450419:	8b 45 08             	mov    0x8(%ebp),%eax
45041c:	8b 40 d8             	mov    -0x28(%eax),%eax
45041f:	8b 40 14             	mov    0x14(%eax),%eax
450422:	e8 65 d6 fc ff       	call   0x41da8c
450427:	8b 55 08             	mov    0x8(%ebp),%edx
45042a:	89 42 b8             	mov    %eax,-0x48(%edx)
45042d:	ba 14 00 00 ff       	mov    $0xff000014,%edx
450432:	b8 0f 00 00 ff       	mov    $0xff00000f,%eax
450437:	e8 0c 41 fd ff       	call   0x424548
45043c:	8b d0                	mov    %eax,%edx
45043e:	8b 45 08             	mov    0x8(%ebp),%eax
450441:	8b 40 d8             	mov    -0x28(%eax),%eax
450444:	8b 40 14             	mov    0x14(%eax),%eax
450447:	e8 1c d6 fc ff       	call   0x41da68
45044c:	8b 45 08             	mov    0x8(%ebp),%eax
45044f:	8d 50 f0             	lea    -0x10(%eax),%edx
450452:	8b 45 08             	mov    0x8(%ebp),%eax
450455:	8b 40 d8             	mov    -0x28(%eax),%eax
450458:	e8 db d9 fc ff       	call   0x41de38
45045d:	eb 24                	jmp    0x450483
45045f:	8b 45 08             	mov    0x8(%ebp),%eax
450462:	8b 40 d8             	mov    -0x28(%eax),%eax
450465:	8b 40 14             	mov    0x14(%eax),%eax
450468:	ba 0f 00 00 ff       	mov    $0xff00000f,%edx
45046d:	e8 22 d6 fc ff       	call   0x41da94
450472:	8b 45 08             	mov    0x8(%ebp),%eax
450475:	8d 50 f0             	lea    -0x10(%eax),%edx
450478:	8b 45 08             	mov    0x8(%ebp),%eax
45047b:	8b 40 d8             	mov    -0x28(%eax),%eax
45047e:	e8 b5 d9 fc ff       	call   0x41de38
450483:	8b 45 08             	mov    0x8(%ebp),%eax
450486:	8b 50 b8             	mov    -0x48(%eax),%edx
450489:	8b 45 08             	mov    0x8(%ebp),%eax
45048c:	8b 40 d8             	mov    -0x28(%eax),%eax
45048f:	8b 40 14             	mov    0x14(%eax),%eax
450492:	e8 fd d5 fc ff       	call   0x41da94
450497:	8b 45 08             	mov    0x8(%ebp),%eax
45049a:	ff 40 f0             	incl   -0x10(%eax)
45049d:	8b 45 08             	mov    0x8(%ebp),%eax
4504a0:	ff 40 f4             	incl   -0xc(%eax)
4504a3:	8b 45 08             	mov    0x8(%ebp),%eax
4504a6:	80 78 bf 00          	cmpb   $0x0,-0x41(%eax)
4504aa:	0f 84 5a 01 00 00    	je     0x45060a
4504b0:	8b 45 08             	mov    0x8(%ebp),%eax
4504b3:	8b 40 c8             	mov    -0x38(%eax),%eax
4504b6:	8b 58 40             	mov    0x40(%eax),%ebx
4504b9:	83 fb ff             	cmp    $0xffffffff,%ebx
4504bc:	7e 49                	jle    0x450507
4504be:	8b 45 08             	mov    0x8(%ebp),%eax
4504c1:	8b 45 08             	mov    0x8(%ebp),%eax
4504c4:	8b 40 c0             	mov    -0x40(%eax),%eax
4504c7:	e8 8c c8 ff ff       	call   0x44cd58
4504cc:	3b d8                	cmp    %eax,%ebx
4504ce:	7d 37                	jge    0x450507
4504d0:	8b 45 08             	mov    0x8(%ebp),%eax
4504d3:	8b 40 f4             	mov    -0xc(%eax),%eax
4504d6:	50                   	push   %eax
4504d7:	8b 45 08             	mov    0x8(%ebp),%eax
4504da:	8b 40 c8             	mov    -0x38(%eax),%eax
4504dd:	8b 40 40             	mov    0x40(%eax),%eax
4504e0:	50                   	push   %eax
4504e1:	8b 45 08             	mov    0x8(%ebp),%eax
4504e4:	8b 40 c8             	mov    -0x38(%eax),%eax
4504e7:	8a 40 39             	mov    0x39(%eax),%al
4504ea:	50                   	push   %eax
4504eb:	8b 45 08             	mov    0x8(%ebp),%eax
4504ee:	8b 48 f0             	mov    -0x10(%eax),%ecx
4504f1:	8b 45 08             	mov    0x8(%ebp),%eax
4504f4:	8b 50 d8             	mov    -0x28(%eax),%edx
4504f7:	8b 45 08             	mov    0x8(%ebp),%eax
4504fa:	8b 40 c0             	mov    -0x40(%eax),%eax
4504fd:	e8 6e cd ff ff       	call   0x44d270
450502:	e9 0d 02 00 00       	jmp    0x450714
450507:	b2 01                	mov    $0x1,%dl
450509:	a1 1c c3 41 00       	mov    0x41c31c,%eax
45050e:	e8 49 1e fd ff       	call   0x42235c
450513:	8b 55 08             	mov    0x8(%ebp),%edx
450516:	89 42 b4             	mov    %eax,-0x4c(%edx)
450519:	33 c0                	xor    %eax,%eax
45051b:	55                   	push   %ebp
45051c:	68 03 06 45 00       	push   $0x450603
450521:	64 ff 30             	push   %fs:(%eax)
450524:	64 89 20             	mov    %esp,%fs:(%eax)
450527:	8b 45 08             	mov    0x8(%ebp),%eax
45052a:	8b 40 b4             	mov    -0x4c(%eax),%eax
45052d:	b2 01                	mov    $0x1,%dl
45052f:	8b 08                	mov    (%eax),%ecx
450531:	ff 51 3c             	call   *0x3c(%ecx)
450534:	68 f8 7f 00 00       	push   $0x7ff8
450539:	6a 00                	push   $0x0
45053b:	e8 0c 62 fb ff       	call   0x40674c
450540:	8b d0                	mov    %eax,%edx
450542:	8b 45 08             	mov    0x8(%ebp),%eax
450545:	8b 40 b4             	mov    -0x4c(%eax),%eax
450548:	e8 57 2f fd ff       	call   0x4234a4
45054d:	8b 45 08             	mov    0x8(%ebp),%eax
450550:	8b 40 d8             	mov    -0x28(%eax),%eax
450553:	8b 40 0c             	mov    0xc(%eax),%eax
450556:	8b 40 18             	mov    0x18(%eax),%eax
450559:	8b 55 08             	mov    0x8(%ebp),%edx
45055c:	89 42 b8             	mov    %eax,-0x48(%edx)
45055f:	8b 45 08             	mov    0x8(%ebp),%eax
450562:	8b 40 d8             	mov    -0x28(%eax),%eax
450565:	8b 40 0c             	mov    0xc(%eax),%eax
450568:	ba 12 00 00 ff       	mov    $0xff000012,%edx
45056d:	e8 56 cd fc ff       	call   0x41d2c8
450572:	8b 45 08             	mov    0x8(%ebp),%eax
450575:	8b 40 b4             	mov    -0x4c(%eax),%eax
450578:	50                   	push   %eax
450579:	8b 45 08             	mov    0x8(%ebp),%eax
45057c:	8b 40 b4             	mov    -0x4c(%eax),%eax
45057f:	8b 10                	mov    (%eax),%edx
450581:	ff 52 20             	call   *0x20(%edx)
450584:	8b 55 08             	mov    0x8(%ebp),%edx
450587:	8b 52 fc             	mov    -0x4(%edx),%edx
45058a:	8b 4d 08             	mov    0x8(%ebp),%ecx
45058d:	8b 71 f4             	mov    -0xc(%ecx),%esi
450590:	2b d6                	sub    %esi,%edx
450592:	2b d0                	sub    %eax,%edx
450594:	d1 fa                	sar    $1,%edx
450596:	79 03                	jns    0x45059b
450598:	83 d2 00             	adc    $0x0,%edx
45059b:	8b 45 08             	mov    0x8(%ebp),%eax
45059e:	03 d6                	add    %esi,%edx
4505a0:	42                   	inc    %edx
4505a1:	52                   	push   %edx
4505a2:	8b 45 08             	mov    0x8(%ebp),%eax
4505a5:	8b 40 b4             	mov    -0x4c(%eax),%eax