404e82:	5f                   	pop    %edi
404e83:	5e                   	pop    %esi
404e84:	5b                   	pop    %ebx
404e85:	e9 4a da ff ff       	jmp    0x4028d4
404e8a:	89 d8                	mov    %ebx,%eax
404e8c:	8b 16                	mov    (%esi),%edx
404e8e:	e8 25 f3 ff ff       	call   0x4041b8
404e93:	83 c3 04             	add    $0x4,%ebx
404e96:	83 c6 04             	add    $0x4,%esi
404e99:	4d                   	dec    %ebp
404e9a:	75 ee                	jne    0x404e8a
404e9c:	e9 8e 00 00 00       	jmp    0x404f2f
404ea1:	89 d8                	mov    %ebx,%eax
404ea3:	8b 16                	mov    (%esi),%edx
404ea5:	e8 02 fa ff ff       	call   0x4048ac
404eaa:	83 c3 04             	add    $0x4,%ebx
404ead:	83 c6 04             	add    $0x4,%esi
404eb0:	4d                   	dec    %ebp
404eb1:	75 ee                	jne    0x404ea1
404eb3:	eb 7a                	jmp    0x404f2f
404eb5:	89 d8                	mov    %ebx,%eax
404eb7:	89 f2                	mov    %esi,%edx
404eb9:	e8 52 fe ff ff       	call   0x404d10
404ebe:	83 c3 10             	add    $0x10,%ebx
404ec1:	83 c6 10             	add    $0x10,%esi
404ec4:	4d                   	dec    %ebp
404ec5:	75 ee                	jne    0x404eb5
404ec7:	eb 66                	jmp    0x404f2f
404ec9:	31 c9                	xor    %ecx,%ecx
404ecb:	8a 4f 01             	mov    0x1(%edi),%cl
404ece:	8d 7c 39 02          	lea    0x2(%ecx,%edi,1),%edi
404ed2:	89 d8                	mov    %ebx,%eax
404ed4:	89 f2                	mov    %esi,%edx
404ed6:	8b 4f 08             	mov    0x8(%edi),%ecx
404ed9:	ff 77 04             	push   0x4(%edi)
404edc:	e8 63 ff ff ff       	call   0x404e44
404ee1:	03 1f                	add    (%edi),%ebx
404ee3:	03 37                	add    (%edi),%esi
404ee5:	4d                   	dec    %ebp
404ee6:	75 ea                	jne    0x404ed2
404ee8:	eb 45                	jmp    0x404f2f
404eea:	89 d8                	mov    %ebx,%eax
404eec:	89 f2                	mov    %esi,%edx
404eee:	89 f9                	mov    %edi,%ecx
404ef0:	e8 33 fe ff ff       	call   0x404d28
404ef5:	31 c0                	xor    %eax,%eax
404ef7:	8a 47 01             	mov    0x1(%edi),%al
404efa:	03 5c 38 02          	add    0x2(%eax,%edi,1),%ebx
404efe:	03 74 38 02          	add    0x2(%eax,%edi,1),%esi
404f02:	4d                   	dec    %ebp
404f03:	75 e5                	jne    0x404eea
404f05:	eb 28                	jmp    0x404f2f
404f07:	89 d8                	mov    %ebx,%eax
404f09:	8b 16                	mov    (%esi),%edx
404f0b:	e8 7c 0e 00 00       	call   0x405d8c
404f10:	83 c3 04             	add    $0x4,%ebx
404f13:	83 c6 04             	add    $0x4,%esi
404f16:	4d                   	dec    %ebp
404f17:	75 ee                	jne    0x404f07
404f19:	eb 14                	jmp    0x404f2f
404f1b:	89 d8                	mov    %ebx,%eax
404f1d:	8b 16                	mov    (%esi),%edx
404f1f:	89 f9                	mov    %edi,%ecx
404f21:	e8 d2 07 00 00       	call   0x4056f8
404f26:	83 c3 04             	add    $0x4,%ebx
404f29:	83 c6 04             	add    $0x4,%esi
404f2c:	4d                   	dec    %ebp
404f2d:	75 ec                	jne    0x404f1b
404f2f:	5d                   	pop    %ebp
404f30:	5f                   	pop    %edi
404f31:	5e                   	pop    %esi
404f32:	5b                   	pop    %ebx
404f33:	c2 04 00             	ret    $0x4
404f36:	c3                   	ret
404f37:	90                   	nop
404f38:	52                   	push   %edx
404f39:	e8 3a d8 ff ff       	call   0x402778
404f3e:	5a                   	pop    %edx
404f3f:	85 c0                	test   %eax,%eax
404f41:	74 07                	je     0x404f4a
404f43:	50                   	push   %eax
404f44:	e8 77 fc ff ff       	call   0x404bc0
404f49:	58                   	pop    %eax
404f4a:	c3                   	ret
404f4b:	90                   	nop
404f4c:	50                   	push   %eax
404f4d:	e8 b2 fd ff ff       	call   0x404d04
404f52:	58                   	pop    %eax
404f53:	e8 40 d8 ff ff       	call   0x402798
404f58:	c3                   	ret
404f59:	8d 40 00             	lea    0x0(%eax),%eax
404f5c:	91                   	xchg   %eax,%ecx
404f5d:	87 ca                	xchg   %ecx,%edx
404f5f:	e8 5c f3 ff ff       	call   0x4042c0
404f64:	c3                   	ret
404f65:	8d 40 00             	lea    0x0(%eax),%eax
404f68:	53                   	push   %ebx
404f69:	56                   	push   %esi
404f6a:	51                   	push   %ecx
404f6b:	8b f2                	mov    %edx,%esi
404f6d:	8b d8                	mov    %eax,%ebx
404f6f:	89 1c 24             	mov    %ebx,(%esp)
404f72:	8b 04 24             	mov    (%esp),%eax
404f75:	e8 62 fa ff ff       	call   0x4049dc
404f7a:	8b d0                	mov    %eax,%edx
404f7c:	8b ce                	mov    %esi,%ecx
404f7e:	8b c3                	mov    %ebx,%eax
404f80:	e8 d7 ff ff ff       	call   0x404f5c
404f85:	5a                   	pop    %edx
404f86:	5e                   	pop    %esi
404f87:	5b                   	pop    %ebx
404f88:	c3                   	ret
404f89:	8d 40 00             	lea    0x0(%eax),%eax
404f8c:	53                   	push   %ebx
404f8d:	51                   	push   %ecx
404f8e:	8b d8                	mov    %eax,%ebx
404f90:	33 c0                	xor    %eax,%eax
404f92:	89 04 24             	mov    %eax,(%esp)
404f95:	8b c3                	mov    %ebx,%eax
404f97:	e8 88 f4 ff ff       	call   0x404424
404f9c:	8b c8                	mov    %eax,%ecx
404f9e:	8b c4                	mov    %esp,%eax
404fa0:	8b d3                	mov    %ebx,%edx
404fa2:	e8 29 f9 ff ff       	call   0x4048d0
404fa7:	8b 04 24             	mov    (%esp),%eax
404faa:	5a                   	pop    %edx
404fab:	5b                   	pop    %ebx
404fac:	c3                   	ret
404fad:	8d 40 00             	lea    0x0(%eax),%eax
404fb0:	b0 11                	mov    $0x11,%al
404fb2:	e9 1d d9 ff ff       	jmp    0x4028d4
404fb7:	c3                   	ret
404fb8:	52                   	push   %edx
404fb9:	50                   	push   %eax
404fba:	8b 44 24 10          	mov    0x10(%esp),%eax
404fbe:	f7 24 24             	mull   (%esp)
404fc1:	89 c1                	mov    %eax,%ecx
404fc3:	8b 44 24 04          	mov    0x4(%esp),%eax
404fc7:	f7 64 24 0c          	mull   0xc(%esp)
404fcb:	01 c1                	add    %eax,%ecx
404fcd:	8b 04 24             	mov    (%esp),%eax
404fd0:	f7 64 24 0c          	mull   0xc(%esp)
404fd4:	01 ca                	add    %ecx,%edx
404fd6:	59                   	pop    %ecx
404fd7:	59                   	pop    %ecx
404fd8:	c2 08 00             	ret    $0x8
404fdb:	c3                   	ret
404fdc:	55                   	push   %ebp
404fdd:	53                   	push   %ebx
404fde:	56                   	push   %esi
404fdf:	57                   	push   %edi
404fe0:	31 ff                	xor    %edi,%edi
404fe2:	8b 5c 24 14          	mov    0x14(%esp),%ebx
404fe6:	8b 4c 24 18          	mov    0x18(%esp),%ecx
404fea:	09 c9                	or     %ecx,%ecx
404fec:	75 08                	jne    0x404ff6
404fee:	09 d2                	or     %edx,%edx
404ff0:	74 5c                	je     0x40504e
404ff2:	09 db                	or     %ebx,%ebx
404ff4:	74 58                	je     0x40504e
404ff6:	09 d2                	or     %edx,%edx
404ff8:	79 0a                	jns    0x405004
404ffa:	f7 da                	neg    %edx
404ffc:	f7 d8                	neg    %eax
404ffe:	83 da 00             	sbb    $0x0,%edx
405001:	83 cf 01             	or     $0x1,%edi
405004:	09 c9                	or     %ecx,%ecx
405006:	79 0a                	jns    0x405012
405008:	f7 d9                	neg    %ecx
40500a:	f7 db                	neg    %ebx
40500c:	83 d9 00             	sbb    $0x0,%ecx
40500f:	83 f7 01             	xor    $0x1,%edi
405012:	89 cd                	mov    %ecx,%ebp
405014:	b9 40 00 00 00       	mov    $0x40,%ecx
405019:	57                   	push   %edi
40501a:	31 ff                	xor    %edi,%edi
40501c:	31 f6                	xor    %esi,%esi
40501e:	d1 e0                	shl    $1,%eax
405020:	d1 d2                	rcl    $1,%edx
405022:	d1 d6                	rcl    $1,%esi
405024:	d1 d7                	rcl    $1,%edi
405026:	39 ef                	cmp    %ebp,%edi
405028:	72 0b                	jb     0x405035
40502a:	77 04                	ja     0x405030
40502c:	39 de                	cmp    %ebx,%esi
40502e:	72 05                	jb     0x405035
405030:	29 de                	sub    %ebx,%esi
405032:	19 ef                	sbb    %ebp,%edi
405034:	40                   	inc    %eax
405035:	e2 e7                	loop   0x40501e
405037:	5b                   	pop    %ebx
405038:	f7 c3 01 00 00 00    	test   $0x1,%ebx
40503e:	74 07                	je     0x405047
405040:	f7 da                	neg    %edx
405042:	f7 d8                	neg    %eax
405044:	83 da 00             	sbb    $0x0,%edx
405047:	5f                   	pop    %edi
405048:	5e                   	pop    %esi
405049:	5b                   	pop    %ebx
40504a:	5d                   	pop    %ebp
40504b:	c2 08 00             	ret    $0x8
40504e:	f7 f3                	div    %ebx
405050:	31 d2                	xor    %edx,%edx
405052:	eb f3                	jmp    0x405047
405054:	c3                   	ret
405055:	8d 40 00             	lea    0x0(%eax),%eax
405058:	55                   	push   %ebp
405059:	53                   	push   %ebx
40505a:	56                   	push   %esi
40505b:	57                   	push   %edi
40505c:	31 ff                	xor    %edi,%edi
40505e:	8b 5c 24 14          	mov    0x14(%esp),%ebx
405062:	8b 4c 24 18          	mov    0x18(%esp),%ecx
405066:	09 c9                	or     %ecx,%ecx
405068:	75 08                	jne    0x405072
40506a:	09 d2                	or     %edx,%edx
40506c:	74 5d                	je     0x4050cb
40506e:	09 db                	or     %ebx,%ebx
405070:	74 59                	je     0x4050cb
405072:	09 d2                	or     %edx,%edx
405074:	79 0a                	jns    0x405080
405076:	f7 da                	neg    %edx
405078:	f7 d8                	neg    %eax
40507a:	83 da 00             	sbb    $0x0,%edx
40507d:	83 cf 01             	or     $0x1,%edi
405080:	09 c9                	or     %ecx,%ecx
405082:	79 07                	jns    0x40508b
405084:	f7 d9                	neg    %ecx
405086:	f7 db                	neg    %ebx
405088:	83 d9 00             	sbb    $0x0,%ecx
40508b:	89 cd                	mov    %ecx,%ebp
40508d:	b9 40 00 00 00       	mov    $0x40,%ecx
405092:	57                   	push   %edi
405093:	31 ff                	xor    %edi,%edi
405095:	31 f6                	xor    %esi,%esi
405097:	d1 e0                	shl    $1,%eax
405099:	d1 d2                	rcl    $1,%edx
40509b:	d1 d6                	rcl    $1,%esi
40509d:	d1 d7                	rcl    $1,%edi
40509f:	39 ef                	cmp    %ebp,%edi
4050a1:	72 0b                	jb     0x4050ae
4050a3:	77 04                	ja     0x4050a9
4050a5:	39 de                	cmp    %ebx,%esi
4050a7:	72 05                	jb     0x4050ae
4050a9:	29 de                	sub    %ebx,%esi
4050ab:	19 ef                	sbb    %ebp,%edi
4050ad:	40                   	inc    %eax
4050ae:	e2 e7                	loop   0x405097
4050b0:	89 f0                	mov    %esi,%eax
4050b2:	89 fa                	mov    %edi,%edx
4050b4:	5b                   	pop    %ebx
4050b5:	f7 c3 01 00 00 00    	test   $0x1,%ebx
4050bb:	74 07                	je     0x4050c4
4050bd:	f7 da                	neg    %edx
4050bf:	f7 d8                	neg    %eax
4050c1:	83 da 00             	sbb    $0x0,%edx
4050c4:	5f                   	pop    %edi
4050c5:	5e                   	pop    %esi
4050c6:	5b                   	pop    %ebx
4050c7:	5d                   	pop    %ebp
4050c8:	c2 08 00             	ret    $0x8
4050cb:	f7 f3                	div    %ebx
4050cd:	92                   	xchg   %eax,%edx
4050ce:	31 d2                	xor    %edx,%edx
4050d0:	eb f2                	jmp    0x4050c4
4050d2:	c3                   	ret
4050d3:	90                   	nop
4050d4:	55                   	push   %ebp
4050d5:	8b ec                	mov    %esp,%ebp
4050d7:	83 c4 dc             	add    $0xffffffdc,%esp
4050da:	53                   	push   %ebx
4050db:	56                   	push   %esi
4050dc:	57                   	push   %edi
4050dd:	8b f2                	mov    %edx,%esi
4050df:	8b f8                	mov    %eax,%edi
4050e1:	33 db                	xor    %ebx,%ebx
4050e3:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4050e7:	75 09                	jne    0x4050f2
4050e9:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4050ed:	0f 92 c0             	setb   %al
4050f0:	eb 03                	jmp    0x4050f5
4050f2:	0f 9c c0             	setl   %al
4050f5:	88 45 ff             	mov    %al,-0x1(%ebp)
4050f8:	6a 00                	push   $0x0
4050fa:	6a 0a                	push   $0xa
4050fc:	8b 45 08             	mov    0x8(%ebp),%eax
4050ff:	8b 55 0c             	mov    0xc(%ebp),%edx
405102:	e8 51 ff ff ff       	call   0x405058
405107:	85 d2                	test   %edx,%edx
405109:	7d 07                	jge    0x405112
40510b:	f7 d8                	neg    %eax
40510d:	83 d2 00             	adc    $0x0,%edx
405110:	f7 da                	neg    %edx
405112:	83 c0 30             	add    $0x30,%eax
405115:	83 d2 00             	adc    $0x0,%edx
405118:	88 44 1d df          	mov    %al,-0x21(%ebp,%ebx,1)
40511c:	43                   	inc    %ebx
40511d:	6a 00                	push   $0x0
40511f:	6a 0a                	push   $0xa
405121:	8b 45 08             	mov    0x8(%ebp),%eax
405124:	8b 55 0c             	mov    0xc(%ebp),%edx
405127:	e8 b0 fe ff ff       	call   0x404fdc
40512c:	89 45 08             	mov    %eax,0x8(%ebp)
40512f:	89 55 0c             	mov    %edx,0xc(%ebp)
405132:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
405136:	75 c0                	jne    0x4050f8
405138:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40513c:	75 ba                	jne    0x4050f8
40513e:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
405142:	74 06                	je     0x40514a
405144:	c6 44 1d df 2d       	movb   $0x2d,-0x21(%ebp,%ebx,1)
405149:	43                   	inc    %ebx
40514a:	81 ff ff 00 00 00    	cmp    $0xff,%edi
405150:	7e 05                	jle    0x405157
405152:	bf ff 00 00 00       	mov    $0xff,%edi
405157:	b8 01 00 00 00       	mov    $0x1,%eax
40515c:	8b d7                	mov    %edi,%edx
40515e:	2b d3                	sub    %ebx,%edx
405160:	3b d0                	cmp    %eax,%edx
405162:	7c 09                	jl     0x40516d
405164:	c6 04 06 20          	movb   $0x20,(%esi,%eax,1)
405168:	40                   	inc    %eax
405169:	3b d0                	cmp    %eax,%edx
40516b:	7d f7                	jge    0x405164
40516d:	85 db                	test   %ebx,%ebx
40516f:	7e 0d                	jle    0x40517e
405171:	4b                   	dec    %ebx
405172:	8a 54 1d df          	mov    -0x21(%ebp,%ebx,1),%dl
405176:	88 14 06             	mov    %dl,(%esi,%eax,1)
405179:	40                   	inc    %eax
40517a:	85 db                	test   %ebx,%ebx
40517c:	7f f3                	jg     0x405171
40517e:	8b d0                	mov    %eax,%edx
405180:	4a                   	dec    %edx
405181:	8b c6                	mov    %esi,%eax
405183:	e8 78 d9 ff ff       	call   0x402b00
405188:	5f                   	pop    %edi
405189:	5e                   	pop    %esi
40518a:	5b                   	pop    %ebx
40518b:	8b e5                	mov    %ebp,%esp
40518d:	5d                   	pop    %ebp
40518e:	c2 08 00             	ret    $0x8
405191:	8d 40 00             	lea    0x0(%eax),%eax
405194:	55                   	push   %ebp
405195:	8b ec                	mov    %esp,%ebp
405197:	53                   	push   %ebx
405198:	8b d8                	mov    %eax,%ebx
40519a:	ff 75 0c             	push   0xc(%ebp)
40519d:	ff 75 08             	push   0x8(%ebp)
4051a0:	8b d3                	mov    %ebx,%edx