44a073:	ff d6                	call   *%esi
44a075:	89 45 b8             	mov    %eax,-0x48(%ebp)
44a078:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
44a07e:	50                   	push   %eax
44a07f:	53                   	push   %ebx
44a080:	ff 15 5c ff 4a 00    	call   *0x4aff5c
44a086:	8b 45 88             	mov    -0x78(%ebp),%eax
44a089:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
44a08f:	8d 3c 08             	lea    (%eax,%ecx,1),%edi
44a092:	8d 45 b0             	lea    -0x50(%ebp),%eax
44a095:	50                   	push   %eax
44a096:	6a 34                	push   $0x34
44a098:	68 80 c2 48 00       	push   $0x48c280
44a09d:	53                   	push   %ebx
44a09e:	ff 15 80 00 4b 00    	call   *0x4b0080
44a0a4:	8b 45 b0             	mov    -0x50(%ebp),%eax
44a0a7:	83 c0 1a             	add    $0x1a,%eax
44a0aa:	6a 34                	push   $0x34
44a0ac:	59                   	pop    %ecx
44a0ad:	99                   	cltd
44a0ae:	f7 f9                	idiv   %ecx
44a0b0:	ff 75 b8             	push   -0x48(%ebp)
44a0b3:	53                   	push   %ebx
44a0b4:	89 45 0c             	mov    %eax,0xc(%ebp)
44a0b7:	ff d6                	call   *%esi
44a0b9:	ff 75 bc             	push   -0x44(%ebp)
44a0bc:	ff 15 c8 ff 4a 00    	call   *0x4affc8
44a0c2:	8b 75 0c             	mov    0xc(%ebp),%esi
44a0c5:	eb 12                	jmp    0x44a0d9
44a0c7:	8b 3d 28 06 4b 00    	mov    0x4b0628,%edi
44a0cd:	ff d7                	call   *%edi
44a0cf:	0f b7 f0             	movzwl %ax,%esi
44a0d2:	ff d7                	call   *%edi
44a0d4:	8b f8                	mov    %eax,%edi
44a0d6:	c1 ef 10             	shr    $0x10,%edi
44a0d9:	53                   	push   %ebx
44a0da:	6a 00                	push   $0x0
44a0dc:	ff 15 5c 06 4b 00    	call   *0x4b065c
44a0e2:	6a 04                	push   $0x4
44a0e4:	56                   	push   %esi
44a0e5:	ff 75 10             	push   0x10(%ebp)
44a0e8:	ff 15 38 03 4b 00    	call   *0x4b0338
44a0ee:	8b 75 18             	mov    0x18(%ebp),%esi
44a0f1:	6a 08                	push   $0x8
44a0f3:	57                   	push   %edi
44a0f4:	ff 75 14             	push   0x14(%ebp)
44a0f7:	89 06                	mov    %eax,(%esi)
44a0f9:	ff 15 38 03 4b 00    	call   *0x4b0338
44a0ff:	8b 4d fc             	mov    -0x4(%ebp),%ecx
44a102:	5f                   	pop    %edi
44a103:	89 46 04             	mov    %eax,0x4(%esi)
44a106:	5e                   	pop    %esi
44a107:	5b                   	pop    %ebx
44a108:	e8 d1 da fc ff       	call   0x417bde
44a10d:	c9                   	leave
44a10e:	c2 14 00             	ret    $0x14
44a111:	8b 4c 24 04          	mov    0x4(%esp),%ecx
44a115:	33 c0                	xor    %eax,%eax
44a117:	66 81 79 02 ff ff    	cmpw   $0xffff,0x2(%ecx)
44a11d:	0f 94 c0             	sete   %al
44a120:	c3                   	ret
44a121:	8b 44 24 04          	mov    0x4(%esp),%eax
44a125:	66 81 78 02 ff ff    	cmpw   $0xffff,0x2(%eax)
44a12b:	75 05                	jne    0x44a132
44a12d:	8b 40 0c             	mov    0xc(%eax),%eax
44a130:	eb 02                	jmp    0x44a134
44a132:	8b 00                	mov    (%eax),%eax
44a134:	83 e0 40             	and    $0x40,%eax
44a137:	c3                   	ret
44a138:	33 c0                	xor    %eax,%eax
44a13a:	39 44 24 04          	cmp    %eax,0x4(%esp)
44a13e:	0f 95 c0             	setne  %al
44a141:	8d 44 00 01          	lea    0x1(%eax,%eax,1),%eax
44a145:	d1 e0                	shl    $1,%eax
44a147:	c3                   	ret
44a148:	8b 44 24 08          	mov    0x8(%esp),%eax
44a14c:	56                   	push   %esi
44a14d:	8b f1                	mov    %ecx,%esi
44a14f:	89 46 04             	mov    %eax,0x4(%esi)
44a152:	83 c0 40             	add    $0x40,%eax
44a155:	50                   	push   %eax
44a156:	6a 40                	push   $0x40
44a158:	ff 15 58 03 4b 00    	call   *0x4b0358
44a15e:	85 c0                	test   %eax,%eax
44a160:	89 06                	mov    %eax,(%esi)
44a162:	74 34                	je     0x44a198
44a164:	57                   	push   %edi
44a165:	50                   	push   %eax
44a166:	ff 15 40 03 4b 00    	call   *0x4b0340
44a16c:	ff 76 04             	push   0x4(%esi)
44a16f:	8b f8                	mov    %eax,%edi
44a171:	ff 74 24 10          	push   0x10(%esp)
44a175:	57                   	push   %edi
44a176:	e8 f5 d6 fc ff       	call   0x417870
44a17b:	57                   	push   %edi
44a17c:	e8 a0 ff ff ff       	call   0x44a121
44a181:	83 c4 10             	add    $0x10,%esp
44a184:	ff 36                	push   (%esi)
44a186:	f7 d8                	neg    %eax
44a188:	1b c0                	sbb    %eax,%eax
44a18a:	40                   	inc    %eax
44a18b:	89 46 08             	mov    %eax,0x8(%esi)
44a18e:	ff 15 44 03 4b 00    	call   *0x4b0344
44a194:	33 c0                	xor    %eax,%eax
44a196:	40                   	inc    %eax
44a197:	5f                   	pop    %edi
44a198:	5e                   	pop    %esi
44a199:	c2 08 00             	ret    $0x8
44a19c:	8b 01                	mov    (%ecx),%eax
44a19e:	85 c0                	test   %eax,%eax
44a1a0:	74 07                	je     0x44a1a9
44a1a2:	50                   	push   %eax
44a1a3:	ff 15 5c 03 4b 00    	call   *0x4b035c
44a1a9:	c3                   	ret
44a1aa:	8b 01                	mov    (%ecx),%eax
44a1ac:	83 21 00             	andl   $0x0,(%ecx)
44a1af:	c3                   	ret
44a1b0:	56                   	push   %esi
44a1b1:	57                   	push   %edi
44a1b2:	8b f1                	mov    %ecx,%esi
44a1b4:	ff 36                	push   (%esi)
44a1b6:	ff 15 40 03 4b 00    	call   *0x4b0340
44a1bc:	50                   	push   %eax
44a1bd:	e8 5f ff ff ff       	call   0x44a121
44a1c2:	59                   	pop    %ecx
44a1c3:	ff 36                	push   (%esi)
44a1c5:	8b f8                	mov    %eax,%edi
44a1c7:	ff 15 44 03 4b 00    	call   *0x4b0344
44a1cd:	8b c7                	mov    %edi,%eax
44a1cf:	5f                   	pop    %edi
44a1d0:	5e                   	pop    %esi
44a1d1:	c3                   	ret
44a1d2:	8b 44 24 04          	mov    0x4(%esp),%eax
44a1d6:	66 8b 08             	mov    (%eax),%cx
44a1d9:	40                   	inc    %eax
44a1da:	40                   	inc    %eax
44a1db:	66 85 c9             	test   %cx,%cx
44a1de:	75 f6                	jne    0x44a1d6
44a1e0:	c3                   	ret
44a1e1:	8b 44 24 04          	mov    0x4(%esp),%eax
44a1e5:	66 81 78 02 ff ff    	cmpw   $0xffff,0x2(%eax)
44a1eb:	75 05                	jne    0x44a1f2
44a1ed:	83 c0 1a             	add    $0x1a,%eax
44a1f0:	eb 03                	jmp    0x44a1f5
44a1f2:	83 c0 12             	add    $0x12,%eax
44a1f5:	66 81 38 ff ff       	cmpw   $0xffff,(%eax)
44a1fa:	75 05                	jne    0x44a201
44a1fc:	83 c0 04             	add    $0x4,%eax
44a1ff:	eb 0a                	jmp    0x44a20b
44a201:	66 8b 08             	mov    (%eax),%cx
44a204:	40                   	inc    %eax
44a205:	40                   	inc    %eax
44a206:	66 85 c9             	test   %cx,%cx
44a209:	75 f6                	jne    0x44a201
44a20b:	66 81 38 ff ff       	cmpw   $0xffff,(%eax)
44a210:	75 05                	jne    0x44a217
44a212:	83 c0 04             	add    $0x4,%eax
44a215:	eb 0a                	jmp    0x44a221
44a217:	66 8b 08             	mov    (%eax),%cx
44a21a:	40                   	inc    %eax
44a21b:	40                   	inc    %eax
44a21c:	66 85 c9             	test   %cx,%cx
44a21f:	75 f6                	jne    0x44a217
44a221:	66 8b 08             	mov    (%eax),%cx
44a224:	40                   	inc    %eax
44a225:	40                   	inc    %eax
44a226:	66 85 c9             	test   %cx,%cx
44a229:	75 f6                	jne    0x44a221
44a22b:	c3                   	ret
44a22c:	55                   	push   %ebp
44a22d:	8b ec                	mov    %esp,%ebp
44a22f:	53                   	push   %ebx
44a230:	56                   	push   %esi
44a231:	57                   	push   %edi
44a232:	8b 7d 08             	mov    0x8(%ebp),%edi
44a235:	33 db                	xor    %ebx,%ebx
44a237:	66 81 7f 02 ff ff    	cmpw   $0xffff,0x2(%edi)
44a23d:	57                   	push   %edi
44a23e:	0f 94 c3             	sete   %bl
44a241:	89 5d 08             	mov    %ebx,0x8(%ebp)
44a244:	e8 98 ff ff ff       	call   0x44a1e1
44a249:	57                   	push   %edi
44a24a:	8b f0                	mov    %eax,%esi
44a24c:	e8 d0 fe ff ff       	call   0x44a121
44a251:	85 c0                	test   %eax,%eax
44a253:	59                   	pop    %ecx
44a254:	59                   	pop    %ecx
44a255:	74 19                	je     0x44a270
44a257:	33 c0                	xor    %eax,%eax
44a259:	85 db                	test   %ebx,%ebx
44a25b:	0f 95 c0             	setne  %al
44a25e:	8d 44 00 01          	lea    0x1(%eax,%eax,1),%eax
44a262:	8d 34 46             	lea    (%esi,%eax,2),%esi
44a265:	56                   	push   %esi
44a266:	e8 5d e2 fc ff       	call   0x4184c8
44a26b:	59                   	pop    %ecx
44a26c:	8d 74 46 02          	lea    0x2(%esi,%eax,2),%esi
44a270:	85 db                	test   %ebx,%ebx
44a272:	74 06                	je     0x44a27a
44a274:	66 8b 47 10          	mov    0x10(%edi),%ax
44a278:	eb 04                	jmp    0x44a27e
44a27a:	66 8b 47 08          	mov    0x8(%edi),%ax
44a27e:	66 85 c0             	test   %ax,%ax
44a281:	76 63                	jbe    0x44a2e6
44a283:	8b cb                	mov    %ebx,%ecx
44a285:	f7 d9                	neg    %ecx
44a287:	1b c9                	sbb    %ecx,%ecx
44a289:	83 e1 06             	and    $0x6,%ecx
44a28c:	83 c1 12             	add    $0x12,%ecx
44a28f:	0f b7 d8             	movzwl %ax,%ebx
44a292:	8d 46 03             	lea    0x3(%esi),%eax
44a295:	83 e0 fc             	and    $0xfffffffc,%eax
44a298:	03 c1                	add    %ecx,%eax
44a29a:	66 81 38 ff ff       	cmpw   $0xffff,(%eax)
44a29f:	75 05                	jne    0x44a2a6
44a2a1:	83 c0 04             	add    $0x4,%eax
44a2a4:	eb 0a                	jmp    0x44a2b0
44a2a6:	66 8b 10             	mov    (%eax),%dx
44a2a9:	40                   	inc    %eax
44a2aa:	40                   	inc    %eax
44a2ab:	66 85 d2             	test   %dx,%dx
44a2ae:	75 f6                	jne    0x44a2a6
44a2b0:	66 81 38 ff ff       	cmpw   $0xffff,(%eax)
44a2b5:	75 05                	jne    0x44a2bc
44a2b7:	83 c0 04             	add    $0x4,%eax
44a2ba:	eb 0a                	jmp    0x44a2c6
44a2bc:	66 8b 10             	mov    (%eax),%dx
44a2bf:	40                   	inc    %eax
44a2c0:	40                   	inc    %eax
44a2c1:	66 85 d2             	test   %dx,%dx
44a2c4:	75 f6                	jne    0x44a2bc
44a2c6:	33 d2                	xor    %edx,%edx
44a2c8:	66 8b 10             	mov    (%eax),%dx
44a2cb:	66 85 d2             	test   %dx,%dx
44a2ce:	74 0c                	je     0x44a2dc
44a2d0:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
44a2d4:	75 06                	jne    0x44a2dc
44a2d6:	81 c2 fe ff 00 00    	add    $0xfffe,%edx
44a2dc:	4b                   	dec    %ebx
44a2dd:	0f b7 d2             	movzwl %dx,%edx
44a2e0:	8d 74 10 02          	lea    0x2(%eax,%edx,1),%esi
44a2e4:	75 ac                	jne    0x44a292
44a2e6:	8b c6                	mov    %esi,%eax
44a2e8:	2b c7                	sub    %edi,%eax
44a2ea:	5f                   	pop    %edi
44a2eb:	5e                   	pop    %esi
44a2ec:	5b                   	pop    %ebx
44a2ed:	5d                   	pop    %ebp
44a2ee:	c3                   	ret
44a2ef:	55                   	push   %ebp
44a2f0:	8b ec                	mov    %esp,%ebp
44a2f2:	83 ec 54             	sub    $0x54,%esp
44a2f5:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
44a2fa:	53                   	push   %ebx
44a2fb:	33 db                	xor    %ebx,%ebx
44a2fd:	39 59 04             	cmp    %ebx,0x4(%ecx)
44a300:	89 45 fc             	mov    %eax,-0x4(%ebp)
44a303:	89 4d b0             	mov    %ecx,-0x50(%ebp)
44a306:	75 07                	jne    0x44a30f
44a308:	33 c0                	xor    %eax,%eax
44a30a:	e9 0b 01 00 00       	jmp    0x44a41a
44a30f:	56                   	push   %esi
44a310:	57                   	push   %edi
44a311:	ff 31                	push   (%ecx)
44a313:	ff 15 40 03 4b 00    	call   *0x4b0340
44a319:	8b f8                	mov    %eax,%edi
44a31b:	33 c0                	xor    %eax,%eax
44a31d:	66 81 7f 02 ff ff    	cmpw   $0xffff,0x2(%edi)
44a323:	57                   	push   %edi
44a324:	0f 94 c0             	sete   %al
44a327:	89 45 b4             	mov    %eax,-0x4c(%ebp)
44a32a:	e8 f2 fd ff ff       	call   0x44a121
44a32f:	89 45 b8             	mov    %eax,-0x48(%ebp)
44a332:	33 c0                	xor    %eax,%eax
44a334:	39 5d b4             	cmp    %ebx,-0x4c(%ebp)
44a337:	59                   	pop    %ecx
44a338:	0f 95 c0             	setne  %al
44a33b:	8d 44 00 01          	lea    0x1(%eax,%eax,1),%eax
44a33f:	d1 e0                	shl    $1,%eax
44a341:	39 5d b4             	cmp    %ebx,-0x4c(%ebp)
44a344:	8b f0                	mov    %eax,%esi
44a346:	89 75 ac             	mov    %esi,-0x54(%ebp)
44a349:	74 06                	je     0x44a351
44a34b:	83 4f 0c 40          	orl    $0x40,0xc(%edi)
44a34f:	eb 03                	jmp    0x44a354
44a351:	83 0f 40             	orl    $0x40,(%edi)
44a354:	ff 75 08             	push   0x8(%ebp)
44a357:	ff 15 88 03 4b 00    	call   *0x4b0388
44a35d:	83 f8 20             	cmp    $0x20,%eax
44a360:	7c 07                	jl     0x44a369
44a362:	33 c0                	xor    %eax,%eax
44a364:	e9 af 00 00 00       	jmp    0x44a418
44a369:	6a 20                	push   $0x20
44a36b:	8d 45 bc             	lea    -0x44(%ebp),%eax
44a36e:	50                   	push   %eax
44a36f:	6a ff                	push   $0xffffffff
44a371:	ff 75 08             	push   0x8(%ebp)
44a374:	53                   	push   %ebx
44a375:	53                   	push   %ebx
44a376:	ff 15 a4 03 4b 00    	call   *0x4b03a4
44a37c:	8d 04 46             	lea    (%esi,%eax,2),%eax
44a37f:	57                   	push   %edi
44a380:	89 45 08             	mov    %eax,0x8(%ebp)
44a383:	e8 59 fe ff ff       	call   0x44a1e1
44a388:	59                   	pop    %ecx
44a389:	33 c9                	xor    %ecx,%ecx
44a38b:	39 4d b8             	cmp    %ecx,-0x48(%ebp)
44a38e:	8b d8                	mov    %eax,%ebx
44a390:	74 0e                	je     0x44a3a0
44a392:	8d 04 33             	lea    (%ebx,%esi,1),%eax
44a395:	50                   	push   %eax
44a396:	e8 2d e1 fc ff       	call   0x4184c8
44a39b:	59                   	pop    %ecx
44a39c:	8d 4c 46 02          	lea    0x2(%esi,%eax,2),%ecx
44a3a0:	8b 55 08             	mov    0x8(%ebp),%edx
44a3a3:	8d 44 19 03          	lea    0x3(%ecx,%ebx,1),%eax
44a3a7:	8d 74 13 03          	lea    0x3(%ebx,%edx,1),%esi
44a3ab:	83 e0 fc             	and    $0xfffffffc,%eax
44a3ae:	83 e6 fc             	and    $0xfffffffc,%esi
44a3b1:	83 7d b4 00          	cmpl   $0x0,-0x4c(%ebp)
44a3b5:	89 45 b8             	mov    %eax,-0x48(%ebp)
44a3b8:	74 06                	je     0x44a3c0
44a3ba:	66 8b 57 10          	mov    0x10(%edi),%dx
44a3be:	eb 04                	jmp    0x44a3c4
44a3c0:	66 8b 57 08          	mov    0x8(%edi),%dx
44a3c4:	39 4d 08             	cmp    %ecx,0x8(%ebp)
44a3c7:	74 18                	je     0x44a3e1
44a3c9:	66 85 d2             	test   %dx,%dx
44a3cc:	76 13                	jbe    0x44a3e1
44a3ce:	8b 4d b0             	mov    -0x50(%ebp),%ecx
44a3d1:	2b f8                	sub    %eax,%edi
44a3d3:	03 79 04             	add    0x4(%ecx),%edi
44a3d6:	57                   	push   %edi
44a3d7:	50                   	push   %eax
44a3d8:	56                   	push   %esi
44a3d9:	e8 42 cc fc ff       	call   0x417020
44a3de:	83 c4 0c             	add    $0xc,%esp
44a3e1:	66 8b 4d 0c          	mov    0xc(%ebp),%cx
44a3e5:	8b 45 08             	mov    0x8(%ebp),%eax
44a3e8:	66 89 0b             	mov    %cx,(%ebx)
44a3eb:	8b 4d ac             	mov    -0x54(%ebp),%ecx
44a3ee:	2b c1                	sub    %ecx,%eax
44a3f0:	50                   	push   %eax
44a3f1:	8d 45 bc             	lea    -0x44(%ebp),%eax
44a3f4:	50                   	push   %eax
44a3f5:	03 d9                	add    %ecx,%ebx
44a3f7:	53                   	push   %ebx
44a3f8:	e8 23 cc fc ff       	call   0x417020
44a3fd:	8b 7d b0             	mov    -0x50(%ebp),%edi
44a400:	2b 75 b8             	sub    -0x48(%ebp),%esi