459f74:	e8 7e 38 fb ff       	call   0x40d7f7
459f79:	a1 d4 10 4c 00       	mov    0x4c10d4,%eax
459f7e:	85 c0                	test   %eax,%eax
459f80:	74 0e                	je     0x459f90
459f82:	50                   	push   %eax
459f83:	ff 15 24 d6 48 00    	call   *0x48d624
459f89:	83 25 d4 10 4c 00 00 	andl   $0x0,0x4c10d4
459f90:	83 7d 10 01          	cmpl   $0x1,0x10(%ebp)
459f94:	0f 84 cf 02 00 00    	je     0x45a269
459f9a:	83 7d 0c 03          	cmpl   $0x3,0xc(%ebp)
459f9e:	57                   	push   %edi
459f9f:	8b 7d 08             	mov    0x8(%ebp),%edi
459fa2:	72 1b                	jb     0x459fbf
459fa4:	8b 47 04             	mov    0x4(%edi),%eax
459fa7:	8b 70 08             	mov    0x8(%eax),%esi
459faa:	8b ce                	mov    %esi,%ecx
459fac:	e8 bb f3 fa ff       	call   0x40936c
459fb1:	ff 76 08             	push   0x8(%esi)
459fb4:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
459fb7:	e8 31 cf fa ff       	call   0x406eed
459fbc:	8b 75 f8             	mov    -0x8(%ebp),%esi
459fbf:	83 7d 0c 04          	cmpl   $0x4,0xc(%ebp)
459fc3:	72 10                	jb     0x459fd5
459fc5:	8b 47 04             	mov    0x4(%edi),%eax
459fc8:	8b 48 0c             	mov    0xc(%eax),%ecx
459fcb:	e8 b6 32 fb ff       	call   0x40d286
459fd0:	8b f0                	mov    %eax,%esi
459fd2:	89 45 f8             	mov    %eax,-0x8(%ebp)
459fd5:	83 7d 0c 05          	cmpl   $0x5,0xc(%ebp)
459fd9:	72 0d                	jb     0x459fe8
459fdb:	8b 4f 04             	mov    0x4(%edi),%ecx
459fde:	8b 49 10             	mov    0x10(%ecx),%ecx
459fe1:	e8 a0 32 fb ff       	call   0x40d286
459fe6:	8b d8                	mov    %eax,%ebx
459fe8:	83 7d 0c 06          	cmpl   $0x6,0xc(%ebp)
459fec:	72 4a                	jb     0x45a038
459fee:	8b 4f 04             	mov    0x4(%edi),%ecx
459ff1:	8b 49 14             	mov    0x14(%ecx),%ecx
459ff4:	e8 8d 32 fb ff       	call   0x40d286
459ff9:	a8 01                	test   $0x1,%al
459ffb:	74 07                	je     0x45a004
459ffd:	c7 45 fc 00 00 00 88 	movl   $0x88000000,-0x4(%ebp)
45a004:	8b 47 04             	mov    0x4(%edi),%eax
45a007:	8b 48 14             	mov    0x14(%eax),%ecx
45a00a:	e8 77 32 fb ff       	call   0x40d286
45a00f:	24 02                	and    $0x2,%al
45a011:	0f be c0             	movsbl %al,%eax
45a014:	f7 d8                	neg    %eax
45a016:	1b c0                	sbb    %eax,%eax
45a018:	6a 08                	push   $0x8
45a01a:	f7 d0                	not    %eax
45a01c:	59                   	pop    %ecx
45a01d:	23 c1                	and    %ecx,%eax
45a01f:	89 45 f4             	mov    %eax,-0xc(%ebp)
45a022:	8b 47 04             	mov    0x4(%edi),%eax
45a025:	8b 48 14             	mov    0x14(%eax),%ecx
45a028:	e8 59 32 fb ff       	call   0x40d286
45a02d:	a8 10                	test   $0x10,%al
45a02f:	74 07                	je     0x45a038
45a031:	81 75 fc 00 00 00 08 	xorl   $0x8000000,-0x4(%ebp)
45a038:	6a 00                	push   $0x0
45a03a:	8d 45 e4             	lea    -0x1c(%ebp),%eax
45a03d:	50                   	push   %eax
45a03e:	6a 00                	push   $0x0
45a040:	6a 30                	push   $0x30
45a042:	ff 15 28 d7 48 00    	call   *0x48d728
45a048:	83 fe ff             	cmp    $0xffffffff,%esi
45a04b:	75 12                	jne    0x45a05f
45a04d:	8b 45 ec             	mov    -0x14(%ebp),%eax
45a050:	05 d4 fe ff ff       	add    $0xfffffed4,%eax
45a055:	99                   	cltd
45a056:	2b c2                	sub    %edx,%eax
45a058:	8b f0                	mov    %eax,%esi
45a05a:	d1 fe                	sar    $1,%esi
45a05c:	89 75 f8             	mov    %esi,-0x8(%ebp)
45a05f:	83 fb ff             	cmp    $0xffffffff,%ebx
45a062:	75 0d                	jne    0x45a071
45a064:	8b 45 f0             	mov    -0x10(%ebp),%eax
45a067:	83 c0 9c             	add    $0xffffff9c,%eax
45a06a:	99                   	cltd
45a06b:	2b c2                	sub    %edx,%eax
45a06d:	8b d8                	mov    %eax,%ebx
45a06f:	d1 fb                	sar    $1,%ebx
45a071:	6a 64                	push   $0x64
45a073:	68 2c 01 00 00       	push   $0x12c
45a078:	33 f6                	xor    %esi,%esi
45a07a:	56                   	push   %esi
45a07b:	56                   	push   %esi
45a07c:	8d 45 e4             	lea    -0x1c(%ebp),%eax
45a07f:	50                   	push   %eax
45a080:	ff 15 a4 d6 48 00    	call   *0x48d6a4
45a086:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45a089:	51                   	push   %ecx
45a08a:	56                   	push   %esi
45a08b:	ff 75 fc             	push   -0x4(%ebp)
45a08e:	8d 45 e4             	lea    -0x1c(%ebp),%eax
45a091:	50                   	push   %eax
45a092:	ff 15 a0 d6 48 00    	call   *0x48d6a0
45a098:	8b 47 04             	mov    0x4(%edi),%eax
45a09b:	8b 30                	mov    (%eax),%esi
45a09d:	8b ce                	mov    %esi,%ecx
45a09f:	e8 c8 f2 fa ff       	call   0x40936c
45a0a4:	8b 46 08             	mov    0x8(%esi),%eax
45a0a7:	8b 08                	mov    (%eax),%ecx
45a0a9:	33 c0                	xor    %eax,%eax
45a0ab:	50                   	push   %eax
45a0ac:	50                   	push   %eax
45a0ad:	50                   	push   %eax
45a0ae:	ff 35 e8 10 4c 00    	push   0x4c10e8
45a0b4:	8b 45 f0             	mov    -0x10(%ebp),%eax
45a0b7:	2b 45 e8             	sub    -0x18(%ebp),%eax
45a0ba:	50                   	push   %eax
45a0bb:	8b 45 ec             	mov    -0x14(%ebp),%eax
45a0be:	2b 45 e4             	sub    -0x1c(%ebp),%eax
45a0c1:	50                   	push   %eax
45a0c2:	53                   	push   %ebx
45a0c3:	ff 75 f8             	push   -0x8(%ebp)
45a0c6:	8b 1d 08 d7 48 00    	mov    0x48d708,%ebx
45a0cc:	ff 75 fc             	push   -0x4(%ebp)
45a0cf:	51                   	push   %ecx
45a0d0:	68 b8 da 49 00       	push   $0x49dab8
45a0d5:	ff 75 f4             	push   -0xc(%ebp)
45a0d8:	ff d3                	call   *%ebx
45a0da:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
45a0dd:	51                   	push   %ecx
45a0de:	50                   	push   %eax
45a0df:	a3 d4 10 4c 00       	mov    %eax,0x4c10d4
45a0e4:	ff 15 1c d6 48 00    	call   *0x48d61c
45a0ea:	8b 47 04             	mov    0x4(%edi),%eax
45a0ed:	8b 70 04             	mov    0x4(%eax),%esi
45a0f0:	8b ce                	mov    %esi,%ecx
45a0f2:	e8 75 f2 fa ff       	call   0x40936c
45a0f7:	8b 46 08             	mov    0x8(%esi),%eax
45a0fa:	33 f6                	xor    %esi,%esi
45a0fc:	8b 08                	mov    (%eax),%ecx
45a0fe:	8b 45 ec             	mov    -0x14(%ebp),%eax
45a101:	2b 45 e4             	sub    -0x1c(%ebp),%eax
45a104:	56                   	push   %esi
45a105:	56                   	push   %esi
45a106:	56                   	push   %esi
45a107:	ff 35 d4 10 4c 00    	push   0x4c10d4
45a10d:	2d 19 01 00 00       	sub    $0x119,%eax
45a112:	6a 18                	push   $0x18
45a114:	68 00 05 00 00       	push   $0x500
45a119:	6a 04                	push   $0x4
45a11b:	50                   	push   %eax
45a11c:	68 00 00 00 50       	push   $0x50000000
45a121:	51                   	push   %ecx
45a122:	68 78 18 4b 00       	push   $0x4b1878
45a127:	56                   	push   %esi
45a128:	ff d3                	call   *%ebx
45a12a:	56                   	push   %esi
45a12b:	56                   	push   %esi
45a12c:	56                   	push   %esi
45a12d:	68 50 3d 4b 00       	push   $0x4b3d50
45a132:	a3 cc 10 4c 00       	mov    %eax,0x4c10cc
45a137:	ff 15 18 d1 48 00    	call   *0x48d118
45a13d:	8b 1d 1c d1 48 00    	mov    0x48d11c,%ebx
45a143:	6a 11                	push   $0x11
45a145:	8b f0                	mov    %eax,%esi
45a147:	ff d3                	call   *%ebx
45a149:	50                   	push   %eax
45a14a:	56                   	push   %esi
45a14b:	ff 15 04 d1 48 00    	call   *0x48d104
45a151:	8d 85 50 ff ff ff    	lea    -0xb0(%ebp),%eax
45a157:	50                   	push   %eax
45a158:	6a 40                	push   $0x40
45a15a:	56                   	push   %esi
45a15b:	ff 15 48 d1 48 00    	call   *0x48d148
45a161:	6a 5a                	push   $0x5a
45a163:	56                   	push   %esi
45a164:	ff 15 dc d0 48 00    	call   *0x48d0dc
45a16a:	56                   	push   %esi
45a16b:	8b f8                	mov    %eax,%edi
45a16d:	ff 15 10 d1 48 00    	call   *0x48d110
45a173:	6b ff f6             	imul   $0xfffffff6,%edi,%edi
45a176:	8d 85 50 ff ff ff    	lea    -0xb0(%ebp),%eax
45a17c:	50                   	push   %eax
45a17d:	33 c0                	xor    %eax,%eax
45a17f:	50                   	push   %eax
45a180:	6a 02                	push   $0x2
45a182:	50                   	push   %eax
45a183:	6a 04                	push   $0x4
45a185:	6a 01                	push   $0x1
45a187:	50                   	push   %eax
45a188:	50                   	push   %eax
45a189:	50                   	push   %eax
45a18a:	68 58 02 00 00       	push   $0x258
45a18f:	50                   	push   %eax
45a190:	50                   	push   %eax
45a191:	50                   	push   %eax
45a192:	6a 48                	push   $0x48
45a194:	8b c7                	mov    %edi,%eax
45a196:	99                   	cltd
45a197:	59                   	pop    %ecx
45a198:	f7 f9                	idiv   %ecx
45a19a:	50                   	push   %eax
45a19b:	ff 15 44 d1 48 00    	call   *0x48d144
45a1a1:	8b 35 70 d6 48 00    	mov    0x48d670,%esi
45a1a7:	6a 01                	push   $0x1
45a1a9:	50                   	push   %eax
45a1aa:	6a 30                	push   $0x30
45a1ac:	ff 35 cc 10 4c 00    	push   0x4c10cc
45a1b2:	ff d6                	call   *%esi
45a1b4:	8b 45 ec             	mov    -0x14(%ebp),%eax
45a1b7:	2b 45 e4             	sub    -0x1c(%ebp),%eax
45a1ba:	33 ff                	xor    %edi,%edi
45a1bc:	57                   	push   %edi
45a1bd:	57                   	push   %edi
45a1be:	57                   	push   %edi
45a1bf:	ff 35 d4 10 4c 00    	push   0x4c10d4
45a1c5:	b9 04 01 00 00       	mov    $0x104,%ecx
45a1ca:	6a 14                	push   $0x14
45a1cc:	2b c1                	sub    %ecx,%eax
45a1ce:	51                   	push   %ecx
45a1cf:	99                   	cltd
45a1d0:	6a 1e                	push   $0x1e
45a1d2:	2b c2                	sub    %edx,%eax
45a1d4:	d1 f8                	sar    $1,%eax
45a1d6:	50                   	push   %eax
45a1d7:	68 01 00 00 50       	push   $0x50000001
45a1dc:	57                   	push   %edi
45a1dd:	8b 3d 08 d7 48 00    	mov    0x48d708,%edi
45a1e3:	68 60 3d 4b 00       	push   $0x4b3d60
45a1e8:	68 00 02 00 00       	push   $0x200
45a1ed:	ff d7                	call   *%edi
45a1ef:	a3 d0 10 4c 00       	mov    %eax,0x4c10d0
45a1f4:	68 00 00 64 00       	push   $0x640000
45a1f9:	6a 00                	push   $0x0
45a1fb:	68 01 04 00 00       	push   $0x401
45a200:	50                   	push   %eax
45a201:	ff d6                	call   *%esi
45a203:	6a 00                	push   $0x0
45a205:	6a 01                	push   $0x1
45a207:	68 04 04 00 00       	push   $0x404
45a20c:	ff 35 d0 10 4c 00    	push   0x4c10d0
45a212:	ff d6                	call   *%esi
45a214:	33 c9                	xor    %ecx,%ecx
45a216:	51                   	push   %ecx
45a217:	51                   	push   %ecx
45a218:	51                   	push   %ecx
45a219:	ff 35 d4 10 4c 00    	push   0x4c10d4
45a21f:	6a 32                	push   $0x32
45a221:	68 00 05 00 00       	push   $0x500
45a226:	6a 37                	push   $0x37
45a228:	8b 45 ec             	mov    -0x14(%ebp),%eax
45a22b:	2b 45 e4             	sub    -0x1c(%ebp),%eax
45a22e:	2d 18 01 00 00       	sub    $0x118,%eax
45a233:	50                   	push   %eax
45a234:	68 00 00 00 50       	push   $0x50000000
45a239:	ff 75 d4             	push   -0x2c(%ebp)
45a23c:	68 78 18 4b 00       	push   $0x4b1878
45a241:	51                   	push   %ecx
45a242:	ff d7                	call   *%edi
45a244:	6a 01                	push   $0x1
45a246:	6a 11                	push   $0x11
45a248:	a3 c8 10 4c 00       	mov    %eax,0x4c10c8
45a24d:	ff d3                	call   *%ebx
45a24f:	50                   	push   %eax
45a250:	6a 30                	push   $0x30
45a252:	ff 35 c8 10 4c 00    	push   0x4c10c8
45a258:	ff d6                	call   *%esi
45a25a:	6a 04                	push   $0x4
45a25c:	ff 35 d4 10 4c 00    	push   0x4c10d4
45a262:	ff 15 04 d7 48 00    	call   *0x48d704
45a268:	5f                   	pop    %edi
45a269:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
45a26c:	e8 c6 28 fb ff       	call   0x40cb37
45a271:	5e                   	pop    %esi
45a272:	33 c0                	xor    %eax,%eax
45a274:	5b                   	pop    %ebx
45a275:	c9                   	leave
45a276:	c2 0c 00             	ret    $0xc
45a279:	55                   	push   %ebp
45a27a:	8b ec                	mov    %esp,%ebp
45a27c:	0f b6 55 08          	movzbl 0x8(%ebp),%edx
45a280:	56                   	push   %esi
45a281:	8b 75 0c             	mov    0xc(%ebp),%esi
45a284:	8b ca                	mov    %edx,%ecx
45a286:	2b ce                	sub    %esi,%ecx
45a288:	79 02                	jns    0x45a28c
45a28a:	33 c9                	xor    %ecx,%ecx
45a28c:	8b 45 10             	mov    0x10(%ebp),%eax
45a28f:	88 08                	mov    %cl,(%eax)
45a291:	8d 04 32             	lea    (%edx,%esi,1),%eax
45a294:	b9 ff 00 00 00       	mov    $0xff,%ecx
45a299:	5e                   	pop    %esi
45a29a:	3b c1                	cmp    %ecx,%eax
45a29c:	7f 02                	jg     0x45a2a0
45a29e:	8b c8                	mov    %eax,%ecx
45a2a0:	8b 45 14             	mov    0x14(%ebp),%eax
45a2a3:	88 08                	mov    %cl,(%eax)
45a2a5:	5d                   	pop    %ebp
45a2a6:	c2 10 00             	ret    $0x10
45a2a9:	55                   	push   %ebp
45a2aa:	8b ec                	mov    %esp,%ebp
45a2ac:	81 ec b8 00 00 00    	sub    $0xb8,%esp
45a2b2:	83 4d e8 ff          	orl    $0xffffffff,-0x18(%ebp)
45a2b6:	83 4d e4 ff          	orl    $0xffffffff,-0x1c(%ebp)
45a2ba:	53                   	push   %ebx
45a2bb:	56                   	push   %esi
45a2bc:	33 db                	xor    %ebx,%ebx
45a2be:	57                   	push   %edi
45a2bf:	bf 01 00 00 50       	mov    $0x50000001,%edi
45a2c4:	c7 45 f4 f4 01 00 00 	movl   $0x1f4,-0xc(%ebp)
45a2cb:	c7 45 fc 90 01 00 00 	movl   $0x190,-0x4(%ebp)
45a2d2:	89 5d d0             	mov    %ebx,-0x30(%ebp)
45a2d5:	89 7d ec             	mov    %edi,-0x14(%ebp)
45a2d8:	c7 45 f8 00 00 c0 88 	movl   $0x88c00000,-0x8(%ebp)
45a2df:	c7 45 f0 08 00 00 00 	movl   $0x8,-0x10(%ebp)
45a2e6:	39 1d dc 10 4c 00    	cmp    %ebx,0x4c10dc
45a2ec:	74 3c                	je     0x45a32a
45a2ee:	a1 e0 10 4c 00       	mov    0x4c10e0,%eax
45a2f3:	8b 35 c8 d0 48 00    	mov    0x48d0c8,%esi
45a2f9:	85 c0                	test   %eax,%eax
45a2fb:	74 09                	je     0x45a306
45a2fd:	50                   	push   %eax
45a2fe:	ff d6                	call   *%esi
45a300:	89 1d e0 10 4c 00    	mov    %ebx,0x4c10e0
45a306:	a1 d8 10 4c 00       	mov    0x4c10d8,%eax
45a30b:	85 c0                	test   %eax,%eax
45a30d:	74 09                	je     0x45a318
45a30f:	50                   	push   %eax
45a310:	ff d6                	call   *%esi
45a312:	89 1d d8 10 4c 00    	mov    %ebx,0x4c10d8
45a318:	ff 35 dc 10 4c 00    	push   0x4c10dc
45a31e:	ff 15 24 d6 48 00    	call   *0x48d624
45a324:	89 1d dc 10 4c 00    	mov    %ebx,0x4c10dc
45a32a:	83 7d 10 02          	cmpl   $0x2,0x10(%ebp)
45a32e:	0f 84 ef 04 00 00    	je     0x45a823
45a334:	8d 45 d4             	lea    -0x2c(%ebp),%eax
45a337:	50                   	push   %eax
45a338:	ff 15 2c d6 48 00    	call   *0x48d62c
45a33e:	50                   	push   %eax
45a33f:	ff 15 7c d6 48 00    	call   *0x48d67c
45a345:	8b 75 0c             	mov    0xc(%ebp),%esi
45a348:	8b 5d 08             	mov    0x8(%ebp),%ebx
45a34b:	83 fe 03             	cmp    $0x3,%esi
45a34e:	72 1e                	jb     0x45a36e
45a350:	8b 43 04             	mov    0x4(%ebx),%eax
45a353:	8b 48 08             	mov    0x8(%eax),%ecx
45a356:	e8 2b 2f fb ff       	call   0x40d286
45a35b:	83 f8 ff             	cmp    $0xffffffff,%eax
45a35e:	74 0e                	je     0x45a36e
45a360:	8b 43 04             	mov    0x4(%ebx),%eax
45a363:	8b 48 08             	mov    0x8(%eax),%ecx
45a366:	e8 1b 2f fb ff       	call   0x40d286
45a36b:	89 45 f4             	mov    %eax,-0xc(%ebp)
45a36e:	83 fe 04             	cmp    $0x4,%esi
45a371:	72 1e                	jb     0x45a391