44ffad:	8b d8                	mov    %eax,%ebx
44ffaf:	8b 43 0c             	mov    0xc(%ebx),%eax
44ffb2:	85 c0                	test   %eax,%eax
44ffb4:	75 f7                	jne    0x44ffad
44ffb6:	84 c9                	test   %cl,%cl
44ffb8:	74 1b                	je     0x44ffd5
44ffba:	8b 43 14             	mov    0x14(%ebx),%eax
44ffbd:	89 42 14             	mov    %eax,0x14(%edx)
44ffc0:	89 5a 18             	mov    %ebx,0x18(%edx)
44ffc3:	8b 43 0c             	mov    0xc(%ebx),%eax
44ffc6:	89 42 0c             	mov    %eax,0xc(%edx)
44ffc9:	85 c0                	test   %eax,%eax
44ffcb:	74 03                	je     0x44ffd0
44ffcd:	89 50 18             	mov    %edx,0x18(%eax)
44ffd0:	89 53 0c             	mov    %edx,0xc(%ebx)
44ffd3:	eb 21                	jmp    0x44fff6
44ffd5:	89 5a 0c             	mov    %ebx,0xc(%edx)
44ffd8:	8b 43 18             	mov    0x18(%ebx),%eax
44ffdb:	89 42 18             	mov    %eax,0x18(%edx)
44ffde:	85 c0                	test   %eax,%eax
44ffe0:	74 03                	je     0x44ffe5
44ffe2:	89 50 0c             	mov    %edx,0xc(%eax)
44ffe5:	89 53 18             	mov    %edx,0x18(%ebx)
44ffe8:	8b 43 14             	mov    0x14(%ebx),%eax
44ffeb:	89 42 14             	mov    %eax,0x14(%edx)
44ffee:	3b 58 08             	cmp    0x8(%eax),%ebx
44fff1:	75 03                	jne    0x44fff6
44fff3:	89 50 08             	mov    %edx,0x8(%eax)
44fff6:	8b 43 14             	mov    0x14(%ebx),%eax
44fff9:	e8 76 f4 ff ff       	call   0x44f474
44fffe:	8b 43 14             	mov    0x14(%ebx),%eax
450001:	e8 fe f7 ff ff       	call   0x44f804
450006:	5b                   	pop    %ebx
450007:	5d                   	pop    %ebp
450008:	c2 04 00             	ret    $0x4
45000b:	90                   	nop
45000c:	55                   	push   %ebp
45000d:	8b ec                	mov    %esp,%ebp
45000f:	53                   	push   %ebx
450010:	56                   	push   %esi
450011:	57                   	push   %edi
450012:	8b d8                	mov    %eax,%ebx
450014:	8b 43 14             	mov    0x14(%ebx),%eax
450017:	80 78 10 01          	cmpb   $0x1,0x10(%eax)
45001b:	75 44                	jne    0x450061
45001d:	8b c3                	mov    %ebx,%eax
45001f:	e8 68 f7 ff ff       	call   0x44f78c
450024:	8b 55 08             	mov    0x8(%ebp),%edx
450027:	8b 52 fc             	mov    -0x4(%edx),%edx
45002a:	3b 42 04             	cmp    0x4(%edx),%eax
45002d:	7c 32                	jl     0x450061
45002f:	8b c3                	mov    %ebx,%eax
450031:	e8 56 f7 ff ff       	call   0x44f78c
450036:	8b 55 08             	mov    0x8(%ebp),%edx
450039:	8b 52 f8             	mov    -0x8(%edx),%edx
45003c:	2b 42 0c             	sub    0xc(%edx),%eax
45003f:	8b 55 08             	mov    0x8(%ebp),%edx
450042:	8b 52 fc             	mov    -0x4(%edx),%edx
450045:	3b 42 04             	cmp    0x4(%edx),%eax
450048:	7f 17                	jg     0x450061
45004a:	8b 45 08             	mov    0x8(%ebp),%eax
45004d:	8b 40 f4             	mov    -0xc(%eax),%eax
450050:	c7 00 12 00 00 00    	movl   $0x12,(%eax)
450056:	8b 45 08             	mov    0x8(%ebp),%eax
450059:	89 58 f0             	mov    %ebx,-0x10(%eax)
45005c:	e9 88 01 00 00       	jmp    0x4501e9
450061:	8b 43 14             	mov    0x14(%ebx),%eax
450064:	80 78 10 02          	cmpb   $0x2,0x10(%eax)
450068:	75 42                	jne    0x4500ac
45006a:	8b c3                	mov    %ebx,%eax
45006c:	e8 1b f7 ff ff       	call   0x44f78c
450071:	8b 55 08             	mov    0x8(%ebp),%edx
450074:	8b 52 fc             	mov    -0x4(%edx),%edx
450077:	3b 02                	cmp    (%edx),%eax
450079:	7c 31                	jl     0x4500ac
45007b:	8b c3                	mov    %ebx,%eax
45007d:	e8 0a f7 ff ff       	call   0x44f78c
450082:	8b 55 08             	mov    0x8(%ebp),%edx
450085:	8b 52 f8             	mov    -0x8(%edx),%edx
450088:	2b 42 0c             	sub    0xc(%edx),%eax
45008b:	8b 55 08             	mov    0x8(%ebp),%edx
45008e:	8b 52 fc             	mov    -0x4(%edx),%edx
450091:	3b 02                	cmp    (%edx),%eax
450093:	7f 17                	jg     0x4500ac
450095:	8b 45 08             	mov    0x8(%ebp),%eax
450098:	8b 40 f4             	mov    -0xc(%eax),%eax
45009b:	c7 00 12 00 00 00    	movl   $0x12,(%eax)
4500a1:	8b 45 08             	mov    0x8(%ebp),%eax
4500a4:	89 58 f0             	mov    %ebx,-0x10(%eax)
4500a7:	e9 3d 01 00 00       	jmp    0x4501e9
4500ac:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
4500b0:	0f 84 33 01 00 00    	je     0x4501e9
4500b6:	ba 01 00 00 00       	mov    $0x1,%edx
4500bb:	8b c3                	mov    %ebx,%eax
4500bd:	e8 96 f2 ff ff       	call   0x44f358
4500c2:	8b f0                	mov    %eax,%esi
4500c4:	ba 02 00 00 00       	mov    $0x2,%edx
4500c9:	8b c3                	mov    %ebx,%eax
4500cb:	e8 88 f2 ff ff       	call   0x44f358
4500d0:	8b f8                	mov    %eax,%edi
4500d2:	8b 45 08             	mov    0x8(%ebp),%eax
4500d5:	8b 40 f8             	mov    -0x8(%eax),%eax
4500d8:	80 78 1c 00          	cmpb   $0x0,0x1c(%eax)
4500dc:	0f 84 8e 00 00 00    	je     0x450170
4500e2:	8b 45 08             	mov    0x8(%ebp),%eax
4500e5:	8b 40 fc             	mov    -0x4(%eax),%eax
4500e8:	3b 70 04             	cmp    0x4(%eax),%esi
4500eb:	0f 8f f8 00 00 00    	jg     0x4501e9
4500f1:	8b 45 08             	mov    0x8(%ebp),%eax
4500f4:	8b 40 fc             	mov    -0x4(%eax),%eax
4500f7:	8b 40 04             	mov    0x4(%eax),%eax
4500fa:	8b 55 08             	mov    0x8(%ebp),%edx
4500fd:	8b 52 f8             	mov    -0x8(%edx),%edx
450100:	03 72 18             	add    0x18(%edx),%esi
450103:	3b c6                	cmp    %esi,%eax
450105:	0f 8f de 00 00 00    	jg     0x4501e9
45010b:	8b 45 08             	mov    0x8(%ebp),%eax
45010e:	8b 40 fc             	mov    -0x4(%eax),%eax
450111:	3b 38                	cmp    (%eax),%edi
450113:	0f 8f d0 00 00 00    	jg     0x4501e9
450119:	ba 02 00 00 00       	mov    $0x2,%edx
45011e:	8b c3                	mov    %ebx,%eax
450120:	e8 9f f2 ff ff       	call   0x44f3c4
450125:	03 f8                	add    %eax,%edi
450127:	8b 45 08             	mov    0x8(%ebp),%eax
45012a:	8b 40 fc             	mov    -0x4(%eax),%eax
45012d:	3b 38                	cmp    (%eax),%edi
45012f:	0f 8c b4 00 00 00    	jl     0x4501e9
450135:	8b 45 08             	mov    0x8(%ebp),%eax
450138:	89 58 f0             	mov    %ebx,-0x10(%eax)
45013b:	8b 43 04             	mov    0x4(%ebx),%eax
45013e:	8b 50 40             	mov    0x40(%eax),%edx
450141:	03 50 48             	add    0x48(%eax),%edx
450144:	83 ea 0f             	sub    $0xf,%edx
450147:	8b 45 08             	mov    0x8(%ebp),%eax
45014a:	8b 40 fc             	mov    -0x4(%eax),%eax
45014d:	3b 10                	cmp    (%eax),%edx
45014f:	7d 11                	jge    0x450162
450151:	8b 45 08             	mov    0x8(%ebp),%eax
450154:	8b 40 f4             	mov    -0xc(%eax),%eax
450157:	c7 00 14 00 00 00    	movl   $0x14,(%eax)
45015d:	e9 87 00 00 00       	jmp    0x4501e9
450162:	8b 45 08             	mov    0x8(%ebp),%eax
450165:	8b 40 f4             	mov    -0xc(%eax),%eax
450168:	c7 00 02 00 00 00    	movl   $0x2,(%eax)
45016e:	eb 79                	jmp    0x4501e9
450170:	8b 45 08             	mov    0x8(%ebp),%eax
450173:	8b 40 fc             	mov    -0x4(%eax),%eax
450176:	3b 38                	cmp    (%eax),%edi
450178:	7f 6f                	jg     0x4501e9
45017a:	8b 45 08             	mov    0x8(%ebp),%eax
45017d:	8b 40 fc             	mov    -0x4(%eax),%eax
450180:	8b 00                	mov    (%eax),%eax
450182:	8b 55 08             	mov    0x8(%ebp),%edx
450185:	8b 52 f8             	mov    -0x8(%edx),%edx
450188:	03 7a 18             	add    0x18(%edx),%edi
45018b:	3b c7                	cmp    %edi,%eax
45018d:	7f 5a                	jg     0x4501e9
45018f:	8b 45 08             	mov    0x8(%ebp),%eax
450192:	8b 40 fc             	mov    -0x4(%eax),%eax
450195:	3b 70 04             	cmp    0x4(%eax),%esi
450198:	7f 4f                	jg     0x4501e9
45019a:	ba 01 00 00 00       	mov    $0x1,%edx
45019f:	8b c3                	mov    %ebx,%eax
4501a1:	e8 1e f2 ff ff       	call   0x44f3c4
4501a6:	03 f0                	add    %eax,%esi
4501a8:	8b 45 08             	mov    0x8(%ebp),%eax
4501ab:	8b 40 fc             	mov    -0x4(%eax),%eax
4501ae:	3b 70 04             	cmp    0x4(%eax),%esi
4501b1:	7c 36                	jl     0x4501e9
4501b3:	8b 45 08             	mov    0x8(%ebp),%eax
4501b6:	89 58 f0             	mov    %ebx,-0x10(%eax)
4501b9:	8b 45 08             	mov    0x8(%ebp),%eax
4501bc:	8b 40 fc             	mov    -0x4(%eax),%eax
4501bf:	8b 40 04             	mov    0x4(%eax),%eax
4501c2:	8b 53 04             	mov    0x4(%ebx),%edx
4501c5:	8b 52 44             	mov    0x44(%edx),%edx
4501c8:	83 c2 0f             	add    $0xf,%edx
4501cb:	3b c2                	cmp    %edx,%eax
4501cd:	7d 0e                	jge    0x4501dd
4501cf:	8b 45 08             	mov    0x8(%ebp),%eax
4501d2:	8b 40 f4             	mov    -0xc(%eax),%eax
4501d5:	c7 00 14 00 00 00    	movl   $0x14,(%eax)
4501db:	eb 0c                	jmp    0x4501e9
4501dd:	8b 45 08             	mov    0x8(%ebp),%eax
4501e0:	8b 40 f4             	mov    -0xc(%eax),%eax
4501e3:	c7 00 02 00 00 00    	movl   $0x2,(%eax)
4501e9:	8b 45 08             	mov    0x8(%ebp),%eax
4501ec:	83 78 f0 00          	cmpl   $0x0,-0x10(%eax)
4501f0:	75 1c                	jne    0x45020e
4501f2:	8b c3                	mov    %ebx,%eax
4501f4:	e8 6b f6 ff ff       	call   0x44f864
4501f9:	85 c0                	test   %eax,%eax
4501fb:	74 11                	je     0x45020e
4501fd:	8b 45 08             	mov    0x8(%ebp),%eax
450200:	50                   	push   %eax
450201:	8b c3                	mov    %ebx,%eax
450203:	e8 5c f6 ff ff       	call   0x44f864
450208:	e8 ff fd ff ff       	call   0x45000c
45020d:	59                   	pop    %ecx
45020e:	8b 45 08             	mov    0x8(%ebp),%eax
450211:	83 78 f0 00          	cmpl   $0x0,-0x10(%eax)
450215:	75 1c                	jne    0x450233
450217:	8b c3                	mov    %ebx,%eax
450219:	e8 6e f6 ff ff       	call   0x44f88c
45021e:	85 c0                	test   %eax,%eax
450220:	74 11                	je     0x450233
450222:	8b 45 08             	mov    0x8(%ebp),%eax
450225:	50                   	push   %eax
450226:	8b c3                	mov    %ebx,%eax
450228:	e8 5f f6 ff ff       	call   0x44f88c
45022d:	e8 da fd ff ff       	call   0x45000c
450232:	59                   	pop    %ecx
450233:	5f                   	pop    %edi
450234:	5e                   	pop    %esi
450235:	5b                   	pop    %ebx
450236:	5d                   	pop    %ebp
450237:	c3                   	ret
450238:	55                   	push   %ebp
450239:	8b ec                	mov    %esp,%ebp
45023b:	83 c4 e8             	add    $0xffffffe8,%esp
45023e:	53                   	push   %ebx
45023f:	56                   	push   %esi
450240:	57                   	push   %edi
450241:	8b f8                	mov    %eax,%edi
450243:	8b 45 08             	mov    0x8(%ebp),%eax
450246:	8b 40 f8             	mov    -0x8(%eax),%eax
450249:	8b 40 14             	mov    0x14(%eax),%eax
45024c:	e8 bb 9e ff ff       	call   0x44a10c
450251:	8b f0                	mov    %eax,%esi
450253:	4e                   	dec    %esi
450254:	83 fe 00             	cmp    $0x0,%esi
450257:	7c 68                	jl     0x4502c1
450259:	8b 45 08             	mov    0x8(%ebp),%eax
45025c:	8b 40 f8             	mov    -0x8(%eax),%eax
45025f:	8b 40 14             	mov    0x14(%eax),%eax
450262:	8b d6                	mov    %esi,%edx
450264:	e8 67 9e ff ff       	call   0x44a0d0
450269:	8b d8                	mov    %eax,%ebx
45026b:	80 7b 57 00          	cmpb   $0x0,0x57(%ebx)
45026f:	74 4a                	je     0x4502bb
450271:	8b c3                	mov    %ebx,%eax
450273:	8b 15 b8 2c 44 00    	mov    0x442cb8,%edx
450279:	e8 ce 31 fb ff       	call   0x40344c
45027e:	84 c0                	test   %al,%al
450280:	74 09                	je     0x45028b
450282:	80 bb a6 01 00 00 00 	cmpb   $0x0,0x1a6(%ebx)
450289:	74 30                	je     0x4502bb
45028b:	8b 57 04             	mov    0x4(%edi),%edx
45028e:	2b 53 44             	sub    0x44(%ebx),%edx
450291:	8b 07                	mov    (%edi),%eax
450293:	2b 43 40             	sub    0x40(%ebx),%eax
450296:	8d 4d f8             	lea    -0x8(%ebp),%ecx
450299:	e8 4e 6e fc ff       	call   0x4170ec
45029e:	ff 75 fc             	push   -0x4(%ebp)
4502a1:	ff 75 f8             	push   -0x8(%ebp)
4502a4:	8d 55 e8             	lea    -0x18(%ebp),%edx
4502a7:	8b c3                	mov    %ebx,%eax
4502a9:	8b 08                	mov    (%eax),%ecx
4502ab:	ff 51 44             	call   *0x44(%ecx)
4502ae:	8d 45 e8             	lea    -0x18(%ebp),%eax
4502b1:	50                   	push   %eax
4502b2:	e8 ad 67 fb ff       	call   0x406a64
4502b7:	85 c0                	test   %eax,%eax
4502b9:	75 08                	jne    0x4502c3
4502bb:	4e                   	dec    %esi
4502bc:	83 fe ff             	cmp    $0xffffffff,%esi
4502bf:	75 98                	jne    0x450259
4502c1:	33 db                	xor    %ebx,%ebx
4502c3:	8b c3                	mov    %ebx,%eax
4502c5:	5f                   	pop    %edi
4502c6:	5e                   	pop    %esi
4502c7:	5b                   	pop    %ebx
4502c8:	8b e5                	mov    %ebp,%esp
4502ca:	5d                   	pop    %ebp
4502cb:	c3                   	ret
4502cc:	55                   	push   %ebp
4502cd:	8b ec                	mov    %esp,%ebp
4502cf:	83 c4 f0             	add    $0xfffffff0,%esp
4502d2:	53                   	push   %ebx
4502d3:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4502d6:	89 55 fc             	mov    %edx,-0x4(%ebp)
4502d9:	89 45 f8             	mov    %eax,-0x8(%ebp)
4502dc:	33 c0                	xor    %eax,%eax
4502de:	89 45 f0             	mov    %eax,-0x10(%ebp)
4502e1:	8b 45 f4             	mov    -0xc(%ebp),%eax
4502e4:	33 d2                	xor    %edx,%edx
4502e6:	89 10                	mov    %edx,(%eax)
4502e8:	55                   	push   %ebp
4502e9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4502ec:	e8 47 ff ff ff       	call   0x450238
4502f1:	59                   	pop    %ecx
4502f2:	8b d8                	mov    %eax,%ebx
4502f4:	85 db                	test   %ebx,%ebx
4502f6:	74 2c                	je     0x450324
4502f8:	8b 45 f8             	mov    -0x8(%ebp),%eax
4502fb:	8b 40 14             	mov    0x14(%eax),%eax
4502fe:	3b 83 a0 00 00 00    	cmp    0xa0(%ebx),%eax
450304:	75 1e                	jne    0x450324
450306:	8b d3                	mov    %ebx,%edx
450308:	8b 45 f8             	mov    -0x8(%ebp),%eax
45030b:	e8 c8 f7 ff ff       	call   0x44fad8
450310:	89 45 f0             	mov    %eax,-0x10(%ebp)
450313:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
450317:	74 30                	je     0x450349
450319:	8b 45 f4             	mov    -0xc(%ebp),%eax
45031c:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
450322:	eb 25                	jmp    0x450349
450324:	8b 45 f8             	mov    -0x8(%ebp),%eax
450327:	8b 40 64             	mov    0x64(%eax),%eax
45032a:	e8 5d f5 ff ff       	call   0x44f88c
45032f:	85 c0                	test   %eax,%eax
450331:	74 16                	je     0x450349
450333:	85 db                	test   %ebx,%ebx
450335:	75 12                	jne    0x450349
450337:	55                   	push   %ebp
450338:	8b 45 f8             	mov    -0x8(%ebp),%eax
45033b:	8b 40 64             	mov    0x64(%eax),%eax
45033e:	e8 49 f5 ff ff       	call   0x44f88c
450343:	e8 c4 fc ff ff       	call   0x45000c
450348:	59                   	pop    %ecx
450349:	8b 45 f0             	mov    -0x10(%ebp),%eax
45034c:	5b                   	pop    %ebx
45034d:	8b e5                	mov    %ebp,%esp
45034f:	5d                   	pop    %ebp
450350:	c3                   	ret
450351:	8d 40 00             	lea    0x0(%eax),%eax
450354:	55                   	push   %ebp
450355:	8b ec                	mov    %esp,%ebp
450357:	51                   	push   %ecx
450358:	53                   	push   %ebx
450359:	56                   	push   %esi
45035a:	8b d8                	mov    %eax,%ebx
45035c:	8b c3                	mov    %ebx,%eax
45035e:	e8 ed 3c fb ff       	call   0x404050
450363:	8d 55 fc             	lea    -0x4(%ebp),%edx
450366:	8b 45 08             	mov    0x8(%ebp),%eax
450369:	8b 40 fc             	mov    -0x4(%eax),%eax
45036c:	b9 04 00 00 00       	mov    $0x4,%ecx
450371:	8b 30                	mov    (%eax),%esi
450373:	ff 56 0c             	call   *0xc(%esi)
450376:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
45037a:	7e 1a                	jle    0x450396
45037c:	8b c3                	mov    %ebx,%eax
45037e:	8b 55 fc             	mov    -0x4(%ebp),%edx
450381:	e8 16 43 fb ff       	call   0x40469c
450386:	8b 13                	mov    (%ebx),%edx
450388:	8b 45 08             	mov    0x8(%ebp),%eax
45038b:	8b 40 fc             	mov    -0x4(%eax),%eax
45038e:	8b 4d fc             	mov    -0x4(%ebp),%ecx