445132:	33 c0                	xor    %eax,%eax
445134:	89 47 18             	mov    %eax,0x18(%edi)
445137:	8b 45 fc             	mov    -0x4(%ebp),%eax
44513a:	89 47 0c             	mov    %eax,0xc(%edi)
44513d:	8b 45 fc             	mov    -0x4(%ebp),%eax
445140:	89 78 18             	mov    %edi,0x18(%eax)
445143:	eb 17                	jmp    0x44515c
445145:	8b 45 fc             	mov    -0x4(%ebp),%eax
445148:	89 43 08             	mov    %eax,0x8(%ebx)
44514b:	8b 45 fc             	mov    -0x4(%ebp),%eax
44514e:	89 47 18             	mov    %eax,0x18(%edi)
445151:	33 c0                	xor    %eax,%eax
445153:	89 47 0c             	mov    %eax,0xc(%edi)
445156:	8b 45 fc             	mov    -0x4(%ebp),%eax
445159:	89 78 0c             	mov    %edi,0xc(%eax)
44515c:	8b c3                	mov    %ebx,%eax
44515e:	e8 01 f5 ff ff       	call   0x444664
445163:	8b c3                	mov    %ebx,%eax
445165:	e8 8a f8 ff ff       	call   0x4449f4
44516a:	56                   	push   %esi
44516b:	68 04 65 44 00       	push   $0x446504
445170:	33 d2                	xor    %edx,%edx
445172:	8b c6                	mov    %esi,%eax
445174:	e8 b7 fb ff ff       	call   0x444d30
445179:	5f                   	pop    %edi
44517a:	5e                   	pop    %esi
44517b:	5b                   	pop    %ebx
44517c:	59                   	pop    %ecx
44517d:	5d                   	pop    %ebp
44517e:	c2 08 00             	ret    $0x8
445181:	8d 40 00             	lea    0x0(%eax),%eax
445184:	55                   	push   %ebp
445185:	8b ec                	mov    %esp,%ebp
445187:	53                   	push   %ebx
445188:	8b d9                	mov    %ecx,%ebx
44518a:	8b 4d 08             	mov    0x8(%ebp),%ecx
44518d:	85 db                	test   %ebx,%ebx
44518f:	75 15                	jne    0x4451a6
445191:	8b 40 64             	mov    0x64(%eax),%eax
445194:	8b 58 08             	mov    0x8(%eax),%ebx
445197:	84 c9                	test   %cl,%cl
445199:	74 0b                	je     0x4451a6
44519b:	eb 02                	jmp    0x44519f
44519d:	8b d8                	mov    %eax,%ebx
44519f:	8b 43 0c             	mov    0xc(%ebx),%eax
4451a2:	85 c0                	test   %eax,%eax
4451a4:	75 f7                	jne    0x44519d
4451a6:	84 c9                	test   %cl,%cl
4451a8:	74 1b                	je     0x4451c5
4451aa:	8b 43 14             	mov    0x14(%ebx),%eax
4451ad:	89 42 14             	mov    %eax,0x14(%edx)
4451b0:	89 5a 18             	mov    %ebx,0x18(%edx)
4451b3:	8b 43 0c             	mov    0xc(%ebx),%eax
4451b6:	89 42 0c             	mov    %eax,0xc(%edx)
4451b9:	85 c0                	test   %eax,%eax
4451bb:	74 03                	je     0x4451c0
4451bd:	89 50 18             	mov    %edx,0x18(%eax)
4451c0:	89 53 0c             	mov    %edx,0xc(%ebx)
4451c3:	eb 21                	jmp    0x4451e6
4451c5:	89 5a 0c             	mov    %ebx,0xc(%edx)
4451c8:	8b 43 18             	mov    0x18(%ebx),%eax
4451cb:	89 42 18             	mov    %eax,0x18(%edx)
4451ce:	85 c0                	test   %eax,%eax
4451d0:	74 03                	je     0x4451d5
4451d2:	89 50 0c             	mov    %edx,0xc(%eax)
4451d5:	89 53 18             	mov    %edx,0x18(%ebx)
4451d8:	8b 43 14             	mov    0x14(%ebx),%eax
4451db:	89 42 14             	mov    %eax,0x14(%edx)
4451de:	3b 58 08             	cmp    0x8(%eax),%ebx
4451e1:	75 03                	jne    0x4451e6
4451e3:	89 50 08             	mov    %edx,0x8(%eax)
4451e6:	8b 43 14             	mov    0x14(%ebx),%eax
4451e9:	e8 76 f4 ff ff       	call   0x444664
4451ee:	8b 43 14             	mov    0x14(%ebx),%eax
4451f1:	e8 fe f7 ff ff       	call   0x4449f4
4451f6:	5b                   	pop    %ebx
4451f7:	5d                   	pop    %ebp
4451f8:	c2 04 00             	ret    $0x4
4451fb:	90                   	nop
4451fc:	55                   	push   %ebp
4451fd:	8b ec                	mov    %esp,%ebp
4451ff:	53                   	push   %ebx
445200:	56                   	push   %esi
445201:	57                   	push   %edi
445202:	8b d8                	mov    %eax,%ebx
445204:	8b 43 14             	mov    0x14(%ebx),%eax
445207:	80 78 10 01          	cmpb   $0x1,0x10(%eax)
44520b:	75 44                	jne    0x445251
44520d:	8b c3                	mov    %ebx,%eax
44520f:	e8 68 f7 ff ff       	call   0x44497c
445214:	8b 55 08             	mov    0x8(%ebp),%edx
445217:	8b 52 fc             	mov    -0x4(%edx),%edx
44521a:	3b 42 04             	cmp    0x4(%edx),%eax
44521d:	7c 32                	jl     0x445251
44521f:	8b c3                	mov    %ebx,%eax
445221:	e8 56 f7 ff ff       	call   0x44497c
445226:	8b 55 08             	mov    0x8(%ebp),%edx
445229:	8b 52 f8             	mov    -0x8(%edx),%edx
44522c:	2b 42 0c             	sub    0xc(%edx),%eax
44522f:	8b 55 08             	mov    0x8(%ebp),%edx
445232:	8b 52 fc             	mov    -0x4(%edx),%edx
445235:	3b 42 04             	cmp    0x4(%edx),%eax
445238:	7f 17                	jg     0x445251
44523a:	8b 45 08             	mov    0x8(%ebp),%eax
44523d:	8b 40 f4             	mov    -0xc(%eax),%eax
445240:	c7 00 12 00 00 00    	movl   $0x12,(%eax)
445246:	8b 45 08             	mov    0x8(%ebp),%eax
445249:	89 58 f0             	mov    %ebx,-0x10(%eax)
44524c:	e9 88 01 00 00       	jmp    0x4453d9
445251:	8b 43 14             	mov    0x14(%ebx),%eax
445254:	80 78 10 02          	cmpb   $0x2,0x10(%eax)
445258:	75 42                	jne    0x44529c
44525a:	8b c3                	mov    %ebx,%eax
44525c:	e8 1b f7 ff ff       	call   0x44497c
445261:	8b 55 08             	mov    0x8(%ebp),%edx
445264:	8b 52 fc             	mov    -0x4(%edx),%edx
445267:	3b 02                	cmp    (%edx),%eax
445269:	7c 31                	jl     0x44529c
44526b:	8b c3                	mov    %ebx,%eax
44526d:	e8 0a f7 ff ff       	call   0x44497c
445272:	8b 55 08             	mov    0x8(%ebp),%edx
445275:	8b 52 f8             	mov    -0x8(%edx),%edx
445278:	2b 42 0c             	sub    0xc(%edx),%eax
44527b:	8b 55 08             	mov    0x8(%ebp),%edx
44527e:	8b 52 fc             	mov    -0x4(%edx),%edx
445281:	3b 02                	cmp    (%edx),%eax
445283:	7f 17                	jg     0x44529c
445285:	8b 45 08             	mov    0x8(%ebp),%eax
445288:	8b 40 f4             	mov    -0xc(%eax),%eax
44528b:	c7 00 12 00 00 00    	movl   $0x12,(%eax)
445291:	8b 45 08             	mov    0x8(%ebp),%eax
445294:	89 58 f0             	mov    %ebx,-0x10(%eax)
445297:	e9 3d 01 00 00       	jmp    0x4453d9
44529c:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
4452a0:	0f 84 33 01 00 00    	je     0x4453d9
4452a6:	ba 01 00 00 00       	mov    $0x1,%edx
4452ab:	8b c3                	mov    %ebx,%eax
4452ad:	e8 96 f2 ff ff       	call   0x444548
4452b2:	8b f0                	mov    %eax,%esi
4452b4:	ba 02 00 00 00       	mov    $0x2,%edx
4452b9:	8b c3                	mov    %ebx,%eax
4452bb:	e8 88 f2 ff ff       	call   0x444548
4452c0:	8b f8                	mov    %eax,%edi
4452c2:	8b 45 08             	mov    0x8(%ebp),%eax
4452c5:	8b 40 f8             	mov    -0x8(%eax),%eax
4452c8:	80 78 1c 00          	cmpb   $0x0,0x1c(%eax)
4452cc:	0f 84 8e 00 00 00    	je     0x445360
4452d2:	8b 45 08             	mov    0x8(%ebp),%eax
4452d5:	8b 40 fc             	mov    -0x4(%eax),%eax
4452d8:	3b 70 04             	cmp    0x4(%eax),%esi
4452db:	0f 8f f8 00 00 00    	jg     0x4453d9
4452e1:	8b 45 08             	mov    0x8(%ebp),%eax
4452e4:	8b 40 fc             	mov    -0x4(%eax),%eax
4452e7:	8b 40 04             	mov    0x4(%eax),%eax
4452ea:	8b 55 08             	mov    0x8(%ebp),%edx
4452ed:	8b 52 f8             	mov    -0x8(%edx),%edx
4452f0:	03 72 18             	add    0x18(%edx),%esi
4452f3:	3b c6                	cmp    %esi,%eax
4452f5:	0f 8f de 00 00 00    	jg     0x4453d9
4452fb:	8b 45 08             	mov    0x8(%ebp),%eax
4452fe:	8b 40 fc             	mov    -0x4(%eax),%eax
445301:	3b 38                	cmp    (%eax),%edi
445303:	0f 8f d0 00 00 00    	jg     0x4453d9
445309:	ba 02 00 00 00       	mov    $0x2,%edx
44530e:	8b c3                	mov    %ebx,%eax
445310:	e8 9f f2 ff ff       	call   0x4445b4
445315:	03 f8                	add    %eax,%edi
445317:	8b 45 08             	mov    0x8(%ebp),%eax
44531a:	8b 40 fc             	mov    -0x4(%eax),%eax
44531d:	3b 38                	cmp    (%eax),%edi
44531f:	0f 8c b4 00 00 00    	jl     0x4453d9
445325:	8b 45 08             	mov    0x8(%ebp),%eax
445328:	89 58 f0             	mov    %ebx,-0x10(%eax)
44532b:	8b 43 04             	mov    0x4(%ebx),%eax
44532e:	8b 50 40             	mov    0x40(%eax),%edx
445331:	03 50 48             	add    0x48(%eax),%edx
445334:	83 ea 0f             	sub    $0xf,%edx
445337:	8b 45 08             	mov    0x8(%ebp),%eax
44533a:	8b 40 fc             	mov    -0x4(%eax),%eax
44533d:	3b 10                	cmp    (%eax),%edx
44533f:	7d 11                	jge    0x445352
445341:	8b 45 08             	mov    0x8(%ebp),%eax
445344:	8b 40 f4             	mov    -0xc(%eax),%eax
445347:	c7 00 14 00 00 00    	movl   $0x14,(%eax)
44534d:	e9 87 00 00 00       	jmp    0x4453d9
445352:	8b 45 08             	mov    0x8(%ebp),%eax
445355:	8b 40 f4             	mov    -0xc(%eax),%eax
445358:	c7 00 02 00 00 00    	movl   $0x2,(%eax)
44535e:	eb 79                	jmp    0x4453d9
445360:	8b 45 08             	mov    0x8(%ebp),%eax
445363:	8b 40 fc             	mov    -0x4(%eax),%eax
445366:	3b 38                	cmp    (%eax),%edi
445368:	7f 6f                	jg     0x4453d9
44536a:	8b 45 08             	mov    0x8(%ebp),%eax
44536d:	8b 40 fc             	mov    -0x4(%eax),%eax
445370:	8b 00                	mov    (%eax),%eax
445372:	8b 55 08             	mov    0x8(%ebp),%edx
445375:	8b 52 f8             	mov    -0x8(%edx),%edx
445378:	03 7a 18             	add    0x18(%edx),%edi
44537b:	3b c7                	cmp    %edi,%eax
44537d:	7f 5a                	jg     0x4453d9
44537f:	8b 45 08             	mov    0x8(%ebp),%eax
445382:	8b 40 fc             	mov    -0x4(%eax),%eax
445385:	3b 70 04             	cmp    0x4(%eax),%esi
445388:	7f 4f                	jg     0x4453d9
44538a:	ba 01 00 00 00       	mov    $0x1,%edx
44538f:	8b c3                	mov    %ebx,%eax
445391:	e8 1e f2 ff ff       	call   0x4445b4
445396:	03 f0                	add    %eax,%esi
445398:	8b 45 08             	mov    0x8(%ebp),%eax
44539b:	8b 40 fc             	mov    -0x4(%eax),%eax
44539e:	3b 70 04             	cmp    0x4(%eax),%esi
4453a1:	7c 36                	jl     0x4453d9
4453a3:	8b 45 08             	mov    0x8(%ebp),%eax
4453a6:	89 58 f0             	mov    %ebx,-0x10(%eax)
4453a9:	8b 45 08             	mov    0x8(%ebp),%eax
4453ac:	8b 40 fc             	mov    -0x4(%eax),%eax
4453af:	8b 40 04             	mov    0x4(%eax),%eax
4453b2:	8b 53 04             	mov    0x4(%ebx),%edx
4453b5:	8b 52 44             	mov    0x44(%edx),%edx
4453b8:	83 c2 0f             	add    $0xf,%edx
4453bb:	3b c2                	cmp    %edx,%eax
4453bd:	7d 0e                	jge    0x4453cd
4453bf:	8b 45 08             	mov    0x8(%ebp),%eax
4453c2:	8b 40 f4             	mov    -0xc(%eax),%eax
4453c5:	c7 00 14 00 00 00    	movl   $0x14,(%eax)
4453cb:	eb 0c                	jmp    0x4453d9
4453cd:	8b 45 08             	mov    0x8(%ebp),%eax
4453d0:	8b 40 f4             	mov    -0xc(%eax),%eax
4453d3:	c7 00 02 00 00 00    	movl   $0x2,(%eax)
4453d9:	8b 45 08             	mov    0x8(%ebp),%eax
4453dc:	83 78 f0 00          	cmpl   $0x0,-0x10(%eax)
4453e0:	75 1c                	jne    0x4453fe
4453e2:	8b c3                	mov    %ebx,%eax
4453e4:	e8 6b f6 ff ff       	call   0x444a54
4453e9:	85 c0                	test   %eax,%eax
4453eb:	74 11                	je     0x4453fe
4453ed:	8b 45 08             	mov    0x8(%ebp),%eax
4453f0:	50                   	push   %eax
4453f1:	8b c3                	mov    %ebx,%eax
4453f3:	e8 5c f6 ff ff       	call   0x444a54
4453f8:	e8 ff fd ff ff       	call   0x4451fc
4453fd:	59                   	pop    %ecx
4453fe:	8b 45 08             	mov    0x8(%ebp),%eax
445401:	83 78 f0 00          	cmpl   $0x0,-0x10(%eax)
445405:	75 1c                	jne    0x445423
445407:	8b c3                	mov    %ebx,%eax
445409:	e8 6e f6 ff ff       	call   0x444a7c
44540e:	85 c0                	test   %eax,%eax
445410:	74 11                	je     0x445423
445412:	8b 45 08             	mov    0x8(%ebp),%eax
445415:	50                   	push   %eax
445416:	8b c3                	mov    %ebx,%eax
445418:	e8 5f f6 ff ff       	call   0x444a7c
44541d:	e8 da fd ff ff       	call   0x4451fc
445422:	59                   	pop    %ecx
445423:	5f                   	pop    %edi
445424:	5e                   	pop    %esi
445425:	5b                   	pop    %ebx
445426:	5d                   	pop    %ebp
445427:	c3                   	ret
445428:	55                   	push   %ebp
445429:	8b ec                	mov    %esp,%ebp
44542b:	83 c4 e8             	add    $0xffffffe8,%esp
44542e:	53                   	push   %ebx
44542f:	56                   	push   %esi
445430:	57                   	push   %edi
445431:	8b f8                	mov    %eax,%edi
445433:	8b 45 08             	mov    0x8(%ebp),%eax
445436:	8b 40 f8             	mov    -0x8(%eax),%eax
445439:	8b 40 14             	mov    0x14(%eax),%eax
44543c:	e8 c3 a0 ff ff       	call   0x43f504
445441:	8b f0                	mov    %eax,%esi
445443:	4e                   	dec    %esi
445444:	83 fe 00             	cmp    $0x0,%esi
445447:	7c 68                	jl     0x4454b1
445449:	8b 45 08             	mov    0x8(%ebp),%eax
44544c:	8b 40 f8             	mov    -0x8(%eax),%eax
44544f:	8b 40 14             	mov    0x14(%eax),%eax
445452:	8b d6                	mov    %esi,%edx
445454:	e8 6f a0 ff ff       	call   0x43f4c8
445459:	8b d8                	mov    %eax,%ebx
44545b:	80 7b 57 00          	cmpb   $0x0,0x57(%ebx)
44545f:	74 4a                	je     0x4454ab
445461:	8b c3                	mov    %ebx,%eax
445463:	8b 15 b0 80 43 00    	mov    0x4380b0,%edx
445469:	e8 0a e1 fb ff       	call   0x403578
44546e:	84 c0                	test   %al,%al
445470:	74 09                	je     0x44547b
445472:	80 bb a6 01 00 00 00 	cmpb   $0x0,0x1a6(%ebx)
445479:	74 30                	je     0x4454ab
44547b:	8b 57 04             	mov    0x4(%edi),%edx
44547e:	2b 53 44             	sub    0x44(%ebx),%edx
445481:	8b 07                	mov    (%edi),%eax
445483:	2b 43 40             	sub    0x40(%ebx),%eax
445486:	8d 4d f8             	lea    -0x8(%ebp),%ecx
445489:	e8 fe 52 fd ff       	call   0x41a78c
44548e:	ff 75 fc             	push   -0x4(%ebp)
445491:	ff 75 f8             	push   -0x8(%ebp)
445494:	8d 55 e8             	lea    -0x18(%ebp),%edx
445497:	8b c3                	mov    %ebx,%eax
445499:	8b 08                	mov    (%eax),%ecx
44549b:	ff 51 44             	call   *0x44(%ecx)
44549e:	8d 45 e8             	lea    -0x18(%ebp),%eax
4454a1:	50                   	push   %eax
4454a2:	e8 41 1a fc ff       	call   0x406ee8
4454a7:	85 c0                	test   %eax,%eax
4454a9:	75 08                	jne    0x4454b3
4454ab:	4e                   	dec    %esi
4454ac:	83 fe ff             	cmp    $0xffffffff,%esi
4454af:	75 98                	jne    0x445449
4454b1:	33 db                	xor    %ebx,%ebx
4454b3:	8b c3                	mov    %ebx,%eax
4454b5:	5f                   	pop    %edi
4454b6:	5e                   	pop    %esi
4454b7:	5b                   	pop    %ebx
4454b8:	8b e5                	mov    %ebp,%esp
4454ba:	5d                   	pop    %ebp
4454bb:	c3                   	ret
4454bc:	55                   	push   %ebp
4454bd:	8b ec                	mov    %esp,%ebp
4454bf:	83 c4 f0             	add    $0xfffffff0,%esp
4454c2:	53                   	push   %ebx
4454c3:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4454c6:	89 55 fc             	mov    %edx,-0x4(%ebp)
4454c9:	89 45 f8             	mov    %eax,-0x8(%ebp)
4454cc:	33 c0                	xor    %eax,%eax
4454ce:	89 45 f0             	mov    %eax,-0x10(%ebp)
4454d1:	8b 45 f4             	mov    -0xc(%ebp),%eax
4454d4:	33 d2                	xor    %edx,%edx
4454d6:	89 10                	mov    %edx,(%eax)
4454d8:	55                   	push   %ebp
4454d9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4454dc:	e8 47 ff ff ff       	call   0x445428
4454e1:	59                   	pop    %ecx
4454e2:	8b d8                	mov    %eax,%ebx
4454e4:	85 db                	test   %ebx,%ebx
4454e6:	74 2c                	je     0x445514
4454e8:	8b 45 f8             	mov    -0x8(%ebp),%eax
4454eb:	8b 40 14             	mov    0x14(%eax),%eax
4454ee:	3b 83 a0 00 00 00    	cmp    0xa0(%ebx),%eax
4454f4:	75 1e                	jne    0x445514
4454f6:	8b d3                	mov    %ebx,%edx
4454f8:	8b 45 f8             	mov    -0x8(%ebp),%eax
4454fb:	e8 c8 f7 ff ff       	call   0x444cc8
445500:	89 45 f0             	mov    %eax,-0x10(%ebp)
445503:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
445507:	74 30                	je     0x445539
445509:	8b 45 f4             	mov    -0xc(%ebp),%eax
44550c:	c7 00 01 00 00 00    	movl   $0x1,(%eax)