44c1e6:	8b 40 4c             	mov    0x4c(%eax),%eax
44c1e9:	8b 10                	mov    (%eax),%edx
44c1eb:	ff 52 2c             	call   *0x2c(%edx)
44c1ee:	8b 55 08             	mov    0x8(%ebp),%edx
44c1f1:	8b 52 f8             	mov    -0x8(%edx),%edx
44c1f4:	8b 4d 08             	mov    0x8(%ebp),%ecx
44c1f7:	2b 51 f0             	sub    -0x10(%ecx),%edx
44c1fa:	2b d0                	sub    %eax,%edx
44c1fc:	d1 fa                	sar    $1,%edx
44c1fe:	79 03                	jns    0x44c203
44c200:	83 d2 00             	adc    $0x0,%edx
44c203:	8b 45 08             	mov    0x8(%ebp),%eax
44c206:	8b 40 f8             	mov    -0x8(%eax),%eax
44c209:	2b c2                	sub    %edx,%eax
44c20b:	40                   	inc    %eax
44c20c:	8b 55 08             	mov    0x8(%ebp),%edx
44c20f:	89 42 f8             	mov    %eax,-0x8(%edx)
44c212:	8b 45 08             	mov    0x8(%ebp),%eax
44c215:	8b 40 c8             	mov    -0x38(%eax),%eax
44c218:	8b 40 4c             	mov    0x4c(%eax),%eax
44c21b:	8b 10                	mov    (%eax),%edx
44c21d:	ff 52 2c             	call   *0x2c(%edx)
44c220:	8b 55 08             	mov    0x8(%ebp),%edx
44c223:	8b 52 f8             	mov    -0x8(%edx),%edx
44c226:	2b d0                	sub    %eax,%edx
44c228:	8b 45 08             	mov    0x8(%ebp),%eax
44c22b:	89 50 f0             	mov    %edx,-0x10(%eax)
44c22e:	8b 45 08             	mov    0x8(%ebp),%eax
44c231:	8b 40 c8             	mov    -0x38(%eax),%eax
44c234:	8b 40 4c             	mov    0x4c(%eax),%eax
44c237:	8b 10                	mov    (%eax),%edx
44c239:	ff 52 20             	call   *0x20(%edx)
44c23c:	8b 55 08             	mov    0x8(%ebp),%edx
44c23f:	8b 52 fc             	mov    -0x4(%edx),%edx
44c242:	8b 4d 08             	mov    0x8(%ebp),%ecx
44c245:	2b 51 f4             	sub    -0xc(%ecx),%edx
44c248:	3b c2                	cmp    %edx,%eax
44c24a:	7d 4a                	jge    0x44c296
44c24c:	8b 45 08             	mov    0x8(%ebp),%eax
44c24f:	8b 40 c8             	mov    -0x38(%eax),%eax
44c252:	8b 40 4c             	mov    0x4c(%eax),%eax
44c255:	8b 10                	mov    (%eax),%edx
44c257:	ff 52 20             	call   *0x20(%edx)
44c25a:	8b 55 08             	mov    0x8(%ebp),%edx
44c25d:	8b 52 fc             	mov    -0x4(%edx),%edx
44c260:	8b 4d 08             	mov    0x8(%ebp),%ecx
44c263:	2b 51 f4             	sub    -0xc(%ecx),%edx
44c266:	2b d0                	sub    %eax,%edx
44c268:	d1 fa                	sar    $1,%edx
44c26a:	79 03                	jns    0x44c26f
44c26c:	83 d2 00             	adc    $0x0,%edx
44c26f:	8b 45 08             	mov    0x8(%ebp),%eax
44c272:	03 50 f4             	add    -0xc(%eax),%edx
44c275:	42                   	inc    %edx
44c276:	8b 45 08             	mov    0x8(%ebp),%eax
44c279:	89 50 f4             	mov    %edx,-0xc(%eax)
44c27c:	8b 45 08             	mov    0x8(%ebp),%eax
44c27f:	8b 40 c8             	mov    -0x38(%eax),%eax
44c282:	8b 40 4c             	mov    0x4c(%eax),%eax
44c285:	8b 10                	mov    (%eax),%edx
44c287:	ff 52 20             	call   *0x20(%edx)
44c28a:	8b 55 08             	mov    0x8(%ebp),%edx
44c28d:	03 42 f4             	add    -0xc(%edx),%eax
44c290:	8b 55 08             	mov    0x8(%ebp),%edx
44c293:	89 42 fc             	mov    %eax,-0x4(%edx)
44c296:	8b 45 08             	mov    0x8(%ebp),%eax
44c299:	8b 40 c8             	mov    -0x38(%eax),%eax
44c29c:	8b 48 4c             	mov    0x4c(%eax),%ecx
44c29f:	8b 45 08             	mov    0x8(%ebp),%eax
44c2a2:	8d 50 f0             	lea    -0x10(%eax),%edx
44c2a5:	8b 45 08             	mov    0x8(%ebp),%eax
44c2a8:	8b 40 d8             	mov    -0x28(%eax),%eax
44c2ab:	e8 5c 15 fd ff       	call   0x41d80c
44c2b0:	8b 45 08             	mov    0x8(%ebp),%eax
44c2b3:	8b 55 08             	mov    0x8(%ebp),%edx
44c2b6:	8d 70 a4             	lea    -0x5c(%eax),%esi
44c2b9:	8d 7a f0             	lea    -0x10(%edx),%edi
44c2bc:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44c2bd:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44c2be:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44c2bf:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44c2c0:	8b 45 08             	mov    0x8(%ebp),%eax
44c2c3:	8b 40 c8             	mov    -0x38(%eax),%eax
44c2c6:	80 78 38 00          	cmpb   $0x0,0x38(%eax)
44c2ca:	74 6b                	je     0x44c337
44c2cc:	8b 45 08             	mov    0x8(%ebp),%eax
44c2cf:	ff 48 f8             	decl   -0x8(%eax)
44c2d2:	8b 45 08             	mov    0x8(%ebp),%eax
44c2d5:	ff 48 fc             	decl   -0x4(%eax)
44c2d8:	eb 5d                	jmp    0x44c337
44c2da:	8b 45 08             	mov    0x8(%ebp),%eax
44c2dd:	83 78 c0 00          	cmpl   $0x0,-0x40(%eax)
44c2e1:	74 35                	je     0x44c318
44c2e3:	8b 45 08             	mov    0x8(%ebp),%eax
44c2e6:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
44c2ea:	75 2c                	jne    0x44c318
44c2ec:	8b 45 08             	mov    0x8(%ebp),%eax
44c2ef:	8b 40 f8             	mov    -0x8(%eax),%eax
44c2f2:	8b 55 08             	mov    0x8(%ebp),%edx
44c2f5:	8b 52 c0             	mov    -0x40(%edx),%edx
44c2f8:	2b 42 34             	sub    0x34(%edx),%eax
44c2fb:	8b 55 08             	mov    0x8(%ebp),%edx
44c2fe:	89 42 f0             	mov    %eax,-0x10(%edx)
44c301:	8b 45 08             	mov    0x8(%ebp),%eax
44c304:	8b 40 f4             	mov    -0xc(%eax),%eax
44c307:	8b 55 08             	mov    0x8(%ebp),%edx
44c30a:	8b 52 c0             	mov    -0x40(%edx),%edx
44c30d:	03 42 30             	add    0x30(%edx),%eax
44c310:	8b 55 08             	mov    0x8(%ebp),%edx
44c313:	89 42 fc             	mov    %eax,-0x4(%edx)
44c316:	eb 18                	jmp    0x44c330
44c318:	8b 45 08             	mov    0x8(%ebp),%eax
44c31b:	8b 40 f8             	mov    -0x8(%eax),%eax
44c31e:	8b 55 08             	mov    0x8(%ebp),%edx
44c321:	89 42 f0             	mov    %eax,-0x10(%edx)
44c324:	8b 45 08             	mov    0x8(%ebp),%eax
44c327:	8b 40 f4             	mov    -0xc(%eax),%eax
44c32a:	8b 55 08             	mov    0x8(%ebp),%edx
44c32d:	89 42 fc             	mov    %eax,-0x4(%edx)
44c330:	8b 45 08             	mov    0x8(%ebp),%eax
44c333:	c6 40 c7 00          	movb   $0x0,-0x39(%eax)
44c337:	8b 45 08             	mov    0x8(%ebp),%eax
44c33a:	ff 48 f0             	decl   -0x10(%eax)
44c33d:	8b 45 08             	mov    0x8(%ebp),%eax
44c340:	ff 48 f4             	decl   -0xc(%eax)
44c343:	8b 45 08             	mov    0x8(%ebp),%eax
44c346:	83 40 f8 02          	addl   $0x2,-0x8(%eax)
44c34a:	8b 45 08             	mov    0x8(%ebp),%eax
44c34d:	83 40 fc 02          	addl   $0x2,-0x4(%eax)
44c351:	8b 45 08             	mov    0x8(%ebp),%eax
44c354:	8b 40 c8             	mov    -0x38(%eax),%eax
44c357:	80 78 38 00          	cmpb   $0x0,0x38(%eax)
44c35b:	75 1b                	jne    0x44c378
44c35d:	8b 45 08             	mov    0x8(%ebp),%eax
44c360:	80 78 d7 00          	cmpb   $0x0,-0x29(%eax)
44c364:	74 3e                	je     0x44c3a4
44c366:	8b 45 08             	mov    0x8(%ebp),%eax
44c369:	80 78 c7 00          	cmpb   $0x0,-0x39(%eax)
44c36d:	74 35                	je     0x44c3a4
44c36f:	8b 45 08             	mov    0x8(%ebp),%eax
44c372:	80 78 df 00          	cmpb   $0x0,-0x21(%eax)
44c376:	75 2c                	jne    0x44c3a4
44c378:	6a 0f                	push   $0xf
44c37a:	8b 45 08             	mov    0x8(%ebp),%eax
44c37d:	8b 40 c8             	mov    -0x38(%eax),%eax
44c380:	0f b6 40 38          	movzbl 0x38(%eax),%eax
44c384:	8b 04 85 e0 dc 45 00 	mov    0x45dce0(,%eax,4),%eax
44c38b:	50                   	push   %eax
44c38c:	8b 45 08             	mov    0x8(%ebp),%eax
44c38f:	83 c0 f0             	add    $0xfffffff0,%eax
44c392:	50                   	push   %eax
44c393:	8b 45 08             	mov    0x8(%ebp),%eax
44c396:	8b 40 d8             	mov    -0x28(%eax),%eax
44c399:	e8 8e 16 fd ff       	call   0x41da2c
44c39e:	50                   	push   %eax
44c39f:	e8 3c a1 fb ff       	call   0x4064e0
44c3a4:	8b 45 08             	mov    0x8(%ebp),%eax
44c3a7:	80 78 d7 00          	cmpb   $0x0,-0x29(%eax)
44c3ab:	74 4c                	je     0x44c3f9
44c3ad:	8b 45 08             	mov    0x8(%ebp),%eax
44c3b0:	80 78 c7 00          	cmpb   $0x0,-0x39(%eax)
44c3b4:	74 0d                	je     0x44c3c3
44c3b6:	8b 45 08             	mov    0x8(%ebp),%eax
44c3b9:	8b 40 f0             	mov    -0x10(%eax),%eax
44c3bc:	48                   	dec    %eax
44c3bd:	8b 55 08             	mov    0x8(%ebp),%edx
44c3c0:	89 42 e8             	mov    %eax,-0x18(%edx)
44c3c3:	8b 45 08             	mov    0x8(%ebp),%eax
44c3c6:	80 78 a3 00          	cmpb   $0x0,-0x5d(%eax)
44c3ca:	74 09                	je     0x44c3d5
44c3cc:	8b 45 08             	mov    0x8(%ebp),%eax
44c3cf:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
44c3d3:	75 13                	jne    0x44c3e8
44c3d5:	8b 45 08             	mov    0x8(%ebp),%eax
44c3d8:	8b 40 d8             	mov    -0x28(%eax),%eax
44c3db:	8b 40 14             	mov    0x14(%eax),%eax
44c3de:	ba 0d 00 00 ff       	mov    $0xff00000d,%edx
44c3e3:	e8 fc 0e fd ff       	call   0x41d2e4
44c3e8:	8b 45 08             	mov    0x8(%ebp),%eax
44c3eb:	8d 50 e0             	lea    -0x20(%eax),%edx
44c3ee:	8b 45 08             	mov    0x8(%ebp),%eax
44c3f1:	8b 40 d8             	mov    -0x28(%eax),%eax
44c3f4:	e8 8f 12 fd ff       	call   0x41d688
44c3f9:	8b 45 08             	mov    0x8(%ebp),%eax
44c3fc:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
44c400:	74 77                	je     0x44c479
44c402:	8b 45 08             	mov    0x8(%ebp),%eax
44c405:	80 78 a3 00          	cmpb   $0x0,-0x5d(%eax)
44c409:	74 6e                	je     0x44c479
44c40b:	8b 45 08             	mov    0x8(%ebp),%eax
44c40e:	80 78 df 00          	cmpb   $0x0,-0x21(%eax)
44c412:	75 65                	jne    0x44c479
44c414:	8b 45 08             	mov    0x8(%ebp),%eax
44c417:	80 78 d7 00          	cmpb   $0x0,-0x29(%eax)
44c41b:	74 1e                	je     0x44c43b
44c41d:	6a 0f                	push   $0xf
44c41f:	6a 02                	push   $0x2
44c421:	8b 45 08             	mov    0x8(%ebp),%eax
44c424:	83 c0 e0             	add    $0xffffffe0,%eax
44c427:	50                   	push   %eax
44c428:	8b 45 08             	mov    0x8(%ebp),%eax
44c42b:	8b 40 d8             	mov    -0x28(%eax),%eax
44c42e:	e8 f9 15 fd ff       	call   0x41da2c
44c433:	50                   	push   %eax
44c434:	e8 a7 a0 fb ff       	call   0x4064e0
44c439:	eb 25                	jmp    0x44c460
44c43b:	8b 45 08             	mov    0x8(%ebp),%eax
44c43e:	f6 40 0c 40          	testb  $0x40,0xc(%eax)
44c442:	74 1c                	je     0x44c460
44c444:	6a 0f                	push   $0xf
44c446:	6a 04                	push   $0x4
44c448:	8b 45 08             	mov    0x8(%ebp),%eax
44c44b:	83 c0 e0             	add    $0xffffffe0,%eax
44c44e:	50                   	push   %eax
44c44f:	8b 45 08             	mov    0x8(%ebp),%eax
44c452:	8b 40 d8             	mov    -0x28(%eax),%eax
44c455:	e8 d2 15 fd ff       	call   0x41da2c
44c45a:	50                   	push   %eax
44c45b:	e8 80 a0 fb ff       	call   0x4064e0
44c460:	8b 45 08             	mov    0x8(%ebp),%eax
44c463:	80 78 d7 00          	cmpb   $0x0,-0x29(%eax)
44c467:	75 10                	jne    0x44c479
44c469:	6a ff                	push   $0xffffffff
44c46b:	6a 00                	push   $0x0
44c46d:	8b 45 08             	mov    0x8(%ebp),%eax
44c470:	83 c0 e0             	add    $0xffffffe0,%eax
44c473:	50                   	push   %eax
44c474:	e8 1f a3 fb ff       	call   0x406798
44c479:	8b 45 08             	mov    0x8(%ebp),%eax
44c47c:	80 78 d7 00          	cmpb   $0x0,-0x29(%eax)
44c480:	74 09                	je     0x44c48b
44c482:	8b 45 08             	mov    0x8(%ebp),%eax
44c485:	80 78 c7 00          	cmpb   $0x0,-0x39(%eax)
44c489:	75 0d                	jne    0x44c498
44c48b:	8b 45 08             	mov    0x8(%ebp),%eax
44c48e:	8b 40 f0             	mov    -0x10(%eax),%eax
44c491:	48                   	dec    %eax
44c492:	8b 55 08             	mov    0x8(%ebp),%edx
44c495:	89 42 e8             	mov    %eax,-0x18(%edx)
44c498:	8b 45 08             	mov    0x8(%ebp),%eax
44c49b:	83 40 e0 02          	addl   $0x2,-0x20(%eax)
44c49f:	8b 45 08             	mov    0x8(%ebp),%eax
44c4a2:	ff 48 e8             	decl   -0x18(%eax)
44c4a5:	8b 45 08             	mov    0x8(%ebp),%eax
44c4a8:	0f b6 40 cf          	movzbl -0x31(%eax),%eax
44c4ac:	66 8b 04 45 d8 dc 45 	mov    0x45dcd8(,%eax,2),%ax
44c4b3:	00
44c4b4:	66 83 c8 60          	or     $0x60,%ax
44c4b8:	0f b7 c0             	movzwl %ax,%eax
44c4bb:	8b 55 08             	mov    0x8(%ebp),%edx
44c4be:	89 42 9c             	mov    %eax,-0x64(%edx)
44c4c1:	8b 45 08             	mov    0x8(%ebp),%eax
44c4c4:	80 78 9b 00          	cmpb   $0x0,-0x65(%eax)
44c4c8:	74 13                	je     0x44c4dd
44c4ca:	8b 45 08             	mov    0x8(%ebp),%eax
44c4cd:	f6 40 0d 01          	testb  $0x1,0xd(%eax)
44c4d1:	74 0a                	je     0x44c4dd
44c4d3:	8b 45 08             	mov    0x8(%ebp),%eax
44c4d6:	81 48 9c 00 00 10 00 	orl    $0x100000,-0x64(%eax)
44c4dd:	8b 45 08             	mov    0x8(%ebp),%eax
44c4e0:	8b 55 08             	mov    0x8(%ebp),%edx
44c4e3:	8d 70 e0             	lea    -0x20(%eax),%esi
44c4e6:	8d 7a a4             	lea    -0x5c(%edx),%edi
44c4e9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44c4ea:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44c4eb:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44c4ec:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44c4ed:	8b 45 08             	mov    0x8(%ebp),%eax
44c4f0:	f6 40 0c 20          	testb  $0x20,0xc(%eax)
44c4f4:	74 14                	je     0x44c50a
44c4f6:	8b 45 08             	mov    0x8(%ebp),%eax
44c4f9:	8b 40 d8             	mov    -0x28(%eax),%eax
44c4fc:	8b 40 0c             	mov    0xc(%eax),%eax
44c4ff:	8a 15 84 c6 44 00    	mov    0x44c684,%dl
44c505:	e8 da 08 fd ff       	call   0x41cde4
44c50a:	8b 45 08             	mov    0x8(%ebp),%eax
44c50d:	83 c0 e0             	add    $0xffffffe0,%eax
44c510:	50                   	push   %eax
44c511:	8b 45 08             	mov    0x8(%ebp),%eax
44c514:	8a 40 d7             	mov    -0x29(%eax),%al
44c517:	50                   	push   %eax
44c518:	8b 45 08             	mov    0x8(%ebp),%eax
44c51b:	8b 40 9c             	mov    -0x64(%eax),%eax
44c51e:	0d 00 04 00 00       	or     $0x400,%eax
44c523:	0d 00 01 00 00       	or     $0x100,%eax
44c528:	50                   	push   %eax
44c529:	8b 45 08             	mov    0x8(%ebp),%eax
44c52c:	8b 40 c8             	mov    -0x38(%eax),%eax
44c52f:	8b 48 30             	mov    0x30(%eax),%ecx
44c532:	8b 45 08             	mov    0x8(%ebp),%eax
44c535:	8b 50 d8             	mov    -0x28(%eax),%edx
44c538:	8b 45 08             	mov    0x8(%ebp),%eax
44c53b:	8b 40 c8             	mov    -0x38(%eax),%eax
44c53e:	e8 c5 ec ff ff       	call   0x44b208
44c543:	8b 45 08             	mov    0x8(%ebp),%eax
44c546:	8b 40 a4             	mov    -0x5c(%eax),%eax
44c549:	8b 55 08             	mov    0x8(%ebp),%edx
44c54c:	89 42 e0             	mov    %eax,-0x20(%edx)
44c54f:	8b 45 08             	mov    0x8(%ebp),%eax
44c552:	8b 40 ac             	mov    -0x54(%eax),%eax
44c555:	8b 55 08             	mov    0x8(%ebp),%edx
44c558:	89 42 e8             	mov    %eax,-0x18(%edx)
44c55b:	8b 45 08             	mov    0x8(%ebp),%eax
44c55e:	8b 40 b0             	mov    -0x50(%eax),%eax
44c561:	8b 55 08             	mov    0x8(%ebp),%edx
44c564:	2b 42 a8             	sub    -0x58(%edx),%eax
44c567:	8b 55 08             	mov    0x8(%ebp),%edx
44c56a:	8b 52 ec             	mov    -0x14(%edx),%edx
44c56d:	8b 4d 08             	mov    0x8(%ebp),%ecx
44c570:	2b 51 e4             	sub    -0x1c(%ecx),%edx
44c573:	2b c2                	sub    %edx,%eax
44c575:	d1 f8                	sar    $1,%eax
44c577:	79 03                	jns    0x44c57c
44c579:	83 d0 00             	adc    $0x0,%eax
44c57c:	50                   	push   %eax
44c57d:	6a 00                	push   $0x0
44c57f:	8b 45 08             	mov    0x8(%ebp),%eax
44c582:	83 c0 e0             	add    $0xffffffe0,%eax
44c585:	50                   	push   %eax
44c586:	e8 0d a2 fb ff       	call   0x406798
44c58b:	8b 45 08             	mov    0x8(%ebp),%eax
44c58e:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
44c592:	74 22                	je     0x44c5b6
44c594:	8b 45 08             	mov    0x8(%ebp),%eax
44c597:	80 78 d7 00          	cmpb   $0x0,-0x29(%eax)
44c59b:	74 19                	je     0x44c5b6
44c59d:	8b 45 08             	mov    0x8(%ebp),%eax
44c5a0:	80 78 a3 00          	cmpb   $0x0,-0x5d(%eax)
44c5a4:	74 10                	je     0x44c5b6
44c5a6:	6a 00                	push   $0x0
44c5a8:	6a 01                	push   $0x1
44c5aa:	8b 45 08             	mov    0x8(%ebp),%eax
44c5ad:	83 c0 e0             	add    $0xffffffe0,%eax
44c5b0:	50                   	push   %eax
44c5b1:	e8 e2 a1 fb ff       	call   0x406798
44c5b6:	8b 45 08             	mov    0x8(%ebp),%eax
44c5b9:	83 c0 e0             	add    $0xffffffe0,%eax
44c5bc:	50                   	push   %eax
44c5bd:	8b 45 08             	mov    0x8(%ebp),%eax
44c5c0:	8a 40 d7             	mov    -0x29(%eax),%al
44c5c3:	50                   	push   %eax
44c5c4:	8b 45 08             	mov    0x8(%ebp),%eax
44c5c7:	8b 40 9c             	mov    -0x64(%eax),%eax
44c5ca:	50                   	push   %eax
44c5cb:	8b 45 08             	mov    0x8(%ebp),%eax
44c5ce:	8b 40 c8             	mov    -0x38(%eax),%eax
44c5d1:	8b 48 30             	mov    0x30(%eax),%ecx
44c5d4:	8b 45 08             	mov    0x8(%ebp),%eax
44c5d7:	8b 50 d8             	mov    -0x28(%eax),%edx
44c5da:	8b 45 08             	mov    0x8(%ebp),%eax