434f96:	1b db                	sbb    %ebx,%ebx
434f98:	88 46 01             	mov    %al,0x1(%esi)
434f9b:	8b 4a 04             	mov    0x4(%edx),%ecx
434f9e:	83 e3 e0             	and    $0xffffffe0,%ebx
434fa1:	83 c3 27             	add    $0x27,%ebx
434fa4:	81 e1 00 00 f0 7f    	and    $0x7ff00000,%ecx
434faa:	33 c0                	xor    %eax,%eax
434fac:	0b c1                	or     %ecx,%eax
434fae:	89 5d f0             	mov    %ebx,-0x10(%ebp)
434fb1:	75 27                	jne    0x434fda
434fb3:	6a 30                	push   $0x30
434fb5:	58                   	pop    %eax
434fb6:	88 46 02             	mov    %al,0x2(%esi)
434fb9:	8b 42 04             	mov    0x4(%edx),%eax
434fbc:	8b 0a                	mov    (%edx),%ecx
434fbe:	25 ff ff 0f 00       	and    $0xfffff,%eax
434fc3:	83 c6 03             	add    $0x3,%esi
434fc6:	0b c8                	or     %eax,%ecx
434fc8:	75 07                	jne    0x434fd1
434fca:	33 c0                	xor    %eax,%eax
434fcc:	89 45 f8             	mov    %eax,-0x8(%ebp)
434fcf:	eb 10                	jmp    0x434fe1
434fd1:	c7 45 f8 fe 03 00 00 	movl   $0x3fe,-0x8(%ebp)
434fd8:	eb 07                	jmp    0x434fe1
434fda:	c6 46 02 31          	movb   $0x31,0x2(%esi)
434fde:	83 c6 03             	add    $0x3,%esi
434fe1:	8b ce                	mov    %esi,%ecx
434fe3:	46                   	inc    %esi
434fe4:	89 4d f4             	mov    %ecx,-0xc(%ebp)
434fe7:	85 ff                	test   %edi,%edi
434fe9:	75 05                	jne    0x434ff0
434feb:	c6 01 00             	movb   $0x0,(%ecx)
434fee:	eb 0f                	jmp    0x434fff
434ff0:	8b 45 d4             	mov    -0x2c(%ebp),%eax
434ff3:	8b 80 84 00 00 00    	mov    0x84(%eax),%eax
434ff9:	8b 00                	mov    (%eax),%eax
434ffb:	8a 00                	mov    (%eax),%al
434ffd:	88 01                	mov    %al,(%ecx)
434fff:	8b 42 04             	mov    0x4(%edx),%eax
435002:	25 ff ff 0f 00       	and    $0xfffff,%eax
435007:	89 45 e8             	mov    %eax,-0x18(%ebp)
43500a:	77 09                	ja     0x435015
43500c:	83 3a 00             	cmpl   $0x0,(%edx)
43500f:	0f 86 c2 00 00 00    	jbe    0x4350d7
435015:	83 65 14 00          	andl   $0x0,0x14(%ebp)
435019:	8b 45 fc             	mov    -0x4(%ebp),%eax
43501c:	b9 00 00 0f 00       	mov    $0xf0000,%ecx
435021:	89 4d 0c             	mov    %ecx,0xc(%ebp)
435024:	85 ff                	test   %edi,%edi
435026:	7e 53                	jle    0x43507b
435028:	8b 02                	mov    (%edx),%eax
43502a:	8b 52 04             	mov    0x4(%edx),%edx
43502d:	23 45 14             	and    0x14(%ebp),%eax
435030:	23 d1                	and    %ecx,%edx
435032:	8b 4d fc             	mov    -0x4(%ebp),%ecx
435035:	0f bf c9             	movswl %cx,%ecx
435038:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
43503e:	e8 7d a5 ff ff       	call   0x42f5c0
435043:	6a 30                	push   $0x30
435045:	59                   	pop    %ecx
435046:	66 03 c1             	add    %cx,%ax
435049:	0f b7 c0             	movzwl %ax,%eax
43504c:	83 f8 39             	cmp    $0x39,%eax
43504f:	76 02                	jbe    0x435053
435051:	03 c3                	add    %ebx,%eax
435053:	8b 4d 0c             	mov    0xc(%ebp),%ecx
435056:	8b 55 08             	mov    0x8(%ebp),%edx
435059:	88 06                	mov    %al,(%esi)
43505b:	8b 45 14             	mov    0x14(%ebp),%eax
43505e:	0f ac c8 04          	shrd   $0x4,%ecx,%eax
435062:	89 45 14             	mov    %eax,0x14(%ebp)
435065:	8b 45 fc             	mov    -0x4(%ebp),%eax
435068:	c1 e9 04             	shr    $0x4,%ecx
43506b:	83 e8 04             	sub    $0x4,%eax
43506e:	46                   	inc    %esi
43506f:	4f                   	dec    %edi
435070:	89 4d 0c             	mov    %ecx,0xc(%ebp)
435073:	89 45 fc             	mov    %eax,-0x4(%ebp)
435076:	66 85 c0             	test   %ax,%ax
435079:	79 a9                	jns    0x435024
43507b:	66 85 c0             	test   %ax,%ax
43507e:	78 57                	js     0x4350d7
435080:	8b 02                	mov    (%edx),%eax
435082:	8b 52 04             	mov    0x4(%edx),%edx
435085:	23 45 14             	and    0x14(%ebp),%eax
435088:	23 d1                	and    %ecx,%edx
43508a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43508d:	0f bf c9             	movswl %cx,%ecx
435090:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
435096:	e8 25 a5 ff ff       	call   0x42f5c0
43509b:	66 83 f8 08          	cmp    $0x8,%ax
43509f:	76 36                	jbe    0x4350d7
4350a1:	6a 30                	push   $0x30
4350a3:	8d 46 ff             	lea    -0x1(%esi),%eax
4350a6:	5b                   	pop    %ebx
4350a7:	8a 08                	mov    (%eax),%cl
4350a9:	80 f9 66             	cmp    $0x66,%cl
4350ac:	74 05                	je     0x4350b3
4350ae:	80 f9 46             	cmp    $0x46,%cl
4350b1:	75 05                	jne    0x4350b8
4350b3:	88 18                	mov    %bl,(%eax)
4350b5:	48                   	dec    %eax
4350b6:	eb ef                	jmp    0x4350a7
4350b8:	8b 5d f0             	mov    -0x10(%ebp),%ebx
4350bb:	3b 45 f4             	cmp    -0xc(%ebp),%eax
4350be:	74 14                	je     0x4350d4
4350c0:	8a 08                	mov    (%eax),%cl
4350c2:	80 f9 39             	cmp    $0x39,%cl
4350c5:	75 07                	jne    0x4350ce
4350c7:	80 c3 3a             	add    $0x3a,%bl
4350ca:	88 18                	mov    %bl,(%eax)
4350cc:	eb 09                	jmp    0x4350d7
4350ce:	fe c1                	inc    %cl
4350d0:	88 08                	mov    %cl,(%eax)
4350d2:	eb 03                	jmp    0x4350d7
4350d4:	fe 40 ff             	incb   -0x1(%eax)
4350d7:	85 ff                	test   %edi,%edi
4350d9:	7e 10                	jle    0x4350eb
4350db:	57                   	push   %edi
4350dc:	6a 30                	push   $0x30
4350de:	58                   	pop    %eax
4350df:	50                   	push   %eax
4350e0:	56                   	push   %esi
4350e1:	e8 6a bc fe ff       	call   0x420d50
4350e6:	83 c4 0c             	add    $0xc,%esp
4350e9:	03 f7                	add    %edi,%esi
4350eb:	8b 45 f4             	mov    -0xc(%ebp),%eax
4350ee:	80 38 00             	cmpb   $0x0,(%eax)
4350f1:	75 02                	jne    0x4350f5
4350f3:	8b f0                	mov    %eax,%esi
4350f5:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
4350f9:	8b 55 08             	mov    0x8(%ebp),%edx
4350fc:	0f 94 c0             	sete   %al
4350ff:	fe c8                	dec    %al
435101:	24 e0                	and    $0xe0,%al
435103:	04 70                	add    $0x70,%al
435105:	88 06                	mov    %al,(%esi)
435107:	8b 02                	mov    (%edx),%eax
435109:	8b 52 04             	mov    0x4(%edx),%edx
43510c:	b1 34                	mov    $0x34,%cl
43510e:	e8 ad a4 ff ff       	call   0x42f5c0
435113:	8b c8                	mov    %eax,%ecx
435115:	33 c0                	xor    %eax,%eax
435117:	8b da                	mov    %edx,%ebx
435119:	81 e1 ff 07 00 00    	and    $0x7ff,%ecx
43511f:	23 d8                	and    %eax,%ebx
435121:	2b 4d f8             	sub    -0x8(%ebp),%ecx
435124:	1b d8                	sbb    %eax,%ebx
435126:	78 0f                	js     0x435137
435128:	7f 04                	jg     0x43512e
43512a:	3b c8                	cmp    %eax,%ecx
43512c:	72 09                	jb     0x435137
43512e:	c6 46 01 2b          	movb   $0x2b,0x1(%esi)
435132:	83 c6 02             	add    $0x2,%esi
435135:	eb 0d                	jmp    0x435144
435137:	c6 46 01 2d          	movb   $0x2d,0x1(%esi)
43513b:	83 c6 02             	add    $0x2,%esi
43513e:	f7 d9                	neg    %ecx
435140:	13 d8                	adc    %eax,%ebx
435142:	f7 db                	neg    %ebx
435144:	8b fe                	mov    %esi,%edi
435146:	c6 06 30             	movb   $0x30,(%esi)
435149:	3b d8                	cmp    %eax,%ebx
43514b:	7c 41                	jl     0x43518e
43514d:	ba e8 03 00 00       	mov    $0x3e8,%edx
435152:	7f 04                	jg     0x435158
435154:	3b ca                	cmp    %edx,%ecx
435156:	72 17                	jb     0x43516f
435158:	50                   	push   %eax
435159:	52                   	push   %edx
43515a:	53                   	push   %ebx
43515b:	51                   	push   %ecx
43515c:	e8 1f 1a 00 00       	call   0x436b80
435161:	04 30                	add    $0x30,%al
435163:	88 06                	mov    %al,(%esi)
435165:	46                   	inc    %esi
435166:	33 c0                	xor    %eax,%eax
435168:	89 55 e8             	mov    %edx,-0x18(%ebp)
43516b:	3b f7                	cmp    %edi,%esi
43516d:	75 0b                	jne    0x43517a
43516f:	3b d8                	cmp    %eax,%ebx
435171:	7c 1b                	jl     0x43518e
435173:	7f 05                	jg     0x43517a
435175:	83 f9 64             	cmp    $0x64,%ecx
435178:	72 14                	jb     0x43518e
43517a:	50                   	push   %eax
43517b:	6a 64                	push   $0x64
43517d:	53                   	push   %ebx
43517e:	51                   	push   %ecx
43517f:	e8 fc 19 00 00       	call   0x436b80
435184:	04 30                	add    $0x30,%al
435186:	88 06                	mov    %al,(%esi)
435188:	46                   	inc    %esi
435189:	89 55 e8             	mov    %edx,-0x18(%ebp)
43518c:	33 c0                	xor    %eax,%eax
43518e:	3b f7                	cmp    %edi,%esi
435190:	75 0b                	jne    0x43519d
435192:	3b d8                	cmp    %eax,%ebx
435194:	7c 1e                	jl     0x4351b4
435196:	7f 05                	jg     0x43519d
435198:	83 f9 0a             	cmp    $0xa,%ecx
43519b:	72 17                	jb     0x4351b4
43519d:	50                   	push   %eax
43519e:	6a 0a                	push   $0xa
4351a0:	53                   	push   %ebx
4351a1:	51                   	push   %ecx
4351a2:	e8 d9 19 00 00       	call   0x436b80
4351a7:	04 30                	add    $0x30,%al
4351a9:	88 06                	mov    %al,(%esi)
4351ab:	89 55 e8             	mov    %edx,-0x18(%ebp)
4351ae:	46                   	inc    %esi
4351af:	89 5d e8             	mov    %ebx,-0x18(%ebp)
4351b2:	33 c0                	xor    %eax,%eax
4351b4:	80 c1 30             	add    $0x30,%cl
4351b7:	88 0e                	mov    %cl,(%esi)
4351b9:	88 46 01             	mov    %al,0x1(%esi)
4351bc:	8b f8                	mov    %eax,%edi
4351be:	80 7d e0 00          	cmpb   $0x0,-0x20(%ebp)
4351c2:	74 07                	je     0x4351cb
4351c4:	8b 4d dc             	mov    -0x24(%ebp),%ecx
4351c7:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
4351cb:	8b c7                	mov    %edi,%eax
4351cd:	5f                   	pop    %edi
4351ce:	5e                   	pop    %esi
4351cf:	5b                   	pop    %ebx
4351d0:	c9                   	leave
4351d1:	c3                   	ret
4351d2:	55                   	push   %ebp
4351d3:	8b ec                	mov    %esp,%ebp
4351d5:	6a 00                	push   $0x0
4351d7:	ff 75 18             	push   0x18(%ebp)
4351da:	ff 75 14             	push   0x14(%ebp)
4351dd:	ff 75 10             	push   0x10(%ebp)
4351e0:	ff 75 0c             	push   0xc(%ebp)
4351e3:	ff 75 08             	push   0x8(%ebp)
4351e6:	e8 54 01 00 00       	call   0x43533f
4351eb:	83 c4 18             	add    $0x18,%esp
4351ee:	5d                   	pop    %ebp
4351ef:	c3                   	ret
4351f0:	55                   	push   %ebp
4351f1:	8b ec                	mov    %esp,%ebp
4351f3:	83 ec 10             	sub    $0x10,%esp
4351f6:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4351f9:	53                   	push   %ebx
4351fa:	57                   	push   %edi
4351fb:	ff 75 20             	push   0x20(%ebp)
4351fe:	e8 1c bd fe ff       	call   0x420f1f
435203:	8b 5d 08             	mov    0x8(%ebp),%ebx
435206:	85 db                	test   %ebx,%ebx
435208:	74 06                	je     0x435210
43520a:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
43520e:	77 09                	ja     0x435219
435210:	e8 f9 29 ff ff       	call   0x427c0e
435215:	6a 16                	push   $0x16
435217:	eb 1c                	jmp    0x435235
435219:	8b 55 10             	mov    0x10(%ebp),%edx
43521c:	33 ff                	xor    %edi,%edi
43521e:	8b c2                	mov    %edx,%eax
435220:	85 d2                	test   %edx,%edx
435222:	7f 02                	jg     0x435226
435224:	8b c7                	mov    %edi,%eax
435226:	83 c0 09             	add    $0x9,%eax
435229:	39 45 0c             	cmp    %eax,0xc(%ebp)
43522c:	77 14                	ja     0x435242
43522e:	e8 db 29 ff ff       	call   0x427c0e
435233:	6a 22                	push   $0x22
435235:	5f                   	pop    %edi
435236:	89 38                	mov    %edi,(%eax)
435238:	e8 d3 1b ff ff       	call   0x426e10
43523d:	e9 df 00 00 00       	jmp    0x435321
435242:	80 7d 1c 00          	cmpb   $0x0,0x1c(%ebp)
435246:	74 20                	je     0x435268
435248:	8b 4d 18             	mov    0x18(%ebp),%ecx
43524b:	33 c0                	xor    %eax,%eax
43524d:	85 d2                	test   %edx,%edx
43524f:	0f 9f c0             	setg   %al
435252:	50                   	push   %eax
435253:	33 c0                	xor    %eax,%eax
435255:	83 39 2d             	cmpl   $0x2d,(%ecx)
435258:	0f 94 c0             	sete   %al
43525b:	03 c3                	add    %ebx,%eax
43525d:	50                   	push   %eax
43525e:	e8 d2 05 00 00       	call   0x435835
435263:	8b 55 10             	mov    0x10(%ebp),%edx
435266:	59                   	pop    %ecx
435267:	59                   	pop    %ecx
435268:	8b 45 18             	mov    0x18(%ebp),%eax
43526b:	56                   	push   %esi
43526c:	83 38 2d             	cmpl   $0x2d,(%eax)
43526f:	8b f3                	mov    %ebx,%esi
435271:	75 06                	jne    0x435279
435273:	c6 03 2d             	movb   $0x2d,(%ebx)
435276:	8d 73 01             	lea    0x1(%ebx),%esi
435279:	85 d2                	test   %edx,%edx
43527b:	7e 15                	jle    0x435292
43527d:	8a 46 01             	mov    0x1(%esi),%al
435280:	88 06                	mov    %al,(%esi)
435282:	8b 45 f0             	mov    -0x10(%ebp),%eax
435285:	46                   	inc    %esi
435286:	8b 80 84 00 00 00    	mov    0x84(%eax),%eax
43528c:	8b 00                	mov    (%eax),%eax
43528e:	8a 00                	mov    (%eax),%al
435290:	88 06                	mov    %al,(%esi)
435292:	33 c0                	xor    %eax,%eax
435294:	38 45 1c             	cmp    %al,0x1c(%ebp)
435297:	0f 94 c0             	sete   %al
43529a:	03 c2                	add    %edx,%eax
43529c:	03 f0                	add    %eax,%esi
43529e:	83 c8 ff             	or     $0xffffffff,%eax
4352a1:	39 45 0c             	cmp    %eax,0xc(%ebp)
4352a4:	74 07                	je     0x4352ad
4352a6:	8b c3                	mov    %ebx,%eax
4352a8:	2b c6                	sub    %esi,%eax
4352aa:	03 45 0c             	add    0xc(%ebp),%eax
4352ad:	68 c4 ba 49 00       	push   $0x49bac4
4352b2:	50                   	push   %eax
4352b3:	56                   	push   %esi
4352b4:	e8 59 d2 ff ff       	call   0x432512
4352b9:	83 c4 0c             	add    $0xc,%esp
4352bc:	85 c0                	test   %eax,%eax
4352be:	75 74                	jne    0x435334
4352c0:	8d 4e 02             	lea    0x2(%esi),%ecx
4352c3:	39 7d 14             	cmp    %edi,0x14(%ebp)
4352c6:	74 03                	je     0x4352cb
4352c8:	c6 06 45             	movb   $0x45,(%esi)
4352cb:	8b 55 18             	mov    0x18(%ebp),%edx
4352ce:	8b 42 0c             	mov    0xc(%edx),%eax
4352d1:	80 38 30             	cmpb   $0x30,(%eax)
4352d4:	74 2d                	je     0x435303
4352d6:	8b 52 04             	mov    0x4(%edx),%edx
4352d9:	4a                   	dec    %edx
4352da:	79 06                	jns    0x4352e2
4352dc:	f7 da                	neg    %edx
4352de:	c6 46 01 2d          	movb   $0x2d,0x1(%esi)
4352e2:	6a 64                	push   $0x64
4352e4:	5b                   	pop    %ebx
4352e5:	3b d3                	cmp    %ebx,%edx
4352e7:	7c 08                	jl     0x4352f1
4352e9:	8b c2                	mov    %edx,%eax
4352eb:	99                   	cltd
4352ec:	f7 fb                	idiv   %ebx
4352ee:	00 46 02             	add    %al,0x2(%esi)
4352f1:	6a 0a                	push   $0xa
4352f3:	5b                   	pop    %ebx
4352f4:	3b d3                	cmp    %ebx,%edx
4352f6:	7c 08                	jl     0x435300
4352f8:	8b c2                	mov    %edx,%eax
4352fa:	99                   	cltd
4352fb:	f7 fb                	idiv   %ebx
4352fd:	00 46 03             	add    %al,0x3(%esi)