44713e:	89 5d fc             	mov    %ebx,-0x4(%ebp)
447141:	85 f6                	test   %esi,%esi
447143:	78 21                	js     0x447166
447145:	8d 45 fc             	lea    -0x4(%ebp),%eax
447148:	50                   	push   %eax
447149:	6a 01                	push   $0x1
44714b:	6a 08                	push   $0x8
44714d:	ff 15 f4 10 45 00    	call   *0x4510f4
447153:	50                   	push   %eax
447154:	ff 15 d4 10 45 00    	call   *0x4510d4
44715a:	8b f0                	mov    %eax,%esi
44715c:	ff 15 64 30 45 00    	call   *0x453064
447162:	85 f6                	test   %esi,%esi
447164:	eb 21                	jmp    0x447187
447166:	81 fe 17 01 01 80    	cmp    $0x80010117,%esi
44716c:	0f 85 85 00 00 00    	jne    0x4471f7
447172:	8d 45 fc             	lea    -0x4(%ebp),%eax
447175:	50                   	push   %eax
447176:	6a 08                	push   $0x8
447178:	ff 15 e0 10 45 00    	call   *0x4510e0
44717e:	50                   	push   %eax
44717f:	ff 15 e8 10 45 00    	call   *0x4510e8
447185:	85 c0                	test   %eax,%eax
447187:	75 07                	jne    0x447190
447189:	be 03 10 04 80       	mov    $0x80041003,%esi
44718e:	eb 67                	jmp    0x4471f7
447190:	8b 4d fc             	mov    -0x4(%ebp),%ecx
447193:	8d 45 f4             	lea    -0xc(%ebp),%eax
447196:	50                   	push   %eax
447197:	8d 55 f8             	lea    -0x8(%ebp),%edx
44719a:	89 5d f8             	mov    %ebx,-0x8(%ebp)
44719d:	89 5d f4             	mov    %ebx,-0xc(%ebp)
4471a0:	e8 a1 fa ff ff       	call   0x446c46
4471a5:	85 c0                	test   %eax,%eax
4471a7:	78 40                	js     0x4471e9
4471a9:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4471ac:	8d 45 f8             	lea    -0x8(%ebp),%eax
4471af:	50                   	push   %eax
4471b0:	8d 55 f0             	lea    -0x10(%ebp),%edx
4471b3:	89 5d f0             	mov    %ebx,-0x10(%ebp)
4471b6:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4471b9:	e8 1d f9 ff ff       	call   0x446adb
4471be:	8b f0                	mov    %eax,%esi
4471c0:	85 f6                	test   %esi,%esi
4471c2:	78 1b                	js     0x4471df
4471c4:	8b 55 f8             	mov    -0x8(%ebp),%edx
4471c7:	8d 45 ec             	lea    -0x14(%ebp),%eax
4471ca:	57                   	push   %edi
4471cb:	50                   	push   %eax
4471cc:	51                   	push   %ecx
4471cd:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4471d0:	e8 82 f0 ff ff       	call   0x446257
4471d5:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4471d8:	8b f0                	mov    %eax,%esi
4471da:	e8 31 8e fc ff       	call   0x410010
4471df:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4471e2:	e8 29 8e fc ff       	call   0x410010
4471e7:	eb 05                	jmp    0x4471ee
4471e9:	be 0a 10 04 80       	mov    $0x8004100a,%esi
4471ee:	ff 75 fc             	push   -0x4(%ebp)
4471f1:	ff 15 5c 10 45 00    	call   *0x45105c
4471f7:	5f                   	pop    %edi
4471f8:	8b c6                	mov    %esi,%eax
4471fa:	5e                   	pop    %esi
4471fb:	5b                   	pop    %ebx
4471fc:	c9                   	leave
4471fd:	c3                   	ret
4471fe:	8b ff                	mov    %edi,%edi
447200:	55                   	push   %ebp
447201:	8b ec                	mov    %esp,%ebp
447203:	6a ff                	push   $0xffffffff
447205:	68 16 3a 42 00       	push   $0x423a16
44720a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
447210:	50                   	push   %eax
447211:	56                   	push   %esi
447212:	57                   	push   %edi
447213:	a1 54 02 45 00       	mov    0x450254,%eax
447218:	33 c5                	xor    %ebp,%eax
44721a:	50                   	push   %eax
44721b:	8d 45 f4             	lea    -0xc(%ebp),%eax
44721e:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
447224:	8b f9                	mov    %ecx,%edi
447226:	8b 4f 18             	mov    0x18(%edi),%ecx
447229:	85 c9                	test   %ecx,%ecx
44722b:	74 10                	je     0x44723d
44722d:	8b 01                	mov    (%ecx),%eax
44722f:	51                   	push   %ecx
447230:	8b 70 08             	mov    0x8(%eax),%esi
447233:	8b ce                	mov    %esi,%ecx
447235:	ff 15 c4 12 45 00    	call   *0x4512c4
44723b:	ff d6                	call   *%esi
44723d:	8b 4f 1c             	mov    0x1c(%edi),%ecx
447240:	85 c9                	test   %ecx,%ecx
447242:	74 10                	je     0x447254
447244:	8b 01                	mov    (%ecx),%eax
447246:	51                   	push   %ecx
447247:	8b 70 08             	mov    0x8(%eax),%esi
44724a:	8b ce                	mov    %esi,%ecx
44724c:	ff 15 c4 12 45 00    	call   *0x4512c4
447252:	ff d6                	call   *%esi
447254:	8b 4f 20             	mov    0x20(%edi),%ecx
447257:	85 c9                	test   %ecx,%ecx
447259:	74 10                	je     0x44726b
44725b:	8b 01                	mov    (%ecx),%eax
44725d:	51                   	push   %ecx
44725e:	8b 70 08             	mov    0x8(%eax),%esi
447261:	8b ce                	mov    %esi,%ecx
447263:	ff 15 c4 12 45 00    	call   *0x4512c4
447269:	ff d6                	call   *%esi
44726b:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
44726f:	74 09                	je     0x44727a
447271:	ff 77 08             	push   0x8(%edi)
447274:	ff 15 0c 30 45 00    	call   *0x45300c
44727a:	83 7f 10 00          	cmpl   $0x0,0x10(%edi)
44727e:	74 09                	je     0x447289
447280:	ff 77 10             	push   0x10(%edi)
447283:	ff 15 0c 30 45 00    	call   *0x45300c
447289:	8b 4d f4             	mov    -0xc(%ebp),%ecx
44728c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
447293:	59                   	pop    %ecx
447294:	5f                   	pop    %edi
447295:	5e                   	pop    %esi
447296:	c9                   	leave
447297:	c3                   	ret
447298:	8b ff                	mov    %edi,%edi
44729a:	55                   	push   %ebp
44729b:	8b ec                	mov    %esp,%ebp
44729d:	6a ff                	push   $0xffffffff
44729f:	68 16 3a 42 00       	push   $0x423a16
4472a4:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4472aa:	50                   	push   %eax
4472ab:	56                   	push   %esi
4472ac:	57                   	push   %edi
4472ad:	a1 54 02 45 00       	mov    0x450254,%eax
4472b2:	33 c5                	xor    %ebp,%eax
4472b4:	50                   	push   %eax
4472b5:	8d 45 f4             	lea    -0xc(%ebp),%eax
4472b8:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4472be:	8b f9                	mov    %ecx,%edi
4472c0:	8b 4f 30             	mov    0x30(%edi),%ecx
4472c3:	85 c9                	test   %ecx,%ecx
4472c5:	74 10                	je     0x4472d7
4472c7:	8b 01                	mov    (%ecx),%eax
4472c9:	51                   	push   %ecx
4472ca:	8b 70 08             	mov    0x8(%eax),%esi
4472cd:	8b ce                	mov    %esi,%ecx
4472cf:	ff 15 c4 12 45 00    	call   *0x4512c4
4472d5:	ff d6                	call   *%esi
4472d7:	8b 4f 34             	mov    0x34(%edi),%ecx
4472da:	85 c9                	test   %ecx,%ecx
4472dc:	74 10                	je     0x4472ee
4472de:	8b 01                	mov    (%ecx),%eax
4472e0:	51                   	push   %ecx
4472e1:	8b 70 08             	mov    0x8(%eax),%esi
4472e4:	8b ce                	mov    %esi,%ecx
4472e6:	ff 15 c4 12 45 00    	call   *0x4512c4
4472ec:	ff d6                	call   *%esi
4472ee:	8b 4f 38             	mov    0x38(%edi),%ecx
4472f1:	85 c9                	test   %ecx,%ecx
4472f3:	74 10                	je     0x447305
4472f5:	8b 01                	mov    (%ecx),%eax
4472f7:	51                   	push   %ecx
4472f8:	8b 70 08             	mov    0x8(%eax),%esi
4472fb:	8b ce                	mov    %esi,%ecx
4472fd:	ff 15 c4 12 45 00    	call   *0x4512c4
447303:	ff d6                	call   *%esi
447305:	8b 4d f4             	mov    -0xc(%ebp),%ecx
447308:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
44730f:	59                   	pop    %ecx
447310:	5f                   	pop    %edi
447311:	5e                   	pop    %esi
447312:	c9                   	leave
447313:	c3                   	ret
447314:	8b ff                	mov    %edi,%edi
447316:	55                   	push   %ebp
447317:	8b ec                	mov    %esp,%ebp
447319:	83 ec 14             	sub    $0x14,%esp
44731c:	56                   	push   %esi
44731d:	89 55 ec             	mov    %edx,-0x14(%ebp)
447320:	8b f1                	mov    %ecx,%esi
447322:	57                   	push   %edi
447323:	ba 80 03 45 00       	mov    $0x450380,%edx
447328:	33 ff                	xor    %edi,%edi
44732a:	e8 29 71 fd ff       	call   0x41e458
44732f:	85 c0                	test   %eax,%eax
447331:	0f 84 81 01 00 00    	je     0x4474b8
447337:	6a 0e                	push   $0xe
447339:	ba 70 05 45 00       	mov    $0x450570,%edx
44733e:	8b ce                	mov    %esi,%ecx
447340:	e8 c5 bd fe ff       	call   0x43310a
447345:	85 c0                	test   %eax,%eax
447347:	0f 85 66 01 00 00    	jne    0x4474b3
44734d:	53                   	push   %ebx
44734e:	8d 45 f0             	lea    -0x10(%ebp),%eax
447351:	89 7d fc             	mov    %edi,-0x4(%ebp)
447354:	50                   	push   %eax
447355:	8d 45 f8             	lea    -0x8(%ebp),%eax
447358:	89 7d f8             	mov    %edi,-0x8(%ebp)
44735b:	50                   	push   %eax
44735c:	8d 45 fc             	lea    -0x4(%ebp),%eax
44735f:	89 7d f0             	mov    %edi,-0x10(%ebp)
447362:	50                   	push   %eax
447363:	57                   	push   %edi
447364:	8d 5e 1c             	lea    0x1c(%esi),%ebx
447367:	53                   	push   %ebx
447368:	e8 51 01 00 00       	call   0x4474be
44736d:	85 c0                	test   %eax,%eax
44736f:	0f 85 24 01 00 00    	jne    0x447499
447375:	83 7d fc 01          	cmpl   $0x1,-0x4(%ebp)
447379:	0f 85 1a 01 00 00    	jne    0x447499
44737f:	39 7d f0             	cmp    %edi,-0x10(%ebp)
447382:	0f 84 11 01 00 00    	je     0x447499
447388:	8b 4d f0             	mov    -0x10(%ebp),%ecx
44738b:	ba 38 b4 40 00       	mov    $0x40b438,%edx
447390:	e8 c3 70 fd ff       	call   0x41e458
447395:	85 c0                	test   %eax,%eax
447397:	0f 85 fc 00 00 00    	jne    0x447499
44739d:	8d 45 f4             	lea    -0xc(%ebp),%eax
4473a0:	89 7d f4             	mov    %edi,-0xc(%ebp)
4473a3:	50                   	push   %eax
4473a4:	8d 45 f8             	lea    -0x8(%ebp),%eax
4473a7:	50                   	push   %eax
4473a8:	8d 45 fc             	lea    -0x4(%ebp),%eax
4473ab:	50                   	push   %eax
4473ac:	ff 75 f8             	push   -0x8(%ebp)
4473af:	53                   	push   %ebx
4473b0:	e8 09 01 00 00       	call   0x4474be
4473b5:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4473b8:	8b f0                	mov    %eax,%esi
4473ba:	e8 51 8c fc ff       	call   0x410010
4473bf:	85 f6                	test   %esi,%esi
4473c1:	75 6b                	jne    0x44742e
4473c3:	83 7d fc 02          	cmpl   $0x2,-0x4(%ebp)
4473c7:	75 65                	jne    0x44742e
4473c9:	8d 45 f4             	lea    -0xc(%ebp),%eax
4473cc:	89 7d f4             	mov    %edi,-0xc(%ebp)
4473cf:	50                   	push   %eax
4473d0:	8d 45 f8             	lea    -0x8(%ebp),%eax
4473d3:	50                   	push   %eax
4473d4:	8d 45 fc             	lea    -0x4(%ebp),%eax
4473d7:	50                   	push   %eax
4473d8:	ff 75 f8             	push   -0x8(%ebp)
4473db:	53                   	push   %ebx
4473dc:	e8 dd 00 00 00       	call   0x4474be
4473e1:	8b f0                	mov    %eax,%esi
4473e3:	85 f6                	test   %esi,%esi
4473e5:	75 3a                	jne    0x447421
4473e7:	83 7d fc 01          	cmpl   $0x1,-0x4(%ebp)
4473eb:	75 34                	jne    0x447421
4473ed:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4473f0:	ba 54 b4 40 00       	mov    $0x40b454,%edx
4473f5:	e8 5e 70 fd ff       	call   0x41e458
4473fa:	85 c0                	test   %eax,%eax
4473fc:	75 0b                	jne    0x447409
4473fe:	8b 45 ec             	mov    -0x14(%ebp),%eax
447401:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
447407:	eb 1b                	jmp    0x447424
447409:	8b 4d f4             	mov    -0xc(%ebp),%ecx
44740c:	ba 60 b4 40 00       	mov    $0x40b460,%edx
447411:	e8 42 70 fd ff       	call   0x41e458
447416:	85 c0                	test   %eax,%eax
447418:	75 07                	jne    0x447421
44741a:	8b 45 ec             	mov    -0x14(%ebp),%eax
44741d:	89 38                	mov    %edi,(%eax)
44741f:	eb 03                	jmp    0x447424
447421:	33 f6                	xor    %esi,%esi
447423:	46                   	inc    %esi
447424:	8b 4d f4             	mov    -0xc(%ebp),%ecx
447427:	e8 e4 8b fc ff       	call   0x410010
44742c:	eb 03                	jmp    0x447431
44742e:	33 f6                	xor    %esi,%esi
447430:	46                   	inc    %esi
447431:	85 f6                	test   %esi,%esi
447433:	75 67                	jne    0x44749c
447435:	8d 45 ec             	lea    -0x14(%ebp),%eax
447438:	89 7d ec             	mov    %edi,-0x14(%ebp)
44743b:	50                   	push   %eax
44743c:	8d 45 f8             	lea    -0x8(%ebp),%eax
44743f:	50                   	push   %eax
447440:	8d 45 fc             	lea    -0x4(%ebp),%eax
447443:	50                   	push   %eax
447444:	ff 75 f8             	push   -0x8(%ebp)
447447:	53                   	push   %ebx
447448:	e8 71 00 00 00       	call   0x4474be
44744d:	8b f0                	mov    %eax,%esi
44744f:	85 f6                	test   %esi,%esi
447451:	75 06                	jne    0x447459
447453:	83 7d fc 03          	cmpl   $0x3,-0x4(%ebp)
447457:	74 03                	je     0x44745c
447459:	33 f6                	xor    %esi,%esi
44745b:	46                   	inc    %esi
44745c:	8b 4d ec             	mov    -0x14(%ebp),%ecx
44745f:	e8 ac 8b fc ff       	call   0x410010
447464:	85 f6                	test   %esi,%esi
447466:	75 34                	jne    0x44749c
447468:	8d 45 ec             	lea    -0x14(%ebp),%eax
44746b:	89 7d ec             	mov    %edi,-0x14(%ebp)
44746e:	50                   	push   %eax
44746f:	8d 45 f8             	lea    -0x8(%ebp),%eax
447472:	50                   	push   %eax
447473:	8d 45 fc             	lea    -0x4(%ebp),%eax
447476:	50                   	push   %eax
447477:	ff 75 f8             	push   -0x8(%ebp)
44747a:	53                   	push   %ebx
44747b:	e8 3e 00 00 00       	call   0x4474be
447480:	8b f0                	mov    %eax,%esi
447482:	85 f6                	test   %esi,%esi
447484:	75 06                	jne    0x44748c
447486:	83 7d fc 06          	cmpl   $0x6,-0x4(%ebp)
44748a:	74 03                	je     0x44748f
44748c:	33 f6                	xor    %esi,%esi
44748e:	46                   	inc    %esi
44748f:	8b 4d ec             	mov    -0x14(%ebp),%ecx
447492:	e8 79 8b fc ff       	call   0x410010
447497:	eb 03                	jmp    0x44749c
447499:	33 f6                	xor    %esi,%esi
44749b:	46                   	inc    %esi
44749c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
44749f:	e8 6c 8b fc ff       	call   0x410010
4474a4:	8b fe                	mov    %esi,%edi
4474a6:	f7 df                	neg    %edi
4474a8:	5b                   	pop    %ebx
4474a9:	1b ff                	sbb    %edi,%edi
4474ab:	81 e7 12 10 04 80    	and    $0x80041012,%edi
4474b1:	eb 05                	jmp    0x4474b8
4474b3:	bf 12 10 04 80       	mov    $0x80041012,%edi
4474b8:	8b c7                	mov    %edi,%eax
4474ba:	5f                   	pop    %edi
4474bb:	5e                   	pop    %esi
4474bc:	c9                   	leave
4474bd:	c3                   	ret
4474be:	8b ff                	mov    %edi,%edi
4474c0:	55                   	push   %ebp
4474c1:	8b ec                	mov    %esp,%ebp
4474c3:	83 ec 24             	sub    $0x24,%esp
4474c6:	8b 45 10             	mov    0x10(%ebp),%eax
4474c9:	8b 4d 14             	mov    0x14(%ebp),%ecx
4474cc:	53                   	push   %ebx
4474cd:	56                   	push   %esi
4474ce:	33 f6                	xor    %esi,%esi
4474d0:	89 30                	mov    %esi,(%eax)
4474d2:	8b d6                	mov    %esi,%edx
4474d4:	8b 45 18             	mov    0x18(%ebp),%eax
4474d7:	8b de                	mov    %esi,%ebx
4474d9:	57                   	push   %edi
4474da:	89 75 e8             	mov    %esi,-0x18(%ebp)
4474dd:	8b fe                	mov    %esi,%edi
4474df:	89 55 f0             	mov    %edx,-0x10(%ebp)
4474e2:	89 30                	mov    %esi,(%eax)
4474e4:	8b 45 0c             	mov    0xc(%ebp),%eax