4830bc:	eb ea                	jmp    0x4830a8
4830be:	66 85 ff             	test   %di,%di
4830c1:	0f 84 ca 00 00 00    	je     0x483191
4830c7:	85 f6                	test   %esi,%esi
4830c9:	74 08                	je     0x4830d3
4830cb:	89 0e                	mov    %ecx,(%esi)
4830cd:	83 c6 04             	add    $0x4,%esi
4830d0:	89 75 0c             	mov    %esi,0xc(%ebp)
4830d3:	8b 45 14             	mov    0x14(%ebp),%eax
4830d6:	6a 5c                	push   $0x5c
4830d8:	5e                   	pop    %esi
4830d9:	ff 00                	incl   (%eax)
4830db:	0f b7 02             	movzwl (%edx),%eax
4830de:	33 db                	xor    %ebx,%ebx
4830e0:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
4830e7:	8b f8                	mov    %eax,%edi
4830e9:	66 3b c6             	cmp    %si,%ax
4830ec:	75 0e                	jne    0x4830fc
4830ee:	83 c2 02             	add    $0x2,%edx
4830f1:	43                   	inc    %ebx
4830f2:	0f b7 02             	movzwl (%edx),%eax
4830f5:	66 3b c6             	cmp    %si,%ax
4830f8:	74 f4                	je     0x4830ee
4830fa:	8b f8                	mov    %eax,%edi
4830fc:	6a 22                	push   $0x22
4830fe:	58                   	pop    %eax
4830ff:	66 3b f8             	cmp    %ax,%di
483102:	75 29                	jne    0x48312d
483104:	f6 c3 01             	test   $0x1,%bl
483107:	75 22                	jne    0x48312b
483109:	8a 45 ff             	mov    -0x1(%ebp),%al
48310c:	84 c0                	test   %al,%al
48310e:	74 11                	je     0x483121
483110:	6a 22                	push   $0x22
483112:	5f                   	pop    %edi
483113:	66 39 7a 02          	cmp    %di,0x2(%edx)
483117:	75 05                	jne    0x48311e
483119:	83 c2 02             	add    $0x2,%edx
48311c:	eb 0d                	jmp    0x48312b
48311e:	8a 45 ff             	mov    -0x1(%ebp),%al
483121:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
483125:	84 c0                	test   %al,%al
483127:	0f 94 45 ff          	sete   -0x1(%ebp)
48312b:	d1 eb                	shr    $1,%ebx
48312d:	8b 7d 18             	mov    0x18(%ebp),%edi
483130:	85 db                	test   %ebx,%ebx
483132:	74 0f                	je     0x483143
483134:	4b                   	dec    %ebx
483135:	85 c9                	test   %ecx,%ecx
483137:	74 06                	je     0x48313f
483139:	66 89 31             	mov    %si,(%ecx)
48313c:	83 c1 02             	add    $0x2,%ecx
48313f:	ff 07                	incl   (%edi)
483141:	eb ed                	jmp    0x483130
483143:	0f b7 02             	movzwl (%edx),%eax
483146:	66 85 c0             	test   %ax,%ax
483149:	74 30                	je     0x48317b
48314b:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
48314f:	75 10                	jne    0x483161
483151:	6a 20                	push   $0x20
483153:	5b                   	pop    %ebx
483154:	66 3b c3             	cmp    %bx,%ax
483157:	74 22                	je     0x48317b
483159:	6a 09                	push   $0x9
48315b:	5b                   	pop    %ebx
48315c:	66 3b c3             	cmp    %bx,%ax
48315f:	74 1a                	je     0x48317b
483161:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
483165:	74 0c                	je     0x483173
483167:	85 c9                	test   %ecx,%ecx
483169:	74 06                	je     0x483171
48316b:	66 89 01             	mov    %ax,(%ecx)
48316e:	83 c1 02             	add    $0x2,%ecx
483171:	ff 07                	incl   (%edi)
483173:	83 c2 02             	add    $0x2,%edx
483176:	e9 60 ff ff ff       	jmp    0x4830db
48317b:	8b 75 0c             	mov    0xc(%ebp),%esi
48317e:	85 c9                	test   %ecx,%ecx
483180:	74 08                	je     0x48318a
483182:	33 c0                	xor    %eax,%eax
483184:	66 89 01             	mov    %ax,(%ecx)
483187:	83 c1 02             	add    $0x2,%ecx
48318a:	ff 07                	incl   (%edi)
48318c:	e9 0a ff ff ff       	jmp    0x48309b
483191:	5f                   	pop    %edi
483192:	5b                   	pop    %ebx
483193:	85 f6                	test   %esi,%esi
483195:	74 03                	je     0x48319a
483197:	83 26 00             	andl   $0x0,(%esi)
48319a:	8b 45 14             	mov    0x14(%ebp),%eax
48319d:	5e                   	pop    %esi
48319e:	ff 00                	incl   (%eax)
4831a0:	c9                   	leave
4831a1:	c3                   	ret
4831a2:	8b ff                	mov    %edi,%edi
4831a4:	55                   	push   %ebp
4831a5:	8b ec                	mov    %esp,%ebp
4831a7:	56                   	push   %esi
4831a8:	8b 75 08             	mov    0x8(%ebp),%esi
4831ab:	81 fe ff ff ff 3f    	cmp    $0x3fffffff,%esi
4831b1:	73 39                	jae    0x4831ec
4831b3:	83 c8 ff             	or     $0xffffffff,%eax
4831b6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4831b9:	33 d2                	xor    %edx,%edx
4831bb:	f7 75 10             	divl   0x10(%ebp)
4831be:	3b c8                	cmp    %eax,%ecx
4831c0:	73 2a                	jae    0x4831ec
4831c2:	0f af 4d 10          	imul   0x10(%ebp),%ecx
4831c6:	c1 e6 02             	shl    $0x2,%esi
4831c9:	8b c6                	mov    %esi,%eax
4831cb:	f7 d0                	not    %eax
4831cd:	3b c1                	cmp    %ecx,%eax
4831cf:	76 1b                	jbe    0x4831ec
4831d1:	8d 04 0e             	lea    (%esi,%ecx,1),%eax
4831d4:	6a 01                	push   $0x1
4831d6:	50                   	push   %eax
4831d7:	e8 61 51 00 00       	call   0x48833d
4831dc:	6a 00                	push   $0x0
4831de:	8b f0                	mov    %eax,%esi
4831e0:	e8 13 26 00 00       	call   0x4857f8
4831e5:	83 c4 0c             	add    $0xc,%esp
4831e8:	8b c6                	mov    %esi,%eax
4831ea:	eb 02                	jmp    0x4831ee
4831ec:	33 c0                	xor    %eax,%eax
4831ee:	5e                   	pop    %esi
4831ef:	5d                   	pop    %ebp
4831f0:	c3                   	ret
4831f1:	8b ff                	mov    %edi,%edi
4831f3:	55                   	push   %ebp
4831f4:	8b ec                	mov    %esp,%ebp
4831f6:	5d                   	pop    %ebp
4831f7:	e9 cf fc ff ff       	jmp    0x482ecb
4831fc:	a1 90 87 4c 00       	mov    0x4c8790,%eax
483201:	85 c0                	test   %eax,%eax
483203:	75 22                	jne    0x483227
483205:	39 05 8c 87 4c 00    	cmp    %eax,0x4c878c
48320b:	74 18                	je     0x483225
48320d:	e8 16 00 00 00       	call   0x483228
483212:	85 c0                	test   %eax,%eax
483214:	74 09                	je     0x48321f
483216:	e8 af 01 00 00       	call   0x4833ca
48321b:	85 c0                	test   %eax,%eax
48321d:	75 06                	jne    0x483225
48321f:	a1 90 87 4c 00       	mov    0x4c8790,%eax
483224:	c3                   	ret
483225:	33 c0                	xor    %eax,%eax
483227:	c3                   	ret
483228:	83 3d 90 87 4c 00 00 	cmpl   $0x0,0x4c8790
48322f:	74 03                	je     0x483234
483231:	33 c0                	xor    %eax,%eax
483233:	c3                   	ret
483234:	56                   	push   %esi
483235:	e8 3d c8 00 00       	call   0x48fa77
48323a:	8b f0                	mov    %eax,%esi
48323c:	85 f6                	test   %esi,%esi
48323e:	75 0c                	jne    0x48324c
483240:	50                   	push   %eax
483241:	e8 b2 25 00 00       	call   0x4857f8
483246:	59                   	pop    %ecx
483247:	83 c8 ff             	or     $0xffffffff,%eax
48324a:	5e                   	pop    %esi
48324b:	c3                   	ret
48324c:	57                   	push   %edi
48324d:	56                   	push   %esi
48324e:	e8 2a 00 00 00       	call   0x48327d
483253:	59                   	pop    %ecx
483254:	85 c0                	test   %eax,%eax
483256:	75 05                	jne    0x48325d
483258:	83 cf ff             	or     $0xffffffff,%edi
48325b:	eb 0c                	jmp    0x483269
48325d:	a3 94 87 4c 00       	mov    %eax,0x4c8794
483262:	33 ff                	xor    %edi,%edi
483264:	a3 90 87 4c 00       	mov    %eax,0x4c8790
483269:	6a 00                	push   $0x0
48326b:	e8 88 25 00 00       	call   0x4857f8
483270:	56                   	push   %esi
483271:	e8 82 25 00 00       	call   0x4857f8
483276:	59                   	pop    %ecx
483277:	59                   	pop    %ecx
483278:	8b c7                	mov    %edi,%eax
48327a:	5f                   	pop    %edi
48327b:	5e                   	pop    %esi
48327c:	c3                   	ret
48327d:	8b ff                	mov    %edi,%edi
48327f:	55                   	push   %ebp
483280:	8b ec                	mov    %esp,%ebp
483282:	83 ec 0c             	sub    $0xc,%esp
483285:	53                   	push   %ebx
483286:	8b 5d 08             	mov    0x8(%ebp),%ebx
483289:	56                   	push   %esi
48328a:	57                   	push   %edi
48328b:	33 ff                	xor    %edi,%edi
48328d:	8b f3                	mov    %ebx,%esi
48328f:	0f b7 03             	movzwl (%ebx),%eax
483292:	8b d7                	mov    %edi,%edx
483294:	89 7d fc             	mov    %edi,-0x4(%ebp)
483297:	66 85 c0             	test   %ax,%ax
48329a:	74 35                	je     0x4832d1
48329c:	6a 3d                	push   $0x3d
48329e:	8b c8                	mov    %eax,%ecx
4832a0:	5b                   	pop    %ebx
4832a1:	66 3b cb             	cmp    %bx,%cx
4832a4:	74 01                	je     0x4832a7
4832a6:	42                   	inc    %edx
4832a7:	8b ce                	mov    %esi,%ecx
4832a9:	8d 79 02             	lea    0x2(%ecx),%edi
4832ac:	66 8b 01             	mov    (%ecx),%ax
4832af:	83 c1 02             	add    $0x2,%ecx
4832b2:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
4832b6:	75 f4                	jne    0x4832ac
4832b8:	2b cf                	sub    %edi,%ecx
4832ba:	d1 f9                	sar    $1,%ecx
4832bc:	8d 34 4e             	lea    (%esi,%ecx,2),%esi
4832bf:	83 c6 02             	add    $0x2,%esi
4832c2:	0f b7 06             	movzwl (%esi),%eax
4832c5:	8b c8                	mov    %eax,%ecx
4832c7:	66 85 c0             	test   %ax,%ax
4832ca:	75 d5                	jne    0x4832a1
4832cc:	8b 5d 08             	mov    0x8(%ebp),%ebx
4832cf:	33 ff                	xor    %edi,%edi
4832d1:	8d 42 01             	lea    0x1(%edx),%eax
4832d4:	6a 04                	push   $0x4
4832d6:	50                   	push   %eax
4832d7:	e8 61 50 00 00       	call   0x48833d
4832dc:	8b f0                	mov    %eax,%esi
4832de:	59                   	pop    %ecx
4832df:	59                   	pop    %ecx
4832e0:	85 f6                	test   %esi,%esi
4832e2:	75 0a                	jne    0x4832ee
4832e4:	57                   	push   %edi
4832e5:	e8 0e 25 00 00       	call   0x4857f8
4832ea:	33 c0                	xor    %eax,%eax
4832ec:	eb 7f                	jmp    0x48336d
4832ee:	0f b7 03             	movzwl (%ebx),%eax
4832f1:	89 75 f8             	mov    %esi,-0x8(%ebp)
4832f4:	66 85 c0             	test   %ax,%ax
4832f7:	74 6a                	je     0x483363
4832f9:	8b d0                	mov    %eax,%edx
4832fb:	8b cb                	mov    %ebx,%ecx
4832fd:	8d 79 02             	lea    0x2(%ecx),%edi
483300:	66 8b 01             	mov    (%ecx),%ax
483303:	83 c1 02             	add    $0x2,%ecx
483306:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
48330a:	75 f4                	jne    0x483300
48330c:	2b cf                	sub    %edi,%ecx
48330e:	d1 f9                	sar    $1,%ecx
483310:	6a 3d                	push   $0x3d
483312:	8d 41 01             	lea    0x1(%ecx),%eax
483315:	59                   	pop    %ecx
483316:	89 45 f4             	mov    %eax,-0xc(%ebp)
483319:	66 3b d1             	cmp    %cx,%dx
48331c:	74 38                	je     0x483356
48331e:	6a 02                	push   $0x2
483320:	50                   	push   %eax
483321:	e8 17 50 00 00       	call   0x48833d
483326:	8b f8                	mov    %eax,%edi
483328:	59                   	pop    %ecx
483329:	59                   	pop    %ecx
48332a:	85 ff                	test   %edi,%edi
48332c:	74 45                	je     0x483373
48332e:	53                   	push   %ebx
48332f:	ff 75 f4             	push   -0xc(%ebp)
483332:	57                   	push   %edi
483333:	e8 65 63 ff ff       	call   0x47969d
483338:	83 c4 0c             	add    $0xc,%esp
48333b:	85 c0                	test   %eax,%eax
48333d:	75 4f                	jne    0x48338e
48333f:	8b 45 f8             	mov    -0x8(%ebp),%eax
483342:	89 38                	mov    %edi,(%eax)
483344:	83 c0 04             	add    $0x4,%eax
483347:	89 45 f8             	mov    %eax,-0x8(%ebp)
48334a:	33 c0                	xor    %eax,%eax
48334c:	50                   	push   %eax
48334d:	e8 a6 24 00 00       	call   0x4857f8
483352:	8b 45 f4             	mov    -0xc(%ebp),%eax
483355:	59                   	pop    %ecx
483356:	8d 1c 43             	lea    (%ebx,%eax,2),%ebx
483359:	0f b7 03             	movzwl (%ebx),%eax
48335c:	8b d0                	mov    %eax,%edx
48335e:	66 85 c0             	test   %ax,%ax
483361:	75 98                	jne    0x4832fb
483363:	33 c0                	xor    %eax,%eax
483365:	50                   	push   %eax
483366:	e8 8d 24 00 00       	call   0x4857f8
48336b:	8b c6                	mov    %esi,%eax
48336d:	59                   	pop    %ecx
48336e:	5f                   	pop    %edi
48336f:	5e                   	pop    %esi
483370:	5b                   	pop    %ebx
483371:	c9                   	leave
483372:	c3                   	ret
483373:	56                   	push   %esi
483374:	e8 22 00 00 00       	call   0x48339b
483379:	33 db                	xor    %ebx,%ebx
48337b:	53                   	push   %ebx
48337c:	e8 77 24 00 00       	call   0x4857f8
483381:	53                   	push   %ebx
483382:	e8 71 24 00 00       	call   0x4857f8
483387:	83 c4 0c             	add    $0xc,%esp
48338a:	33 c0                	xor    %eax,%eax
48338c:	eb e0                	jmp    0x48336e
48338e:	33 c0                	xor    %eax,%eax
483390:	50                   	push   %eax
483391:	50                   	push   %eax
483392:	50                   	push   %eax
483393:	50                   	push   %eax
483394:	50                   	push   %eax
483395:	e8 b4 62 ff ff       	call   0x47964e
48339a:	cc                   	int3
48339b:	8b ff                	mov    %edi,%edi
48339d:	55                   	push   %ebp
48339e:	8b ec                	mov    %esp,%ebp
4833a0:	56                   	push   %esi
4833a1:	8b 75 08             	mov    0x8(%ebp),%esi
4833a4:	85 f6                	test   %esi,%esi
4833a6:	74 1f                	je     0x4833c7
4833a8:	8b 06                	mov    (%esi),%eax
4833aa:	57                   	push   %edi
4833ab:	8b fe                	mov    %esi,%edi
4833ad:	eb 0c                	jmp    0x4833bb
4833af:	50                   	push   %eax
4833b0:	e8 43 24 00 00       	call   0x4857f8
4833b5:	8d 7f 04             	lea    0x4(%edi),%edi
4833b8:	8b 07                	mov    (%edi),%eax
4833ba:	59                   	pop    %ecx
4833bb:	85 c0                	test   %eax,%eax
4833bd:	75 f0                	jne    0x4833af
4833bf:	56                   	push   %esi
4833c0:	e8 33 24 00 00       	call   0x4857f8
4833c5:	59                   	pop    %ecx
4833c6:	5f                   	pop    %edi
4833c7:	5e                   	pop    %esi
4833c8:	5d                   	pop    %ebp
4833c9:	c3                   	ret
4833ca:	8b ff                	mov    %edi,%edi
4833cc:	53                   	push   %ebx
4833cd:	56                   	push   %esi
4833ce:	57                   	push   %edi
4833cf:	8b 3d 8c 87 4c 00    	mov    0x4c878c,%edi
4833d5:	85 ff                	test   %edi,%edi
4833d7:	74 67                	je     0x483440
4833d9:	8b 07                	mov    (%edi),%eax
4833db:	85 c0                	test   %eax,%eax
4833dd:	74 56                	je     0x483435
4833df:	33 db                	xor    %ebx,%ebx
4833e1:	53                   	push   %ebx
4833e2:	53                   	push   %ebx
4833e3:	6a ff                	push   $0xffffffff
4833e5:	50                   	push   %eax
4833e6:	53                   	push   %ebx