54dca5:	8b 55 dc             	mov    -0x24(%ebp),%edx
54dca8:	0f b6 3a             	movzbl (%edx),%edi
54dcab:	ff 45 dc             	incl   -0x24(%ebp)
54dcae:	8b 55 d0             	mov    -0x30(%ebp),%edx
54dcb1:	8b 45 d4             	mov    -0x2c(%ebp),%eax
54dcb4:	2b c7                	sub    %edi,%eax
54dcb6:	2b d7                	sub    %edi,%edx
54dcb8:	85 d2                	test   %edx,%edx
54dcba:	7d 06                	jge    0x54dcc2
54dcbc:	8b da                	mov    %edx,%ebx
54dcbe:	f7 db                	neg    %ebx
54dcc0:	eb 02                	jmp    0x54dcc4
54dcc2:	8b da                	mov    %edx,%ebx
54dcc4:	89 5d cc             	mov    %ebx,-0x34(%ebp)
54dcc7:	85 c0                	test   %eax,%eax
54dcc9:	7d 06                	jge    0x54dcd1
54dccb:	8b d8                	mov    %eax,%ebx
54dccd:	f7 db                	neg    %ebx
54dccf:	eb 02                	jmp    0x54dcd3
54dcd1:	8b d8                	mov    %eax,%ebx
54dcd3:	89 5d c8             	mov    %ebx,-0x38(%ebp)
54dcd6:	8d 1c 10             	lea    (%eax,%edx,1),%ebx
54dcd9:	85 db                	test   %ebx,%ebx
54dcdb:	7d 07                	jge    0x54dce4
54dcdd:	8d 1c 10             	lea    (%eax,%edx,1),%ebx
54dce0:	f7 db                	neg    %ebx
54dce2:	eb 03                	jmp    0x54dce7
54dce4:	8d 1c 10             	lea    (%eax,%edx,1),%ebx
54dce7:	8b c3                	mov    %ebx,%eax
54dce9:	8b 55 cc             	mov    -0x34(%ebp),%edx
54dcec:	8b 5d c8             	mov    -0x38(%ebp),%ebx
54dcef:	3b d3                	cmp    %ebx,%edx
54dcf1:	7f 0c                	jg     0x54dcff
54dcf3:	8b 55 cc             	mov    -0x34(%ebp),%edx
54dcf6:	3b c2                	cmp    %edx,%eax
54dcf8:	7c 05                	jl     0x54dcff
54dcfa:	8b 55 d4             	mov    -0x2c(%ebp),%edx
54dcfd:	eb 0e                	jmp    0x54dd0d
54dcff:	8b 55 c8             	mov    -0x38(%ebp),%edx
54dd02:	3b c2                	cmp    %edx,%eax
54dd04:	7c 05                	jl     0x54dd0b
54dd06:	8b 55 d0             	mov    -0x30(%ebp),%edx
54dd09:	eb 02                	jmp    0x54dd0d
54dd0b:	8b d7                	mov    %edi,%edx
54dd0d:	8a 01                	mov    (%ecx),%al
54dd0f:	02 d0                	add    %al,%dl
54dd11:	80 e2 ff             	and    $0xff,%dl
54dd14:	88 11                	mov    %dl,(%ecx)
54dd16:	41                   	inc    %ecx
54dd17:	46                   	inc    %esi
54dd18:	8b 45 d8             	mov    -0x28(%ebp),%eax
54dd1b:	3b f0                	cmp    %eax,%esi
54dd1d:	0f 82 68 ff ff ff    	jb     0x54dc8b
54dd23:	eb 10                	jmp    0x54dd35
54dd25:	ba 1e bc 69 00       	mov    $0x69bc1e,%edx
54dd2a:	8b 45 fc             	mov    -0x4(%ebp),%eax
54dd2d:	e8 2a d2 ff ff       	call   0x54af5c
54dd32:	c6 06 00             	movb   $0x0,(%esi)
54dd35:	5f                   	pop    %edi
54dd36:	5e                   	pop    %esi
54dd37:	5b                   	pop    %ebx
54dd38:	8b e5                	mov    %ebp,%esp
54dd3a:	5d                   	pop    %ebp
54dd3b:	c2 08 00             	ret    $0x8
54dd3e:	90                   	nop
54dd3f:	90                   	nop
54dd40:	53                   	push   %ebx
54dd41:	8b d8                	mov    %eax,%ebx
54dd43:	56                   	push   %esi
54dd44:	57                   	push   %edi
54dd45:	ff 83 a4 00 00 00    	incl   0xa4(%ebx)
54dd4b:	83 c4 f8             	add    $0xfffffff8,%esp
54dd4e:	8b 83 a4 00 00 00    	mov    0xa4(%ebx),%eax
54dd54:	8b 93 90 00 00 00    	mov    0x90(%ebx),%edx
54dd5a:	3b c2                	cmp    %edx,%eax
54dd5c:	0f 82 61 02 00 00    	jb     0x54dfc3
54dd62:	8a 8b e3 00 00 00    	mov    0xe3(%ebx),%cl
54dd68:	84 c9                	test   %cl,%cl
54dd6a:	0f 84 e8 00 00 00    	je     0x54de58
54dd70:	33 c0                	xor    %eax,%eax
54dd72:	89 83 a4 00 00 00    	mov    %eax,0xa4(%ebx)
54dd78:	8b c3                	mov    %ebx,%eax
54dd7a:	8b 93 98 00 00 00    	mov    0x98(%ebx),%edx
54dd80:	42                   	inc    %edx
54dd81:	33 c9                	xor    %ecx,%ecx
54dd83:	52                   	push   %edx
54dd84:	8b 93 a8 00 00 00    	mov    0xa8(%ebx),%edx
54dd8a:	e8 d5 d0 ff ff       	call   0x54ae64
54dd8f:	fe 83 e4 00 00 00    	incb   0xe4(%ebx)
54dd95:	8a 8b e4 00 00 00    	mov    0xe4(%ebx),%cl
54dd9b:	80 f9 07             	cmp    $0x7,%cl
54dd9e:	0f 83 a5 00 00 00    	jae    0x54de49
54dda4:	8b f1                	mov    %ecx,%esi
54dda6:	8b 93 88 00 00 00    	mov    0x88(%ebx),%edx
54ddac:	81 e6 ff 00 00 00    	and    $0xff,%esi
54ddb2:	8b 04 b5 f8 bd 69 00 	mov    0x69bdf8(,%esi,4),%eax
54ddb9:	8b 0c b5 dc bd 69 00 	mov    0x69bddc(,%esi,4),%ecx
54ddc0:	03 c2                	add    %edx,%eax
54ddc2:	33 d2                	xor    %edx,%edx
54ddc4:	8a 93 e4 00 00 00    	mov    0xe4(%ebx),%dl
54ddca:	48                   	dec    %eax
54ddcb:	2b c1                	sub    %ecx,%eax
54ddcd:	8b 0c 95 f8 bd 69 00 	mov    0x69bdf8(,%edx,4),%ecx
54ddd4:	33 d2                	xor    %edx,%edx
54ddd6:	f7 f1                	div    %ecx
54ddd8:	8b f8                	mov    %eax,%edi
54ddda:	33 c0                	xor    %eax,%eax
54dddc:	89 bb a0 00 00 00    	mov    %edi,0xa0(%ebx)
54dde2:	8a 83 e9 00 00 00    	mov    0xe9(%ebx),%al
54dde8:	f7 ef                	imul   %edi
54ddea:	83 c0 07             	add    $0x7,%eax
54dded:	c1 e8 03             	shr    $0x3,%eax
54ddf0:	40                   	inc    %eax
54ddf1:	89 83 9c 00 00 00    	mov    %eax,0x9c(%ebx)
54ddf7:	f6 43 30 02          	testb  $0x2,0x30(%ebx)
54ddfb:	75 4c                	jne    0x54de49
54ddfd:	33 c9                	xor    %ecx,%ecx
54ddff:	8b 93 8c 00 00 00    	mov    0x8c(%ebx),%edx
54de05:	8a 8b e4 00 00 00    	mov    0xe4(%ebx),%cl
54de0b:	8b 04 8d 30 be 69 00 	mov    0x69be30(,%ecx,4),%eax
54de12:	8b 0c 8d 14 be 69 00 	mov    0x69be14(,%ecx,4),%ecx
54de19:	03 c2                	add    %edx,%eax
54de1b:	33 d2                	xor    %edx,%edx
54de1d:	8a 93 e4 00 00 00    	mov    0xe4(%ebx),%dl
54de23:	48                   	dec    %eax
54de24:	2b c1                	sub    %ecx,%eax
54de26:	8b 0c 95 30 be 69 00 	mov    0x69be30(,%edx,4),%ecx
54de2d:	33 d2                	xor    %edx,%edx
54de2f:	f7 f1                	div    %ecx
54de31:	8b f0                	mov    %eax,%esi
54de33:	89 b3 90 00 00 00    	mov    %esi,0x90(%ebx)
54de39:	85 f6                	test   %esi,%esi
54de3b:	8b 83 a0 00 00 00    	mov    0xa0(%ebx),%eax
54de41:	85 c0                	test   %eax,%eax
54de43:	0f 84 46 ff ff ff    	je     0x54dd8f
54de49:	8a 93 e4 00 00 00    	mov    0xe4(%ebx),%dl
54de4f:	80 fa 07             	cmp    $0x7,%dl
54de52:	0f 82 6b 01 00 00    	jb     0x54dfc3
54de58:	f6 43 2c 20          	testb  $0x20,0x2c(%ebx)
54de5c:	0f 85 38 01 00 00    	jne    0x54df9a
54de62:	8b cc                	mov    %esp,%ecx
54de64:	89 4b 40             	mov    %ecx,0x40(%ebx)
54de67:	c7 43 44 01 00 00 00 	movl   $0x1,0x44(%ebx)
54de6e:	8b 43 38             	mov    0x38(%ebx),%eax
54de71:	85 c0                	test   %eax,%eax
54de73:	0f 85 a1 00 00 00    	jne    0x54df1a
54de79:	eb 63                	jmp    0x54dede
54de7b:	33 d2                	xor    %edx,%edx
54de7d:	8b c3                	mov    %ebx,%eax
54de7f:	e8 c0 d2 ff ff       	call   0x54b144
54de84:	8d 54 24 04          	lea    0x4(%esp),%edx
54de88:	b9 04 00 00 00       	mov    $0x4,%ecx
54de8d:	8b c3                	mov    %ebx,%eax
54de8f:	e8 c4 cd ff ff       	call   0x54ac58
54de94:	8d 44 24 04          	lea    0x4(%esp),%eax
54de98:	e8 27 d2 ff ff       	call   0x54b0c4
54de9d:	89 83 cc 00 00 00    	mov    %eax,0xcc(%ebx)
54dea3:	8b c3                	mov    %ebx,%eax
54dea5:	e8 22 0e 00 00       	call   0x54eccc
54deaa:	8d b3 dc 00 00 00    	lea    0xdc(%ebx),%esi
54deb0:	8b d6                	mov    %esi,%edx
54deb2:	b9 04 00 00 00       	mov    $0x4,%ecx
54deb7:	8b c3                	mov    %ebx,%eax
54deb9:	e8 62 d2 ff ff       	call   0x54b120
54debe:	6a 04                	push   $0x4
54dec0:	68 77 bd 69 00       	push   $0x69bd77
54dec5:	56                   	push   %esi
54dec6:	e8 71 84 fd ff       	call   0x52633c
54decb:	83 c4 0c             	add    $0xc,%esp
54dece:	85 c0                	test   %eax,%eax
54ded0:	74 0c                	je     0x54dede
54ded2:	ba 40 bc 69 00       	mov    $0x69bc40,%edx
54ded7:	8b c3                	mov    %ebx,%eax
54ded9:	e8 e2 cf ff ff       	call   0x54aec0
54dede:	8b 8b cc 00 00 00    	mov    0xcc(%ebx),%ecx
54dee4:	85 c9                	test   %ecx,%ecx
54dee6:	74 93                	je     0x54de7b
54dee8:	8b 43 70             	mov    0x70(%ebx),%eax
54deeb:	89 43 38             	mov    %eax,0x38(%ebx)
54deee:	8b 53 6c             	mov    0x6c(%ebx),%edx
54def1:	89 53 34             	mov    %edx,0x34(%ebx)
54def4:	8b 83 cc 00 00 00    	mov    0xcc(%ebx),%eax
54defa:	8b 53 70             	mov    0x70(%ebx),%edx
54defd:	3b c2                	cmp    %edx,%eax
54deff:	73 03                	jae    0x54df04
54df01:	89 43 38             	mov    %eax,0x38(%ebx)
54df04:	8b 4b 38             	mov    0x38(%ebx),%ecx
54df07:	8b 53 6c             	mov    0x6c(%ebx),%edx
54df0a:	8b c3                	mov    %ebx,%eax
54df0c:	e8 0f d2 ff ff       	call   0x54b120
54df11:	8b 4b 38             	mov    0x38(%ebx),%ecx
54df14:	29 8b cc 00 00 00    	sub    %ecx,0xcc(%ebx)
54df1a:	8d 43 34             	lea    0x34(%ebx),%eax
54df1d:	ba 01 00 00 00       	mov    $0x1,%edx
54df22:	e8 fd 9f fd ff       	call   0x527f24
54df27:	83 f8 01             	cmp    $0x1,%eax
54df2a:	75 2e                	jne    0x54df5a
54df2c:	8b 4b 44             	mov    0x44(%ebx),%ecx
54df2f:	85 c9                	test   %ecx,%ecx
54df31:	74 11                	je     0x54df44
54df33:	8b 43 38             	mov    0x38(%ebx),%eax
54df36:	85 c0                	test   %eax,%eax
54df38:	75 0a                	jne    0x54df44
54df3a:	8b 93 cc 00 00 00    	mov    0xcc(%ebx),%edx
54df40:	85 d2                	test   %edx,%edx
54df42:	74 0c                	je     0x54df50
54df44:	ba 56 bc 69 00       	mov    $0x69bc56,%edx
54df49:	8b c3                	mov    %ebx,%eax
54df4b:	e8 0c d0 ff ff       	call   0x54af5c
54df50:	83 4b 28 08          	orl    $0x8,0x28(%ebx)
54df54:	83 4b 2c 20          	orl    $0x20,0x2c(%ebx)
54df58:	eb 3b                	jmp    0x54df95
54df5a:	85 c0                	test   %eax,%eax
54df5c:	74 18                	je     0x54df76
54df5e:	8b 4b 4c             	mov    0x4c(%ebx),%ecx
54df61:	85 c9                	test   %ecx,%ecx
54df63:	74 05                	je     0x54df6a
54df65:	8b 53 4c             	mov    0x4c(%ebx),%edx
54df68:	eb 05                	jmp    0x54df6f
54df6a:	ba 6c bc 69 00       	mov    $0x69bc6c,%edx
54df6f:	8b c3                	mov    %ebx,%eax
54df71:	e8 4a cf ff ff       	call   0x54aec0
54df76:	8b 4b 44             	mov    0x44(%ebx),%ecx
54df79:	85 c9                	test   %ecx,%ecx
54df7b:	0f 85 ed fe ff ff    	jne    0x54de6e
54df81:	ba 80 bc 69 00       	mov    $0x69bc80,%edx
54df86:	8b c3                	mov    %ebx,%eax
54df88:	e8 cf cf ff ff       	call   0x54af5c
54df8d:	83 4b 28 08          	orl    $0x8,0x28(%ebx)
54df91:	83 4b 2c 20          	orl    $0x20,0x2c(%ebx)
54df95:	33 c9                	xor    %ecx,%ecx
54df97:	89 4b 44             	mov    %ecx,0x44(%ebx)
54df9a:	8b 83 cc 00 00 00    	mov    0xcc(%ebx),%eax
54dfa0:	85 c0                	test   %eax,%eax
54dfa2:	75 07                	jne    0x54dfab
54dfa4:	8b 53 38             	mov    0x38(%ebx),%edx
54dfa7:	85 d2                	test   %edx,%edx
54dfa9:	74 0c                	je     0x54dfb7
54dfab:	ba 97 bc 69 00       	mov    $0x69bc97,%edx
54dfb0:	8b c3                	mov    %ebx,%eax
54dfb2:	e8 a5 cf ff ff       	call   0x54af5c
54dfb7:	8d 43 34             	lea    0x34(%ebx),%eax
54dfba:	e8 c5 9d fd ff       	call   0x527d84
54dfbf:	83 4b 28 08          	orl    $0x8,0x28(%ebx)
54dfc3:	59                   	pop    %ecx
54dfc4:	5a                   	pop    %edx
54dfc5:	5f                   	pop    %edi
54dfc6:	5e                   	pop    %esi
54dfc7:	5b                   	pop    %ebx
54dfc8:	c3                   	ret
54dfc9:	90                   	nop
54dfca:	90                   	nop
54dfcb:	90                   	nop
54dfcc:	53                   	push   %ebx
54dfcd:	56                   	push   %esi
54dfce:	57                   	push   %edi
54dfcf:	8b d8                	mov    %eax,%ebx
54dfd1:	33 c0                	xor    %eax,%eax
54dfd3:	89 43 38             	mov    %eax,0x38(%ebx)
54dfd6:	8b c3                	mov    %ebx,%eax
54dfd8:	e8 3f 7e ff ff       	call   0x545e1c
54dfdd:	8a 93 e3 00 00 00    	mov    0xe3(%ebx),%dl
54dfe3:	84 d2                	test   %dl,%dl
54dfe5:	0f 84 9c 00 00 00    	je     0x54e087
54dfeb:	f6 43 30 02          	testb  $0x2,0x30(%ebx)
54dfef:	75 23                	jne    0x54e014
54dff1:	8b 83 8c 00 00 00    	mov    0x8c(%ebx),%eax
54dff7:	8b 0d 30 be 69 00    	mov    0x69be30,%ecx
54dffd:	03 c1                	add    %ecx,%eax
54dfff:	48                   	dec    %eax
54e000:	8b 15 14 be 69 00    	mov    0x69be14,%edx
54e006:	2b c2                	sub    %edx,%eax
54e008:	33 d2                	xor    %edx,%edx
54e00a:	f7 f1                	div    %ecx
54e00c:	89 83 90 00 00 00    	mov    %eax,0x90(%ebx)
54e012:	eb 0c                	jmp    0x54e020
54e014:	8b 83 8c 00 00 00    	mov    0x8c(%ebx),%eax
54e01a:	89 83 90 00 00 00    	mov    %eax,0x90(%ebx)
54e020:	33 c9                	xor    %ecx,%ecx
54e022:	8b 93 88 00 00 00    	mov    0x88(%ebx),%edx
54e028:	8a 8b e4 00 00 00    	mov    0xe4(%ebx),%cl
54e02e:	8b 04 8d f8 bd 69 00 	mov    0x69bdf8(,%ecx,4),%eax
54e035:	8b 0c 8d dc bd 69 00 	mov    0x69bddc(,%ecx,4),%ecx
54e03c:	03 c2                	add    %edx,%eax
54e03e:	33 d2                	xor    %edx,%edx
54e040:	8a 93 e4 00 00 00    	mov    0xe4(%ebx),%dl
54e046:	48                   	dec    %eax
54e047:	2b c1                	sub    %ecx,%eax
54e049:	8b 0c 95 f8 bd 69 00 	mov    0x69bdf8(,%edx,4),%ecx
54e050:	33 d2                	xor    %edx,%edx
54e052:	f7 f1                	div    %ecx
54e054:	8b f0                	mov    %eax,%esi
54e056:	89 b3 a0 00 00 00    	mov    %esi,0xa0(%ebx)
54e05c:	0f b6 bb e9 00 00 00 	movzbl 0xe9(%ebx),%edi
54e063:	0f af fe             	imul   %esi,%edi
54e066:	83 c7 07             	add    $0x7,%edi
54e069:	c1 ef 03             	shr    $0x3,%edi
54e06c:	47                   	inc    %edi
54e06d:	8b c7                	mov    %edi,%eax
54e06f:	89 83 9c 00 00 00    	mov    %eax,0x9c(%ebx)
54e075:	3b f8                	cmp    %eax,%edi
54e077:	74 33                	je     0x54e0ac
54e079:	ba ae bc 69 00       	mov    $0x69bcae,%edx
54e07e:	8b c3                	mov    %ebx,%eax
54e080:	e8 3b ce ff ff       	call   0x54aec0
54e085:	eb 25                	jmp    0x54e0ac
54e087:	8b 93 8c 00 00 00    	mov    0x8c(%ebx),%edx
54e08d:	89 93 90 00 00 00    	mov    %edx,0x90(%ebx)
54e093:	8b 8b 88 00 00 00    	mov    0x88(%ebx),%ecx
54e099:	89 8b a0 00 00 00    	mov    %ecx,0xa0(%ebx)
54e09f:	8b 83 98 00 00 00    	mov    0x98(%ebx),%eax
54e0a5:	40                   	inc    %eax
54e0a6:	89 83 9c 00 00 00    	mov    %eax,0x9c(%ebx)
54e0ac:	0f b6 b3 e9 00 00 00 	movzbl 0xe9(%ebx),%esi
54e0b3:	8b 43 30             	mov    0x30(%ebx),%eax
54e0b6:	a8 04                	test   $0x4,%al
54e0b8:	74 10                	je     0x54e0ca
54e0ba:	8a 93 e7 00 00 00    	mov    0xe7(%ebx),%dl
54e0c0:	80 fa 08             	cmp    $0x8,%dl
54e0c3:	73 05                	jae    0x54e0ca
54e0c5:	be 08 00 00 00       	mov    $0x8,%esi
54e0ca:	f6 c4 10             	test   $0x10,%ah
54e0cd:	74 63                	je     0x54e132
54e0cf:	8a 83 e6 00 00 00    	mov    0xe6(%ebx),%al
54e0d5:	3c 03                	cmp    $0x3,%al
54e0d7:	75 18                	jne    0x54e0f1
54e0d9:	66 83 bb da 00 00 00 	cmpw   $0x0,0xda(%ebx)
54e0e0:	00
54e0e1:	74 07                	je     0x54e0ea
54e0e3:	be 20 00 00 00       	mov    $0x20,%esi
54e0e8:	eb 48                	jmp    0x54e132
54e0ea:	be 18 00 00 00       	mov    $0x18,%esi
54e0ef:	eb 41                	jmp    0x54e132
54e0f1:	84 c0                	test   %al,%al
54e0f3:	75 1c                	jne    0x54e111
54e0f5:	83 fe 08             	cmp    $0x8,%esi
54e0f8:	7d 05                	jge    0x54e0ff
54e0fa:	be 08 00 00 00       	mov    $0x8,%esi
54e0ff:	66 83 bb da 00 00 00 	cmpw   $0x0,0xda(%ebx)
54e106:	00
54e107:	74 29                	je     0x54e132
54e109:	8b c6                	mov    %esi,%eax
54e10b:	03 c0                	add    %eax,%eax
54e10d:	89 c6                	mov    %eax,%esi
54e10f:	eb 21                	jmp    0x54e132
54e111:	3c 02                	cmp    $0x2,%al
54e113:	75 1d                	jne    0x54e132
54e115:	66 83 bb da 00 00 00 	cmpw   $0x0,0xda(%ebx)
54e11c:	00
54e11d:	74 13                	je     0x54e132